Convert Figma logo to code with AI

FilledStacks logoflutter-tutorials

The repo contains the source code for all the tutorials on the FilledStacks Youtube channel.

4,741
1,758
4,741
50

Top Related Projects

164,677

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.

[Example APPS] Basic Flutter apps, for flutter devs.

TodoMVC for Flutter

completely free for everyone. Its build-in Flutter Dart.

A simple Flutter app to Read and Download eBooks.

Quick Overview

FilledStacks/flutter-tutorials is a comprehensive GitHub repository containing a collection of Flutter tutorials and example projects. It serves as a valuable resource for developers learning Flutter, offering practical implementations of various Flutter concepts and features.

Pros

  • Extensive collection of tutorials covering a wide range of Flutter topics
  • Well-organized repository structure with separate folders for different tutorials
  • Regularly updated with new content and examples
  • Includes both beginner-friendly and advanced tutorials

Cons

  • Some older tutorials may not reflect the latest Flutter best practices
  • Limited documentation outside of the code itself
  • May require prior knowledge of Dart and basic Flutter concepts
  • Some tutorials might be too specific for general learning purposes

Code Examples

Here are a few code snippets from different tutorials in the repository:

  1. Creating a custom dialog (from the custom_dialog tutorial):
showDialog(
  context: context,
  builder: (BuildContext context) => CustomDialog(
    title: "Success",
    description: "You have raised a Alert Dialog.",
    buttonText: "Okay",
  ),
);
  1. Implementing a responsive layout (from the responsive_architecture tutorial):
class ResponsiveBuilder extends StatelessWidget {
  final Widget Function(
    BuildContext context,
    SizingInformation sizingInformation,
  ) builder;
  const ResponsiveBuilder({Key key, this.builder}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return LayoutBuilder(builder: (context, boxConstraints) {
      var mediaQuery = MediaQuery.of(context);
      var sizingInformation = SizingInformation(
        deviceScreenType: getDeviceType(mediaQuery),
        screenSize: mediaQuery.size,
        localWidgetSize:
            Size(boxConstraints.maxWidth, boxConstraints.maxHeight),
      );
      return builder(context, sizingInformation);
    });
  }
}
  1. Setting up a basic Riverpod provider (from the provider_architecture_remake tutorial):
final counterProvider = StateNotifierProvider<CounterNotifier, int>((ref) {
  return CounterNotifier();
});

class CounterNotifier extends StateNotifier<int> {
  CounterNotifier() : super(0);

  void increment() => state++;
  void decrement() => state--;
}

Getting Started

To get started with the FilledStacks/flutter-tutorials repository:

  1. Clone the repository:
    git clone https://github.com/FilledStacks/flutter-tutorials.git
    
  2. Navigate to a specific tutorial folder:
    cd flutter-tutorials/010-provider-architecture
    
  3. Run flutter pub get to install dependencies
  4. Open the project in your preferred IDE and explore the code
  5. Run the app using flutter run or through your IDE

Note that each tutorial may have specific setup instructions, so be sure to check the README file in each tutorial folder for more details.

Competitor Comparisons

164,677

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

Pros of flutter

  • Official Flutter SDK repository with comprehensive documentation
  • Larger community and more frequent updates
  • Includes core Flutter framework code and tools

Cons of flutter

  • Can be overwhelming for beginners due to its size and complexity
  • Less focused on specific tutorials or learning paths
  • May require more time to navigate and find relevant information

Code comparison

flutter:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

flutter-tutorials:

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

void main() => runApp(MyApp());

Summary

flutter is the official Flutter SDK repository, offering a comprehensive set of tools and documentation for Flutter development. It's regularly updated and maintained by the Flutter team and community.

flutter-tutorials, on the other hand, is a collection of tutorials and example projects created by FilledStacks. It focuses on practical implementations and learning resources for Flutter developers.

While flutter provides the core framework and tools, flutter-tutorials offers more targeted learning materials and real-world examples. Beginners might find flutter-tutorials more approachable, while advanced developers may prefer the depth and breadth of flutter.

The code comparison shows that flutter-tutorials often includes additional packages like Provider, demonstrating more complex app architectures, while flutter focuses on core Flutter functionality.

An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.

Pros of awesome-flutter

  • Comprehensive collection of Flutter resources, libraries, and tools
  • Regularly updated with community contributions
  • Well-organized categories for easy navigation

Cons of awesome-flutter

  • Lacks in-depth tutorials or step-by-step guides
  • May be overwhelming for beginners due to the sheer volume of information

Code comparison

flutter-tutorials:

class HomeView extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: Text('Home View')),
    );
  }
}

awesome-flutter:

// No specific code examples provided in the repository
// It primarily serves as a curated list of resources

Summary

flutter-tutorials focuses on providing detailed, hands-on tutorials for Flutter development, making it ideal for beginners and those looking to improve their skills through practical examples. It offers a structured learning path with code samples and explanations.

awesome-flutter, on the other hand, serves as a comprehensive directory of Flutter resources, libraries, and tools. It's an excellent reference for developers of all levels, offering a wide range of options for various Flutter development needs. However, it doesn't provide direct tutorials or code examples like flutter-tutorials does.

Both repositories complement each other well, with flutter-tutorials offering practical learning experiences and awesome-flutter providing a vast collection of resources to enhance Flutter development.

[Example APPS] Basic Flutter apps, for flutter devs.

Pros of FlutterExampleApps

  • Offers a wider variety of example apps, covering more diverse use cases
  • Includes more complex and feature-rich applications
  • Provides examples of integrating with various third-party services and APIs

Cons of FlutterExampleApps

  • Less structured learning path compared to flutter-tutorials
  • May lack in-depth explanations or tutorials for each example
  • Some examples might be outdated or not following the latest Flutter best practices

Code Comparison

flutter-tutorials:

class HomeViewModel extends BaseViewModel {
  final _api = locator<Api>();
  List<Post> posts;

  Future fetchPosts() async {
    setBusy(true);
    posts = await _api.getPosts();
    setBusy(false);
  }
}

FlutterExampleApps:

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Home')),
      body: Center(child: Text('Welcome to Flutter')),
    );
  }
}

The code snippets show that flutter-tutorials focuses more on architecture and state management, while FlutterExampleApps tends to provide simpler, more UI-focused examples. flutter-tutorials uses a ViewModel approach, whereas FlutterExampleApps often uses stateless widgets for basic UI demonstrations.

TodoMVC for Flutter

Pros of flutter_architecture_samples

  • Focuses on different architectural patterns, providing a comprehensive overview of various approaches
  • Includes multiple implementations of the same app, allowing for direct comparison between architectures
  • Maintained by a well-known Flutter community member, ensuring quality and up-to-date examples

Cons of flutter_architecture_samples

  • Less diverse in terms of topics covered, primarily focusing on architecture
  • May be more challenging for beginners due to its focus on advanced architectural concepts
  • Updates less frequently compared to flutter-tutorials

Code Comparison

flutter_architecture_samples (BLoC pattern):

class TodosBloc extends Bloc<TodosEvent, TodosState> {
  TodosBloc() : super(TodosLoadInProgress()) {
    on<TodosLoaded>(_onTodosLoaded);
    on<TodoAdded>(_onTodoAdded);
  }
  // ...
}

flutter-tutorials (Provider pattern):

class HomeViewModel extends ChangeNotifier {
  final _api = locator<Api>();
  List<Post> posts;

  Future fetchPosts() async {
    posts = await _api.getPosts();
    notifyListeners();
  }
}

Both repositories offer valuable resources for Flutter developers. flutter_architecture_samples excels in demonstrating various architectural patterns, while flutter-tutorials covers a broader range of topics and may be more accessible to beginners. The choice between them depends on the developer's specific learning goals and experience level.

completely free for everyone. Its build-in Flutter Dart.

Pros of Best-Flutter-UI-Templates

  • Focuses on UI templates, providing ready-to-use designs for various app types
  • Includes a wider variety of UI components and layouts
  • Offers more visually appealing and polished designs out-of-the-box

Cons of Best-Flutter-UI-Templates

  • Less emphasis on in-depth tutorials and explanations
  • May not cover as many Flutter concepts and features
  • Potentially less suitable for beginners learning Flutter development

Code Comparison

Best-Flutter-UI-Templates:

class DesignCourseAppTheme {
  static const Color notWhite = Color(0xFFEDF0F2);
  static const Color nearlyWhite = Color(0xFFFFFFFF);
  static const Color nearlyBlue = Color(0xFF00B6F0);
  static const Color nearlyBlack = Color(0xFF213333);
}

flutter-tutorials:

class AppTheme {
  static const Color primary = Color(0xFF3F51B5);
  static const Color accent = Color(0xFFFF4081);
  static const Color background = Color(0xFFF5F5F5);
  static const Color text = Color(0xFF212121);
}

The code comparison shows that Best-Flutter-UI-Templates tends to use more specific color naming conventions and a wider range of colors, while flutter-tutorials uses a more straightforward approach with common theme color names. This reflects the focus on detailed UI design in Best-Flutter-UI-Templates versus the more general-purpose approach in flutter-tutorials.

A simple Flutter app to Read and Download eBooks.

Pros of FlutterEbookApp

  • Focused on a specific application (e-book reader), providing a complete, real-world example
  • Includes features like PDF viewing, favorites, and search functionality
  • Demonstrates integration with external APIs for fetching book data

Cons of FlutterEbookApp

  • Limited in scope to a single application type, potentially less versatile for learning various Flutter concepts
  • May not cover as wide a range of Flutter topics as flutter-tutorials
  • Less frequently updated compared to flutter-tutorials

Code Comparison

FlutterEbookApp:

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('E-Book Reader')),
      body: BookList(),
    );
  }
}

flutter-tutorials:

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Flutter Tutorial')),
      body: Center(child: Text('Welcome to Flutter!')),
    );
  }
}

The FlutterEbookApp code shows a more specific implementation for an e-book reader, while flutter-tutorials provides a more generic example that can be adapted to various tutorial topics.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Flutter tutorials

The repo contains the source code for all the written tutorials by Filledstacks.

All Tutorials plus additional snippets and shorter posts can be found on the Official FilledStacks website.

Products

Flutter Web Mastery course

** Important **

When you want to run any of the code first run

flutter create .

In the repo to generate the platform projects for the tutorials.

Tutorials

087 - How to Build a Flutter Website in 2023 [ Video ] [ Source ] [ Written ] - The updated tutorial for building a Flutter Website

086 - Flutter Website Nested Layouts and Custom URL's [ Video ] [ Source ] - The updated tutorial for building a Flutter Website

085 - 6 Tips to Make your Flutter Website feel Premium [ Video ] [ Written ] - 6 Tips you can apply to immediately make your Flutter Website feel more premium

066 - Login and Create Account Implementation [ Video ] [ Source ] [ Written ] - This tutorial goes over implementation we'll be using for Login and Create Account functionality.

064 - New Improved Stacked Setup [ Video ] [ Source ] - This tutorial goes over the new and improved stacked setup that includes navigation, dependency registration and the traditional stacked statemanagement.

063 - Firebase Authentication in 5 minutes [ Video ] [ Source ] - In this tutorial we setup the firebase authentication for a flutter app in 5 minutes

062 - Code overview for Firebase Backend [ Video ] - This tutorial goes over the code required to build a scalable firebase backend

061 - Planning a Firebase Backend [ Video ] - In this tutorial we go over a detailed plan for building a scalable backend using Firebase Cloud Functions.

060 - Making Technical decisions [ Video ] - In this tutorial we go over the thinking and reasoning behind making some of the technical decisions required when planning for a large scale product development

059 - Planning a Food Delivery Service [ Video ] - This tutorial goes over the planning for a food delivery product

058 - Bottom Sheet Service | Using Flutter Bottom Sheets without context [ Video ] [ Written ] [ Source ] - This tutorial goes over the usage of the new BottomSheetService in the stacked_services package.

057 - SQLite in Flutter | Migrations and Schema Management [ Video ] [ Written ] - This tutorial goes over the SQLite implementation used in our production applications. It shows the basics of SQLite. The meat of the tutorial comes from the schema management solution we use.

055 - Lottie Splash Screen in Flutter [ Video ] [ Written ] - A tutorial that shows you how to implement an animated splash screen using Lottie and delay the navigation until it's complete.

054 - Flutter Architecture Part 7 - Dialog Service [ Video ] [ Written ] [ Source Code ] - A complete guide to the setup of the basics for a starter stacked architecture project.

053 - Flutter Architecture Part 6 - Bottom Navigation with Stacked [ Video ] [ Written ] [ Source Code ] - A guide to implementing a bottom navigation bar using stacked.

052 - Flutter Architecture Part 5 - How to Mock - Unit Testing [ Video ] [ Written ] [ Source Code ] - A complete guide to mocking in unit testing, how it's used for tests and what they're used for.

051 - Flutter Architecture Part 4 - How to Unit test a Unit Testing intro [ Video ] [ Written ] [ Source Code ] - An intro to unit testing and how to set it up in Flutter.

050 - Flutter Architecture Part 3 - Flutter Services [ Video ] [ Written ] [ Source Code ] - A complete guide on services, service classes, what they are used for and how to use them.

049 - Flutter Architecture Part 2 - Stacked State Management scenarios [ Video ] [ Written ] [ Source Code ] - This tutorial goes over common state management situation encountered in a real world application

048 - Flutter Architecture Part 1 - Stacked, Routing and GetIt setup [ Video ] [ Written ] [ Source Code ] - A complete guide to the setup of the basics for a starter stacked architecture project.

047 - Firebase and Flutter Part 10 - Remote Config [ Video ] [ Written ] - This tutorial goes over remote config and how to manage it in a flutter project.

046 - Firebase and Flutter Part 9 - Dynamic Links in Flutter [ Video ] [ Written ] - This tutorial covers the use of dynamic links in flutter to perform auto routing and deep linking.

045 - Firebase and Flutter Part 8 - Realtime Paginated Data using Firestore [ Video ] [ Written ] - This tutorial shows the implementation of getting real time firebase data when impelementing an infinte scrolling view.

044 - Firebase and Flutter Part 7 - Analytics [ Video ] [ Written ] - This tutorial shows you how to add analytics into your Flutter app for live monitoring of your users.

043 - Firebase and Flutter Part 6 - Push Notifications using Cloud Messaging [ Video ] [ Written ] - This tutorial goes over my implementation of Push Notification in Flutter using Firebase Cloud Messaging.

042 - Firebase and Flutter - Part 5 - Firebase Cloud Storage [Video ] [ Written ] - In this tutorial we go over the implementation details of using Firebase Cloud Storage inside a Flutter application.

041 - Firebase and Flutter - Part 4 - Firestore Security Rules [ Video ] [ Written ] - This tutorial covers the implementation of Firestore security rules and how to test them.

040 - Firebase and Flutter - Part 3 - CRUD using Firestore [ Video ] [ Written ] - This tutorial goes over the CRUD implementation using Firestore. We Create documents, Read the collection, Delete documents and Update existing documents data through Flutter.

039 - Firebase and Flutter - Part 2 - Custom Startup Logic and User Profiles [ Video ] [ Written ] - This tutorial goes over the process of making sure we startup on the correct view and the logic behind adding a custom user profile.

038 - Firebase and Flutter - Part 1 - Basic Authentication [ Video ] [ Written ] - This tutorial covers the setup of a firebase project and the basic functionality to perform a login / sign up using Firebase email authentication.

037 - Flutter Web Development - Part 6 - Advanced URL navigation [ Video ] [ Written ] - In this video we cover URL navigation in Flutter Web that allows us to navigation within a template and pass in query parameters.

036 - Flutter Web Development - Part 5 - Hover Effects [ Video ] [ Written ] - This video goes over how to add hover effects into Flutter Web.

035 - Flutter Web Development - Part 4 - State and API integration [ Video ] [ Written ] - In this video we integrate the provider_architecture package and create a simple API class to fetch our data.

034 - Flutter Web Development - Part 3 - Template Layouts [ Video ] [ Written ] - This tutorial contains the code for a Flutter Template Layout for Web Development.

033 - Flutter Web Development - Part 2 - Responsive UI [ Video ] [ Written ] - This guide goes over adding responsiveness to your Flutter web UI

032 - Flutter Web Development - Part 1 [ Video ] [ Written ] - In this tutorial we create a Flutter web app, build a basic UI and deploy it to firestore.

031 - Flutter Responsive UI - Part 3 [ Video ] [ Written ] - This tutorial goes over the process of adding Provider on top of an existing Responsive UI framework for state management.

030 - Flutter Responsive UI - Part 2 [ Video ] [ Written ] - This tutorial / guide goes over how you can build a responsive UI architecture to allow for a maintainable and manageable multi platform code base.

029 - Flutter Responsive UI - Part 1 [ Video ] [ Written ] - This tutorial goes over the process of building a base widget that provides us with all the information to build a responsive UI.

028 - Flutter Continuous Scroll [ Video ] [ Written ] - This tutorial goes over how to create a continuous scrolling list in Flutter using index numbers and not the scroll controller.

027 - Flutter Location Service [ Video ] [ Written ] - This tutorial covers the should be common task of wrapping a set of functionality within a service. We build a location service that provides continuous updates using the Location package.

026 - Flutter stream basics. Absolute basics [ Video ] [ Written ] - This is a short tutorial that covers the creation, usage and management of streams. I also cover how to manually create Streams using async* functionality.

025 - Flutter navigation without BuildContext | Navigation Service [ Video ] [ Written ] - This tutorial covers the creation of a Navigation Service to move your navigation logic out of your UI files into the business logic files.

024 - Abstraction in Flutter Pt2 | Better unit tests using Abstraction [ Video ] [ Written ] - In this tutorial we go over how using Abstraction can make your unit tests better.

023 - Abstraction In Flutter Pt1 | How it can save hours of development time [ Video ] [ Written ] - This tutorial is part one of the abstraction series that will cover the benefits of abstraction in practical use cases. In this one we look at how using a second implementation of an interface that returns fake data can speed up your application development.

022 - Build a Lifecycle manager for Background behaviour in Flutter [ Video ] [ Written ] - In this tutorial I go over how to build and hook up a LifeCycle manager to the Flutter AppLifeCycle. We use that to start and stop services within our architecture when the app enters a background state or come back to the foreground.

021 - Build an architecture for your dialog management in Flutter [ Video ] [ Written ] - This tutorial guides you on how to create a dialog manager in Flutter that allows you to show and access information from dialogs from your business logic.

020 - A Guide to using Futures [ Video ] [ Written ] - This tutorial goes over the functionality provided by Futures and how to use it.

019 - Flutter animation Guide | Deep Dive | Flutter Hooks and Flutter Sequence Builder [ Written ] [ Video ] - This tutorial goes over every way you can organise your animation code using the provided flutter functionality. Then we go to Flutter hooks to help reduce the code and we look at the sequence builder to create some combined animations.

018 - Bottom Sheet Guide in Flutter [ Written ] [ Video ] - This tutorial goes over everything you need to know to effectively make use of the BottomSheet in your app.

017 - Better Logging in Flutter [ Written - Effective Logging ] [ Written - Setup Guide ] [ Video ] - This set of tutorials cover logging in Flutter. It shows you how to set it up, and it also gives you guidelines on where to use it and what to log when using it.

016 - Flutter Navigation using Named Routing [ Written ] [ Video ] - This tutorial guides you through everything you need to know about navigation in Flutter using named routing.

015 - Animated SplashScreen with Flare [ Written ] [ Video ] - This tutorial shows how to setup your splash following up with a nice intro animation built in Flare.

014 - Flutter Provider V3 Architecture using ProxyProvider [ Written ] [ Video ] - In this tutorial we implement a previously built app using Provider only and show how an architecture with dependency injection can be setup using the ProxyProvider.

013 - Flutter Dependency Injection for Beginners [ Written ] [ Video ] - In this tutorial I explain what dependency injection is in plain english and show three ways of implementing it in Flutter.

012 - Flutter Provider - Sharing Data Between Models using Services [ Written ] [ Video ] - In this tutorial I expand on my previous tutorial showing how you share data between models using services.

011 - Network Sensitive UI in Flutter using Provider and Connectivity [ Written ] [ Video ] - In this tutorial I create a network sensitive UI that shows different states based on the status of your connection.

010 - Flutter Architecture - A complete guide to Provider [ Written ] [ Video ] - In this tutorial / guide I cover the complete architecture to build a production app using the provider package for state management.

009 - Build a User Feedback app using Flutter and Firebase [ Written ] [ Video ] - In this tutorial I guide you through the steps to implement a real time user feedback app using firebase, flutter and the ScopedModel architecture.

008 - Building a Realtime stats monitor using Flutter and Firebase [ Written ] [ Video ] - In this tutorial I go over the steps for implementing a real time stats monitor for AppSkeletons

007 - Flutter Architecture - A complete guide to the ScopedModel architecture [ Written ] [ Video ] [ AppSkeletons ]- In this tutorial we'll lay the foundation to develop an application using Flutter and ScopedModel that's easy to maintain and extend.

006 - Flutter + (Smart)Flare - Building a Gooey side menu [ Source ] [ Video ] [ Animation ] [ Written (code only) ] - In this tutorial I go over the process of building a slide out menu in Flare. Then importing into Flutter and using SmartFlare to add some interactive functionality to it.

005 - Overflown Stacks - A Guide to basic navigation in Flutter using Navigator [ Video ] [ Written ] [ Source ] - This repo contains an implementation of basic navigation using the code snippets defined in the guide.

004 - Flutter Foundation - Handling Async behaviour - From setState to Architecture [ Written ] [ Source ] [ Video ] - In this tutorial I show how you to handle async functionality and all it's states starting with setState and working up to a reactive architecture using streams.

003 - Using SmartFlare for Flare animation interactions [ Video ] [ Written ] [ Package ] [ Source ] - In this tutorial I introduce my SmartFlare package that wraps normal FlareActors into a more interactable widget.

002 - Smarter Flare Animations in Flutter - An Experiment [ Video ] [ Written ] [ Source ] - In this tutorial we look at how to reduce animation boiler plate code in Flutter using some basic calculations and the Awesome Flare.

001 - Building a UI in Flutter - TikTok example: [ Video ] [ Written P1 ] [Written P2] [Source] - In this tutorial we break down the UI into Flutter Widgets, complete our layout and then tweak to get our final design to match our screenshots.