Flutter is a free and open-source mobile UI framework created by Google.This cross-platform development framework enables us to use the same codebase for different platforms like Android, iOS, Web, Desktop, etc. Flutter requires fewer efforts, lesser time, and smaller investments for app development.Flutter solves the most challenging part of the other cross-platform frameworks, i.e., getting rid of the BRIDGE. Flutter does not use the OEM widgets, it provides its own widgets.
This competency area includes handling user inputs, building user interface, asynchronous programming, data storage, handling remote data and lifecycle methods.
- Handling User Inputs - Using textfield to receive user input and handling the changes made to a textfield. Passing retrieved data using Navigator
- Responsive and beautiful User Interface - Applying theme data and custom fonts. Using material icons and implement simple animations. Refactoring and extracting widgets. Making the layout responsive using MediaQuery, LayoutBuilder, OrientationBuilder, Expanded and Flexible, aspect ratio, etc. to support support multiple device sizes and orientations
- Permissions - Asking for permissions to access user’s data.
- Asynchronous Programming - Understanding Future Operations and using async and await keywords for asynchronous operations
- Database - Using SharedPreferences and SQLite to store and retrieve data
- Working with remote data - Using the http package , perform networking and get live data from open APIs. Using model class and JSON parsing. Handling exceptions with try, catch or throw
- State Management and Lifecycle Methods - Managing state using InheritedWidget and Provider. Understanding Stateful Widget Lifecycle methods