You have certainly heard of Flutter. In this article I will present you some reasons which pushed me to use it in my projects.
Flutter is a free and open source cross-platform native development framework created by Google. Flutter supports mobile (Android & iOS), desktop (Windows, Mac OS, Linux etc), integrated devices (Raspberry Pi, Google Home Hub etc) and the web. Flutter is still young but has already started to prove himself. The framework has already won over some big names in tech: Alibaba, the Chinese e-commerce giant, has used it for its Xianyu application. Apps like Reflectliy , Hamilton Musical and many more use Flutter. Google also uses it in its products (Google Ads and Google Greentea).
Flutter is based on Dart , a modern programming language (developed by Google) which is very easy to learn if you already know Java or JavaScript . You can start to familiarize yourself with Dart by reading its documentation which is good quality, easy to follow and available on the official website . Dart was originally designed by Google for the web. In addition to being able to use Dart with Flutter, you can create a web app, command line script, or server-side app. Dart compiles in JavaScript and machine language. Learning Dart has a definite advantage. You can build your client and server applications with Dart and without using another language.
Flutter does not use the webview as it does with Cordova and PhoneGap . Cordova and PhoneGap apps are basically JavaScript / HTML / CSS apps disguised as native mobile apps.
Unlike React Native , Flutter comes with a large number of UI widgets out of the box. The entire user interface of a Flutter application is written in Dart. You don’t need to use external DSL UIs (i.e. HTML or XML files).
Flutter widgets are not native widgets as they are with React or Xamarin. Flutter draws these graphic components himself. Because there is a cost to using native UI components, platforms are updated regularly, which can take longer for a framework to adapt to new versions.
While solutions like Xamarin are good at sharing logical codes, they are not ideal for reusing application UI code. As for Flutter, its engine has everything you need to create the user interface of your application. As a result, Dart does not use a bridge to communicate with the native modules of the device it is running on. And Flutter applications are directly compiled in machine language, which is a guarantee of performance and uniqueness of your application. Your application will be just as efficient as it is identical (interface) whatever the platform (Android, iOS, etc.).
With Dart’s JIT ( Just-In-Time ) mode of operation , the developer benefits from a very useful feature: Hot Reload . The idea of Hot Reload with Flutter is to correct the problem of the time required between each build. This feature helps the developer to create user interfaces, experiment and add different features, as well as quickly find and fix bugs without having to rebuild their application every time. The development of a Flutter application then becomes much faster.
The developer can also access native features such as software development kits (SDKs), third-party libraries, and reuse existing native code (Swift, Objective C, Java, and Kotlin).
Flutter is then positioned as a serious competitor in mobile and desktop development facing solutions like React, Electron, Xamarin, Nativescript etc.
Comments are closed.