I've had the opportunity to learn and experience what Flutter is capable of. I've read a lot of articles about it, as well as my hands dirty and I've built a few little Flutter apps. In this post, I would like to send you a taste into what Flutter is with a list of questions and answers, assuming that you have at least some of these questions on your mind, so I can address them.
Deep Dive 🤿 in to Flutter
Flutter is a
cross-platform open source
mobile device 📱 development system that, as described by Google, "allows you to create beautiful native apps from a single codebase on iOS and Android." The first alpha edition was published in May 2017; and after 1.5 years, Flutter received its first stable 1.0 update on 4 December 2018.Besides supporting Android and iOS systems, Flutter will be the primary tool for creating apps for the new Google operating system, Fuchsia. It is currently under development and will replace Android, potentially and gradually.
"Dart gives you wings"
Dart is the object-oriented, garbage-collected🗑 programming language you use for the creation of Flutter applications. Google also created it, but it's open-source, so it has community inside and outside of Google. Apart from its roots in Google, Dart was selected as Flutter 's language for the following reason: It is one of the few languages that can be compiled both AOT (ahead-of-time ⏳) and JIT (Just In Time 🏃♂️)
Heh!, Heh STOP ✋, I need to Know about
AOT
and JIT
!Ahead of Time (AOT) Compilations
This is used when production is completed and ready for publishing. Data is then translated AOT to native code 📦, enabling quick initialization and effective program execution.👩💻
Just in Time Compilations
JIT used during the app development process as it allows hot reloads ♨️ and fast development cycles by compiling code on the fly at runtime 👐🏃♂️
Flutter uses an application-side graphics engine called Skia to perform all the UI rendering. It means it does not rely on platform-provided OEM widgets. Simply it wants the canvas of the network to create its own renditions. That ensures predictability and full control of the widgets and layout by the developer.