Professional Documents
Culture Documents
Flutter - Future Bread & Butter' of The Hybrid Mobile AppLication Development
Flutter - Future Bread & Butter' of The Hybrid Mobile AppLication Development
Flutter - Future Bread & Butter' of The Hybrid Mobile AppLication Development
On 4th of December,2018 Google hosted Flutter Live event to celebrate Google’s mobile SDK, Flutter and its first stable version.
Google’s own open-source mobile application development framework, which builds applications for Android and iOS. Initially being a
lab tool for creating applications on Google Fuchsia(Google’s Desktop applications) was made available as a hybrid platform for all.
Flutter produces apps based on Dart Language, offering apps with high performance that run at 120 frames per second. Flutter offers
a Vulkan-based graphics rendering engine called "Escher", with distinct support for "Volumetric soft shadows", an element that Ars
Technica wrote "seems custom-built to run Google's shadow-heavy 'Material Design' interface guidelines". The first version of Flutter
was named as "Sky" and ran on the Android OS.
Dart Platform:
Flutter apps are written in the Dart language, which was built from many of
the programming language with more advanced features. Primarily targeted
for Android and then for Windows, macOS and Linux via the semi-official
Flutter Desktop Embedding project, Flutter runs in the Dart virtual machine
(DVM) which features a just-in-time execution engine. Due to restrictions on
dynamic code execution by App Store (apple), Flutter apps use
ahead-of-time (AOT) compilation on iOS.
A notable feature of the Dart platform - "hot reload" where any change to
source files can be injected into a running application seamlessly. Flutter
additionally support stateful hot reload, where changes made in source code
reflects immediately in the running app without restarting or any loss of state
in most scenarios. This feature brought in a lot of appreciation for Flutter in
the world of mobile development.
Flutter Engine:
Flutter's engine, provides low-level rendering support with the help of Google's Skia graphics library , written primarily in C++. Also, it
stands as the interfaces between platform-specific SDKs provided by Android and iOS. The Flutter Engine acts as a portable runtime
for hosting Flutter applications. It also includes Flutter's core libraries such as file handling, network I/O, accessibility
support,animation,graphics, plugin architecture, and a Dart compile & runtime toolchain. Developers mostly interact with Flutter via
the Flutter Framework, which provides a modern, reactive framework, with a rich set of platform, layout and foundation widgets.
Foundation Library:
The basic classes and functions such as APIs to communicate with the engine are provided by the foundation Library act as a base
to build applications using Flutter.
Widgets:
In Flutter, UI design is simply assembling or creating various required widgets. A widget in Flutter is nothing but an immutable
description of part of the user interface; all graphics elements such as text, shapes, and animations are created using widgets. More
advanced widgets can be recreated by bringing many simpler ones together.
Conclusion:
When it comes to picking the right hybrid tool to develop an app it depends on many criteria such as budget, requirements, features ,
timeline and the set of Resources/Developers who are well versed in the tool. On one hand when you see ReactNative it does not
support high rendering graphics and seamless animation while the other option Flutter does both. Also the license and terms are not
that clear with ReactNative and so security issues arise when doing projects with high reliability. Though Flutter is not that matured
and lack IDE for development , it still has very high potential for outgrowing every hybrid/Cross platform mobile application
development tool. For being new to market , Flutter has good amount of support widgets in their native library than that of other
hybrid mobile app development tools in the market.