Skip to content

Latest commit

 

History

History
61 lines (34 loc) · 4.26 KB

flutter.md

File metadata and controls

61 lines (34 loc) · 4.26 KB

FLUTTER TUTORIALS

Set up your development environment:

You can use your IDE/editor of choice. But we recommend using VS Code because it has a lot of useful extensions which you may not find on Android Studio/Intellij IDEA.

Setup VS Code for Flutter

The following is are a couple of useful extensions:

  • Awesome Flutter Snippets(provides commonly used snippets so that you don’t need to type the whole code for those by yourself every time)

  • Pubspec Assist(so that you don’t have to leave the comfort of your editor to get package names and versions)

  • GitLens for Github

State Management:

  • InheritedWidget: InheritedWidget is Flutter's way of making data available from widgets higher in the widget hierarchy to widgets lower in the hierarchy. This will help you get rid of the cumbersome way of accessing data down the widget hierarchy by passing it via parameters in all the constructors of the intermediate widgets.Provider builds on the concept of InheritedWidgets and makes them more reusable and easy to work with. Learning this will help you better understand the implementation of Provider.
  1. InheritedWidget documentation - DO check out the video on this page to understand how to work with InheritedWidget.
  2. Understand the need for InheritedWidget
  • Provider:
  1. Provider introduction

  2. Provider with services

  3. Dependency injection using Provider

  4. Provider documentation

  • Stacked(This is exactly the things you will learn from the above tutorials, but now it’s in a package which takes care of the boilerplate for you and makes writing your code easier):
  1. Stacked playlist on FilledStacks youtube channel

  2. Stacked documentation

  3. The stacked tutorials use code generation to remove the need for writing redundant code. Specifically, it uses two packages auto_route and injectable to generate code for routing and dependency injection respectively. You can check out the following videos:

  • Dependency Injection: Although provider can be used as a dependency injection solution as shown in the third video under the provider section, get_it is much simpler and easier to maintain the code.
  1. Dependency Injection using get_it

  2. get_it documentation

FlutterFire(Flutter & Firebase):

  1. FlutterFire documentation
  2. The Net Ninja's playlist on Firebase with Flutter - This is a good playlist to get started with Firebase in Flutter.
  3. Filledstacks' Firebase tutorial playlist - Firebase and Flutter using Provider and MVVM architecture. Knowledge of Provider and MVVM architecture is necessary to follow this playlist.
  4. Resocoder's Firebase tutorial playlist - Firebase and Flutter using Bloc. Knowledge of Bloc is required to follow this playlist.

P.S.: It is NOT necessary to go through all the videos in a playlist or learn about everything on a topic to work with it. It is perfectly fine to start with one thing, implement it, solve the errors and then go for the next thing.