Flutter in Mobile App Development

Jayesh Pansheriya
Analytics Vidhya
Published in
4 min readOct 23, 2019

What is Flutter?

Flutter is Google’s mobile app SDK, complete with a framework, widgets, and tools, that gives developers an easy way to build and deploy visually attractive, fast mobile apps on both Android and iOS platforms (official Flutter website).

Why Flutter?

Hot reload and Faster code writing

It allows you to instantly rebuild your project as if it was just a web page.

Hot reload is not only fast but also smart — if you have some data displayed already (as the color of the text in this example), you can change UI during application runtime and if you hot reload app: they’ll remain the same!

One code for Multi platforms with Different themes

Developers write just one codebase for your apps — covering both Android and iOS platforms. Flutter doesn’t depend on the platform, because it has its own widgets and designs. This means that you have the same app on two platforms.

Usually, we want our Android application to look different than an iOS app. Differences are not only in colors but also in dimensions and styles of widgets. We can achieve this in Flutter with themes:

Flutter has support for a variety of IDEs.

When coding with Flutter you can choose from a number of Integrated Development Environments. At first I started off with Android Studio, but then I saw Flutter Live where they were using VS Code. That got me wondering, and I found that a lot of Flutter developers use Visual Code. When I tried it I could see why so many prefer it. VS Code is light weight and much faster, and has most the features available in Android Studio and IntelliJ. Personally, I’ve made the move to VS Code but you can use a number of other IDEs as well, You don’t need to switch in order to start working in Flutter.

High Performance

Flutter doesn’t require a Javascript bridge and the speed is much faster.

Dart as a Programming Language

  • Dart is AOT (Ahead Of Time) compiled to fast, predictable, native code, which allows almost all of Flutter to be written in Dart. This not only makes Flutter fast, virtually everything (including all the widgets) can be customized.
  • Dart can also be JIT (Just In Time) compiled for exceptionally fast development cycles and game-changing workflow (including Flutter’s popular sub-second stateful hot reload).
  • Dart makes it easier to create smooth animations and transitions that run at 60fps. Dart can do object allocation and garbage collection without locks. And like JavaScript, Dart avoids preemptive scheduling and shared memory (and thus locks). Because Flutter apps are compiled to native code, they do not require a slow bridge between realms (e.g., JavaScript to native). They also start up much faster.
  • Dart allows Flutter to avoid the need for a separate declarative layout language like JSX or XML, or separate visual interface builders, because Dart’s declarative, programmatic layout is easy to read and visualize. And with all the layout in one language and in one place, it is easy for Flutter to provide advanced tooling that makes layout a snap.
  • Developers have found that Dart is particularly easy to learn because it has features that are familiar to users of both static and dynamic languages.

Some App Examples of made with Flutter

  1. Social Networking

2. Photo & video

3. Health & Fitness

4. Shopping

5. Music

6. Entertainment

7. Sport

8. Finance

9. Education

10. Maps and navigation

11. Lifestyle

12. Travel

13. Business

--

--