Flutter, the next leader in cross-platform application development?

The applications you use on your mobile can be designed in many ways and often have different structures. Among the long line of tools that allow their development, a new kid appeared in 2015: Flutter. Over a million developers have already used it. What type of applications can it develop? How does it work and what does it offer that is new compared to its competitors?

First of all, you should know that an application can be native or cross-platform.

  • A native application is developed specifically for a specific operating system (Android, iOS, Windows Phone,) with its own technologies. So, if you have an iPhone, the applications you use there are probably developed with the Objective-C or Swift language. For Android, it will be Java or Kotlin, etc. The advantage of this type of development and application is to use all the native features of the devices (GPS, camera, etc.) and to offer rich and fast tools. But its downside is its cost. Indeed, if you want your app to be used on Android and IOS, it has to be developed twice. In addition, they may present differences, because they were developed by 2 different teams.
  • As a result, other development tools (or frameworks) have appeared to generate applications compatible with several platforms. They allow a unique development of the application deployed on the different operating systems. From now on, it is no longer a question of thinking about the targeted medium, but its content!

2) How to choose a multiplatform tool?

Among the current cross-platform frameworks, we can mention Ionic, React Native, and Flutter, the youngest. All three are open-source, meaning that anyone can see and access their source code, read it, modify it or redistribute it. They operate on a collaborative and decentralized development model.

  • Ionic is a free framework created in 2013 that uses web technologies like HTML, CSS or JavaScript. It relies on AngularJS, Cordova, and Node JS. With it you can develop a mobile application as well as a web application.
  • React Native was created by Facebook. Its first version dates from 2015. It is based on React which is a JavaScript library, a language usually used for the Web. Facebook, Instagram, Skype or Airbnb have been made partly or entirely using this technology. On Github (open source code host), it is one of the most popular projects!
  • Flutter is the newest of the cross-platform frameworks. It was created by Google in 2013. Its programming language, also invented by Google, is DART, the first version of which dates from 2011. It is presented as being the successor to JavaScript and better! It also allows you to develop web applications. Since its 1st version in 2018, Flutter has grown by 279% and became the 2nd open source project in terms of a number of contributors in 2019.
    As an example of applications designed with Flutter, we can cite Alibaba.

4) Why use Flutter?

All cross-platform frameworks have their advantages and small flaws. But what about Flutter? What are its strengths?

  • Its strength lies in the weaknesses of its competitors: The latest arrival on the open-source multiplatform framework market, its creators have been able to raise the qualities of existing tools and exceed their limits.
  • Easy to learn and use:
    Flutter is much more affordable than Java, Swift or React Native and the documentation provided is very comprehensive. With it, it is finally possible to create a mobile application without having to go through kilometers of codes.
  • Savings in time and money:
    The application is developed once and it is impossible to see the difference from a native application. Thanks to the DART language, Flutter generates native code for each platform. This is the guarantee of an optimized operation of the application on each operating system. It is a big difference from its competitors. In addition, many widgets provided allow you to create an optimum user interface. They integrate all the specifics of the different operating systems such as navigation, fonts, scrolling, etc.
  • Work without an interpreter:
    Unlike React Native, Flutter does not need an interpreter to interact with the different components of each operating system. As a result, the performance of its applications is better and they are faster. Most of the problems are solved thanks to its Skia graphics engine and the use of C ++ in addition to Dart optimizes the whole. Indeed, Skia allows it to design the interface and not to be a “wrapper” on top of the components native to Android and iOS.
  • Hot reloading: maximum productivity:
    With Flutter, it is possible to very quickly test features, user interfaces, or even correct bugs. He guarantees to modify his code and to see the results in real time thanks to the hot reload!
  • A growing community:
    Flutter is new. As a result, its main competitor React Native displays a greater community. Its various members have been able to develop many more tools and libraries helping them on a daily basis in the design of their applications. But beware, in a short time, Flutter already has a lot of them and big applications like Alibaba prove that we can make beautiful tools with it. Besides, the two follow each other on Github! The number of contributions to the Flutter project is currently 19,673 compared to 20,538 for React Native!

A flutter is a powerful tool and now has a stable version. And Google has no intention of stopping there. More features are planned, but also a web and desktop version. With always a single source code and a native application, you will be able to multiply the supports well beyond the mobile. Flutter is thus positioned as a true multiplatform framework!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Christina Cheeseman

Christina Cheeseman is a Technology Strategist at Elitech Systems. She enjoys writing about Technology, marketing & industry trends.