0. IDE

  • Visual Studio Code, theme Monokai
  • Android Studio, theme GapStyles 2.2

1. Tutorial for Tabbed UI App

Top Navigation

  1. App with Tab bar on the top
  2. Make Persistent Tab

Bottom Navigation

  1. App with Tab bar on the bottom
  2. Make Persistent Tab for Bottom Navigation

App Template

Material Design:

  • See app_template_tabbed_ui folder.

iOS Design:

  • See app_template_tabbed_ui_iOS folder.

2. Handle buggy Package/Plugin

Packages from dartlang are buggy and have ton of bugs. What to do if our dependencies suck? Here is step by step guide:

Right click on package import file name, choose Reveal in Finder

Or Command + click on that file name to navigate to that file.

Then Right click anywhere in the file and choose "Reveal in Finder".

Normally it's located at ~/.pub-cache/hosted/pub.darlang.org/flutter_abc-0.4.1

Copy whole package folder to your app folder

For easy hijacking files, just copy all to your app folder, renaming version, etc.

For example: flutter_abc-0.4.1-hijacking

Now you can modify whatever you want to fix bug locally

Modify pubspec.yaml to point to local package

Open your project pubspec.yaml

Change path of dependencies to, for example:

  flutter_abc:
    path: ./flutter_abc-0.4.1-hijacking/

3. Common Flutter Build Errors

Flutter error Multiple commands produce '/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework

How to fix Opening the Runner workspace project in Xcode 10. Then navigate to File, Workspace Settings and change the build system to Legacy Build System.

Source

4. Built Value for generating code

Resources: https://github.com/tensor-programming/built_flutter_tutorial Git: https://github.com/google/built_value.dart Adding Live Template using the template provided in the website, then run the script from Android Studio console:

flutter packages pub run build_runner build

or watch the changes and update generated code using:

flutter packages pub run build_runner watch

More tutorial on built_value https://medium.com/dartlang/moving-fast-with-dart-immutable-values-1e717925fafb