All Topics You Must Know in Flutter
Flutter RoadMap
Let's discuss all topics one by one. You can comment what are the resources you can use for each topic.
Programming Language
Flutter uses the Dart as the which is a fast, object-oriented language. Before you start everything, you must have basic knowledge about Dart.
IDE
You can use any one of the following IDEs to develop Flutter apps.
- Android Studio
- IntelliJ Idea
- Visual Studio
- Codemagic
UI
We can design very beautiful UIs using the following components. mainly they can divide as widgets and assets.
Widgets
Widgets are classes used to build UIs. In a widget, we want to consider mainly, the current configuration and the current state. The main widget of the application is the runApp() widget. Other widgets are organized in the widget tree. Therefore the runApp() widget is always the root. This concept was inherited from react components. You can see a bunch of built-in widgets in Flutter SDK.
Assets
Applications utilize various types of assets(someone call resources) with code. But, some developers think the only assets are the image. Other assets are fonts, images, SVG, and audio/video. These resources are stored in the assets/ folder. Then you want to specify those assets in the pubspec.yaml file. Finally, you can use them in the code.
- assets/GEOA.png
Static User Interface
UIs can static or dynamic. Static UIs show data and have a minimum number of interactions. These kinds of UIs are easy to develop and in Flutter, you can achieve it with built-in components of the SDK. ViewGroups containing views with a set of widgets such as rows, columns, Stack, Expanded, Container, etc.
Dynamic User Interface
The UI is more dynamic with many widgets such as ExpantionTitle, ListView, and GridView. You need to study what are the behaviors of these components and how they handle by the code. But in programming, this ability will build with a long time of practice.
Animations
There are a lot of widgets to use Animations in your applications. We have discussed those animation widgets previously.
Storage
Storage is another basic and important function of an application. The application will store cache data implicitly. But we can store data using the
- Shared Preferences:
- SQLite Database:
- File Systems
3rd Party Libraries
Flutter allows you to integrate 3rd party UI packages with your app. You can add those libraries to pubspec.yaml and use them. Also, you can create your own libraries and contribute as a Flutter open-source developer. Flutter has so many libraries. Examples are shown in the image.
Behavior Components
These are another set of common behaviors of applications.
- Permission
- Local Notification
- Push Notification
- Download Manager
- Media Playback
In your applications, you need to solve any kind of playback issues such as playing videos and videos. Sometimes they are in local storage or need to plat remotely. These all issues can fix with playback libraries.
- Preference
State Management
This is a very important topic in Flutter. Because there have so many approaches that you can use to handle the states of the application. I have discussed some points about this. But it is not completed. You must learn about it deeply. I will show the link below.
Quality Assurance
First of all, you can do the tests manually. But, many problems will remain. So we use the testing automation tools for Flutter QA. Firebase provides you with an overall automatic testing tool using different devices. Another way, we can divide the app testing into three categories and complete the QA process.
- Unit Testing ( Every tiny part of the application separately).
- Widget Testing (Also known as component testing, test each widget).
- Integration Testing ( Test the integrated parts and the whole application).
Version Controlling
Version control, also known as resource control is the way to track and manage the changes in the project. We can achieve this with many common version control tools in Flutter. Git, GitHub, and BitBucket are some of them.
Firebase
You can integrate the firebase into the flutter. Separately in android and IOS. Firebase is a tool in which you can build your whole back end. Otherwise, you need to develop and host an API with another framework. Firebase has lots of possibilities that you can utilize in your app(Database, Storage, Authentication, Push Notifications, etc.
- Firebase Authentication
- Cloud Firestore
Conclusion
This story gives you knowledge about what are the important topics you have to cover in your Flutter journey. And I gave you some examples and a guide on how they cover. I hope you will use those in your Flutter journey. Please feel free to ask any question you will face in the response section below. Happy Coding !!!! Found this post useful? Kindly tap the ๐ button below!