Phones and Apps
Flutter Roadmap
Submitted by alfalfa123, 24-12-2021, 01:06 AM, Thread ID: 229280
Thread Closed
RE: Flutter Roadmap
17-01-2022, 01:28 PM
#2 Step 1: Start with basics!
Dart is a wide language and will take time to master. Before jumping to apps, one should at least learn the basics of the Dart language. If you already know Java, the transition from Java to Dart will be pretty easy! Dont directly jump to Flutter without knowing Dart. Few concepts that you should learn:
Lists
Map
Lambda Function
mixins
await and async
Once you complete the basic dart concepts, feel free to explore Flutter.
Step 2: Get your hands dirty with UI Development!
Whenever we start a new language, we need the motivation to learn daily. When we first start with UI development, it gives relief. When the screen of your app 1st pops on your device and it is as expected, that is the time when you feel motivated! Also, there are many issues and errors a developer will face when working with UI Development in Flutter. So what can you do or how can you do UI Development?
Take any UI from Dribbble and implement the same in Flutter
Create clone apps like Whatsapp clone, TikTok clone, etc.
Step 3: Learn API Calls
Once you feel confident with UI Development, you should start with learning API Calls. APIs will always be needed whenever you create any apps. API calls can be done using different packages available like http, dio, retrofit, chopper, etc. The basic one is HTTP and other packages are a wrapper over HTTP with few more functionalities. You can choose any of them, but it's always good to start with http and then any other packages. You can get many fake APIs to integrate with your app from: https://jsonplaceholder.typicode.com
Once an API is integrated and an API call is made, you need to parse that API Response into a model class:
Parsing JSON in Flutter!
Working with APIs? The response usually comes in JSON format!
abhishekdoshi26.medium.com
Step 4: Learn Database Integration
Databases are an integral part of any app. There will always be a need to store certain data from your app. Some of the databases which can be used with Flutter:
Firebase
Supabase
SQFLite (Local database)
Hive (Local database)
Moor (Local database)
And many more
Step 5: Learn State Management
State Management is one of the most important concepts in Flutter. When our app grows in size and complexity, it becomes really difficult to manage the state of your screens and application. Lets say you want to pass data from Page 1 to Page 2. Thats easy. We can pass it during Navigation. But lets say you want to pass data from Page 1 to Page 5. In this case, state management is helpful! There are lots of State Management techniques and packages available. But dont stress yourself out! Use the one which you are comfortable with. You can start with Provider as this is one of the basic State Management Package.
Step 6: Learn Project Structure or Architecture
Maintaining a Project Structure is really important. It helps newbies to review the code quickly. It also helps to trace the bug easily or add or remove functionality as and when needed without breaking the current functionality. There are many predefined Architectures available like MVVM, MVC, TDD, etc. These are really great and created after proper research. But they are not compulsory to use. You can always create your own Architecture that is suitable for you and your team. Always remember to maintain the following points with your architecture:
KISS (Keep It Simple, Stupid!)
Scalable
Least inter-dependency between functionalities
Code reusability
Dart is a wide language and will take time to master. Before jumping to apps, one should at least learn the basics of the Dart language. If you already know Java, the transition from Java to Dart will be pretty easy! Dont directly jump to Flutter without knowing Dart. Few concepts that you should learn:
Lists
Map
Lambda Function
mixins
await and async
Once you complete the basic dart concepts, feel free to explore Flutter.
Step 2: Get your hands dirty with UI Development!
Whenever we start a new language, we need the motivation to learn daily. When we first start with UI development, it gives relief. When the screen of your app 1st pops on your device and it is as expected, that is the time when you feel motivated! Also, there are many issues and errors a developer will face when working with UI Development in Flutter. So what can you do or how can you do UI Development?
Take any UI from Dribbble and implement the same in Flutter
Create clone apps like Whatsapp clone, TikTok clone, etc.
Step 3: Learn API Calls
Once you feel confident with UI Development, you should start with learning API Calls. APIs will always be needed whenever you create any apps. API calls can be done using different packages available like http, dio, retrofit, chopper, etc. The basic one is HTTP and other packages are a wrapper over HTTP with few more functionalities. You can choose any of them, but it's always good to start with http and then any other packages. You can get many fake APIs to integrate with your app from: https://jsonplaceholder.typicode.com
Once an API is integrated and an API call is made, you need to parse that API Response into a model class:
Parsing JSON in Flutter!
Working with APIs? The response usually comes in JSON format!
abhishekdoshi26.medium.com
Step 4: Learn Database Integration
Databases are an integral part of any app. There will always be a need to store certain data from your app. Some of the databases which can be used with Flutter:
Firebase
Supabase
SQFLite (Local database)
Hive (Local database)
Moor (Local database)
And many more
Step 5: Learn State Management
State Management is one of the most important concepts in Flutter. When our app grows in size and complexity, it becomes really difficult to manage the state of your screens and application. Lets say you want to pass data from Page 1 to Page 2. Thats easy. We can pass it during Navigation. But lets say you want to pass data from Page 1 to Page 5. In this case, state management is helpful! There are lots of State Management techniques and packages available. But dont stress yourself out! Use the one which you are comfortable with. You can start with Provider as this is one of the basic State Management Package.
Step 6: Learn Project Structure or Architecture
Maintaining a Project Structure is really important. It helps newbies to review the code quickly. It also helps to trace the bug easily or add or remove functionality as and when needed without breaking the current functionality. There are many predefined Architectures available like MVVM, MVC, TDD, etc. These are really great and created after proper research. But they are not compulsory to use. You can always create your own Architecture that is suitable for you and your team. Always remember to maintain the following points with your architecture:
KISS (Keep It Simple, Stupid!)
Scalable
Least inter-dependency between functionalities
Code reusability
Users browsing this thread: 1 Guest(s)