HelloWorld! In this article, you will learn about what is Flutter, why Flutter, then a comparison between Flutter with other frameworks, and finally Flutter’s pros and cons.
What is Flutter
Flutter is an SDK for UI development. It is developed by Google to build standard UI & UX for mobile, web & desktop applications from a single code base. Flutter has released its first version in 2017. For now, the Flutter as stable release only for mobile applications, for desktop and web apps are still in the development stage. It’s based on Dart programming language, which is also developed by Google.
Why Flutter
Using Flutter we can develop a mobile app for both Android and iOS from a single code base, we only have to modify the native code while getting into permissions like for notifications, accessing the file manager, to change logo and splash screen, etc,. Apart from those, we use Flutter to code for the logics, functionality of the application.
Flutter has hot reloading and restart, both will help to build applications faster.
- Hot reloading! It loads the code in VM and rebuilds the widget, it won’t change the app state. It doesn’t rerun the
main()
andinitState()
function.
- Hot restart It loads the code in VM, and restart the Flutter app. It will run
main()
andinitState()
function.
Flutter is based on Dart programming language so it directly compiles to arm machine code using the Dart compilers. This helps in improving app performance.
Flutter uses Skia as a 2D graphic engine written in C++ and it’s also developed by Google, which is used to render widgets and draw animations smoothly.
What is widget
In Flutter everything is a widget, widgets are the elements in the screen used to construct the UI. Flutter has a lot of predefined widgets, to build the standard applications. There are two types of widgets,
- State full widgets and
- Stateless widgets
Comparison
Frameworks/ Attributes |
Flutter | ReactNative | Xamarin | Ionic |
Programming language |
Dart | Java script | C# with .net | Javascript |
Performance | Amazing | Close to native | Close to native | Moderate |
GUI | Using proprietary widgets | Using Native UI controllers | Using Native UI controllers | Using HTML, CSS |
Community Support | It’s being popular | Very strong support | Strong | Strong |
Popular apps built | Google Ads, Alibaba, Hamilton | Facebook, Instagram, Airbnb | Storoyo, World Bank, Insightly, Just giving | Just Watch, Honeyfi, Chefsteps |
Developed by | Microsoft | Drifty |
Pros
- Flutter hot reloading helps in rapid prototyping,
- Reusable widgets,
- Directly compile to ARM machine code, using Dart compilers helps in to make app performance closer to native,
- From a single code base able to develop an app for both Android and iOS, helps in code maintenance also reduces the cost of development,
- Ahead of time compiling etc.
Cons
- When compared to React Native, Flutter has limited library support,
- For now, Flutter mobile-only has a stable version, Flutter web in beta, and for a desktop application in alpha release.
MOST COMMENTED
Flutter
Flutter Setup
React Native
Learn React Native with a Board Game (Part 1 of 4)
jQuery / Web Development
jQuery DataTable: Sorting dynamic data
Uncategorized
Hibernate – Associations are not loaded
Database / Java / MySQL / Spring Boot
Hibernate Error – Encountered problem trying to hydrate identifier for entity
Spring Boot / Uncategorized
Working with Hibernate in a multi-threaded application
Web Development
Designing REST APIs