Flutter is a free and open source User Interface toolkit for building applications for mobile, web, and desktop by using Dart.
Dart doesn’t use web view and OEM widgets like other frameworks i.e React Native, Ionic etc. Instead, it uses it’s own rendering engine for widgets.
Since, Dart is a compiled language so the compiler parses your code and translates it into machine language.
Flutter was introduced by Google and later handled by ECMA standard.
Features of Flutter
- Open-source framework and free for personal or commercial use.
- It allows cross-platform development that means you can write the code once and then it can be run on different supported platforms.
- It has a Hot Reload functionality which means that when we change the code and the change can be viewed instantly by the developer.
- Flutter offers the concepts of widgets which help us in developing a customised design.
- Flutter uses Dart for creating applications and Dart is easy to learn.
- Flutter supports faster development process and delivers a highly performant application.
Architecture of Flutter
Flutter Architecture comprises of four component such as:
- Flutter Engine
- Foundation Library
- Design Specific Widgets
The flutter engine is written in C++ language and it is used to implement core libraries which has animation, graphics, file and network I/O plus the plugin architecture.
The foundation library is written in Dart. It provides packages which are used to construct the Flutter Application.
Widgets are user interface components that include graphics, text, shapes and animation. It is similar to the react component that controls the view and interface of the application.
Design Specific Widgets
Flutter has 2 sets of widgets that conform to specific design language i.e. Material design widgets for Android and Cupertino widgets for ISO.
Flutter Vs React Native
- Flutter is developed by Google and React Native is developed by Facebook.
- Flutter uses custom widgets for creating UI whereas React Native uses native UI components.
- The architecture used by Flutter is Business Logic Component whereas React Native uses Flux and Redux.
For more details please visit: https://flutter.dev/docs
To see the learning resources for flutter please visit: https://flutter.dev/docs/resources/books