Author: EIS Release Date: Mar 2, 2020
It will be well below the radar, but Flutter is a technology I expect to make a noticeable impact in 2020.
Spawned by Google at the very end of 2018, Flutter is a mobile user interface (UI) toolkit for creating embedded graphic components for both iOS and Android from a single codebase. It is an open source project with a BSD‑style licence.
By creating native Arm code, Flutter enables the flexibility of cross-platform development without necessarily compromising on performance.
You can build to .apk files for Android or .ipa files for IoS applications, from a single codebase.
Programming language
Dart is the strongly-typed programming language used, via Google’s Android Studio IDE (integrated development environment).
According to Google, the Apple design language – such as sliders and nav bars – and Google’s Material Design concepts – such as textures and user-response cues – can all be implemented via Flutter.
Using Skia, the system can paint directly to displays via the graphics subsystem. Video is embeddable as just another widget. And if that wasn’t enough, the Raspberry Pi is among the platforms capable of supporting the new system.
How refreshing
A minimum refresh rate of 60 frames per second is supported, says Google, with the platform being capable of fully recomputing what to show every single frame.
Automotive is an obvious example, for a use case – for in-vehicle displays – but I think it will make its presence increasingly felt in 2020 for more general mobile app development.
It can also be a quicker, more graphically polished route to development for Android software houses and embedded systems requiring higher end graphics.
Design in development
A key element of the system, which was first previewed at Mobile World Congress in Barcelona in 2018, is stateful hot reload (SHR), which means you can make changes to the code and see the results without restarting your app or losing its state.
This promises faster design and development iterations, with the immediate feedback of more traditional HTML/Java script development, and the more direct involvement of designers.
There are two routes of use – building Flutter components into Android (or IoS) apps, or building Flutter ones that can incorporate Android-ready UI elements, such as Google Maps or a browser.
Embeddable
Tim Sneath, group product manager for Flutter and Dart at Google, described it to Electronics Weekly as a toolkit for building embeddable UI components – enabling different layers of abstraction, by the use of classes, but also direct pixel control.
“We’re building momentum for Flutter,” he said ahead of the official launch of version 1.0 (we are now up to version 1.7).
“We’ve moved from early adopter previews to being ready for prime time. It provides everything you need to build an interface,” he added.
A version of Flutter that will work on the web and on desktops has been code-named Hummingbird.
At Google I/O 2019 in California last May, the company announced its first preview release. I await its full arrival in 2020 to help give the technology further uplift.