Two Years ago, Mobile developers need to write coding on both platform Android & iOS. So Companies had to hire android developers & iOS developers separately. So it was necessary to develop one common platform which can run on both Operating systems. Thus, Google developed one common platform which can use for both operating systems (Android/iOS). This platform is Flutter. Flutter is an open source mobile application development framework. It is used to develop applications for Android and iOS. It was being used as the primary method of creating applications for Google Fuchsia.
The first version of Flutter was initially released on May 2017 and it known as codename “Sky” and ran on the Android operating system. It was released at the Flutter live event , denoting the first “stable” version framework.
The major components of Flutter include:
- Dart Plateform
- Flutter Engine
- Foundation library
- Design-specific widgets.
Flutter apps are written in the Dart language and make use of many of the language’s more advanced features.On Android, and on Windows, MacOS and Linux via the semi-official Flutter Desktop Embedding project, Flutter runs in the Dart virtual machine which features a just-in-time execution engine. Due to App store restrictions on dynamic code execution, Flutter apps use ahead of time (AOT) Compilation on iOS.A notable feature of the Dart platform is its support for “hot reload” where modifications to source files can be injected into a running application.
Flutter’s engine, written primarily in C++, provides low-level rendering support using Google’s Skia graphics library. Additionally, it interfaces with platform-specific SDKs such as those provided by Android and IOS.
The Foundation library, written in Dart, provides basic classes and functions which are used to construct applications using Flutter, such as APIs to communicate with the engine
User Interface in Flutter typically involves assembling and/or creating various widgets. A widget in Flutter represents an Unchangeable description of part of the user interface; all graphics, including text, shapes, and animations are created using widgets. More complex widgets can be created by combining many simpler ones.
However, the use of widgets is not strictly required to build Flutter apps. An alternative option is to use the Foundation library’s methods directly, interfacing with “canvas” commands to draw shapes, text, and imagery directly to the screen. This property of Flutter has been utilized in a few frameworks, such as the open-source Flame game engine.
There are two major widgets in flutter:
- Material Design: Implements Google’s design language of the same name.
- Cupertino Widget: imitate Apple’s iOS design.
The last stable version was released on July 24 2019. Thus, We can say that developers can save their time & efficiency by using flutter where they only need to write one code for both operating systems(Android & iOS).