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 understanding the structure of a flutter project, dart programming, widgets, layout , gestures ,state management and navigation and routing.
- Structure - Understanding the structure and components of a flutter project.
- Dart Programming - Understanding variables and data types, decision making and loops, functions and Object Oriented Programming
- Widgets - Basic knowledge of widgets as Scaffold, Appbar, Row, Column, Container, Image, Icon, Text, Button, etc. Understanding the widget tree. Knowledge of hot reload and hot restart and when to use them.
- Layout - Deciding the required layout for the app which requires knowledge of layout widgets and visible widgets. Knowledge of Single Child Widget and Multiple Child Widget
- Gestures - Knowledge of gestures as tap , double tap, drag, pan, long press and use them accordingly. Using a GestureDetector to determine the user's gesture.
- State Management - Knowing the usage of stateless and stateful widgets and to understand state objects. Managing state using setState() method.
- Navigation and Routing - Creating routes using MaterialPageRoute and implementing Navigator.push() and Navigator.pop() methods. Using named or non-named routes according to the complexity of the code.