Why Flutter?

Recently in the news as a revolutionary new mobile platform, Flutter has built up a lot of hype inside the mobile app developer community and outside it as well. What is the hype about? After the Flutter Beta 2 release, how much promise is the platform showing? Should mobile developers switch to Flutter? Let’s take a look.

What is Flutter?

Flutter is Google’s mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
Here are the important parts from that statement:

  • “high-quality native interfaces” : Flutter contains elements from both Android and iOS, but unlike React Native, all elements, or “widgets”, are usable on both platforms. An app can now look exactly the same on both platforms instead of adopting platform specific looks.
  • “iOS and Android in record time” : The same codebase is usable for both Android and iOS apps reducing the need for separate development for Android and iOS.
  • “But couldn’t we do the same in React Native?” Yes, but because RN pulls interface elements from the device, a lot of elements were platform specfic, rendering a single codebase to be larger than it needs it be.

A single language for layout and backend.

Because Android has separate layout and Java/Kotlin files, we need to get references for views and then alter them in the backend files. Flutter uses a single language(Dart) for design as well as backend and uses a reactive framework, so we don’t need references to widgets(Flutter equivalent of views) at all.

Dart: making the obvious things easy.

Java has been showing it’s age for a while now and even after Java 8, it leaves a lot to be desired. Dart on the other hand borrows a lot of the most popular features of other languages without losing the familiarity of Java or similar languages. Dart was developed with common developer tasks in mind, making common things effortless.

Animations

Common animation patterns are heavily simplified and are optimised for 60FPS.

Flutter popularity