Photo by JESHOOTS.COM on Unsplash
The technique described in the article can be applied to learn any language or framework. In fact, it can be applied to learn anything in life. I have used it all along to learn react, blockchain, dockers, creating music etc. However in this post, I will only talk about how I applied it to learn Flutter.
This technique takes you away from traditional ways taking a course and watching lengthy videos. Also, it won’t make you an expert but if you apply it over and over again, you can become an expert. If applied once, you can say that you know the basics and have somewhat experience in using flutter.
What to expect?
Post successful implementation of this technique, you will be basic knowledge of flutter and something to showcase your knowledge. It is a goal oriented technique and requires your attention only on those building blocks which helps you achieve your specific goal.
Without further ado let’s begin
- Setting a context - Read in general about the Flutter framework. What it is ? How it works ? Languages used etc. or just watch a video on youtube.
- Goal Setting - Come up with a small idea that you think can be built quickly like a to do list, a calculator or a quiz, it can be anything based on your choice and expertise.
- Project Structure - Understand how a typical flutter project is structured. You may want to understand, how to structure your code, where to add permissions, plugins , where to put assets. etc.
- Setting-up & Execution - This is the step where you need to have good research skills. Set up the development environment for flutter using the flutter official docs and break your target goal into sub components and learn how to implement those sub components. You will have to explore through the flutter documentation and other articles, to identify and learn what building blocks are required. But how will you know what building blocks are available ?
Google every question that you have in mind.
And it will direct you towards what building blocks are available. In case of flutter, everything is a widget. EVERYTHING!. You google the widgets, widget for creating a list, widget for layout, widget for page views etc. Below are the reference links that I used to learn and develop my app flutter. I believe these will be very helpful for anyone starting to learn flutter.
I have posted them on github as well ( which I will keep updating). Also, I would like thank all the developer beings :p and hard working people for producing all the resources.
Useful links -
Navigation Tabs
Navigation Tabs
ListView
ListView
https://medium.com/@DakshHub/flutter-displaying-dynamic-contents-using-listview-builder-f2cedb1a19fb
Routes
Routes
PageView
PageView
Story Demo
Story Demo
Building Layouts
Building Layouts
Text Styling
Text Styling
AppBar Sliver - Expandable view
AppBar Sliver - Expandable view
Splash Screen
Splash Screen
Version Code
Version Code
Firebase
Firebase
Layout Approach
Layout Approach
Database
Database
Variables
Variables
JSON parsing in Flutter/Dart
JSON parsing in Flutter/Dart
Assets
Assets
Shared prefs
Shared prefs
Async call
Async call
Stacks
Stacks
Share
Share
Others
Others
PageView as Gesture
PageView as Gesture
Animations
Animations
Intro Screens
Intro Screens
Navigation
Navigation
Flutter Android Build & Signing
Flutter Android Build & Signing
https://flutter.dev/docs/deployment/android#build-an-apk
https://medium.com/flutterpub/flutter-andorid-keystore-path-on-different-os-d0fc30a24d4f
https://medium.com/flutterpub/flutter-andorid-keystore-path-on-different-os-d0fc30a24d4f
Rendering, Widgets, etc
Rendering, Widgets, etc
Stream builder/cloud firestorm
Stream builder/cloud firestorm
Cheers!