Roller flutter
April 20, 2018

The Leap from Native Android to Flutter

Written By Josh Owen

An Introduction To Flutter

Flutter is an open-source mobile application development SDK for the Dart language, created by Google which is used to develop applications for Android and iOS. It is also being used as the primary method of creating applications for upcoming Google Fuchsia operating system. It is being heralded as a new way to build fast, beautiful mobile apps that helps developers break away from “cookie cutter” apps (apps built from a template) that have been so prevalent in the past. Building apps that need to deliver brand-first designs are a perfect use-case for Flutter.

However, apps that need to adhere more closely to platform design standards can also be easily built with Flutter.

Flutter works differently than most other options for building mobile apps because it uses neither WebView nor the OEM widgets that shipped with the device. Instead, Flutter uses its own high-performance rendering engine to draw widgets, setting it apart from other cross-platform application frameworks such as ReactJS which uses a WebView and a “bridge” to render the application, making it vastly slower.image 2 - The Leap from Native Android to Flutter

Our Approach to Flutter

Recently we have been researching upcoming and emerging technologies, and stumbled across Flutter a new mobile UI SDK developed by Google. Flutter mobile applications are developed using a programming language known as Dart which was originally developed by Google, the language itself is comparable to languages such as C#, C++ and Java as it adopts a C like syntax.

In native Android development the UI elements of mobile applications are developed in XML and the application logic is developed in Java meaning there is a clear distinction between UI elements and application logic. Flutter adopts a different approach, as Flutter pages are built up of multiple widgets with the page itself technically being a widget. The flutter library additionally includes a Material Design package which implements an array of native widgets for Android and a Cupertino package for native iOS widgets.

Flutter not only allows developers to create native feeling mobile applications, but optionally create cross platform mobile applications. When creating pages in Flutter, it’s common practice to use the ternary operator when checking the target platform of the device and rendering an appropriate widget or theme for the device.Screen Shot 2018 04 20 at 12.20.36 1024x561 - The Leap from Native Android to Flutter

To catch up on a little more of what we’ve been working with Flutter, we’ve also released an Introduction to Flutter video on our Youtube page today! Written and recorded by our iOS developer Miles Hopkins, we’ve created a full length walk through of Flutter – from the initial installation right through to stylistic cross platform amends.