DCX Technology RadarDCX Technology Radar

Flutter

Mobile
Adopt

Flutter is an open-source UI software development kit (SDK) created by Google for building natively compiled applications for mobile, web, and desktop from a single codebase. It uses the Dart programming language and offers a rich set of pre-built widgets for building beautiful user interfaces.

Trial

Flutter is an open-source SDK developed by Google that allows you to write native applications for different platforms with a single code base in Dart.

Flutter provides stable platform implementations for both major mobile platforms iOS and Android. Besides the mobile platforms, it also supports stable builds for Web with multiple rendering engines (DOM and canvas-render). Flutter also support builds for all Desktop environments, including Mac, Windows and Linux.

The compilation into native platform code prevents from bottleneck-issues due context switching and runtime bridging, which can be found in other cross-platform frameworks like React Native.

Flutter is using a reactive programming model, where widgets rebuild when their state changes. Based on a declarative approach like SwiftUI it is really easy to build UI components (widgets). Meanwhile, Flutter has a big community with a lot of support and pre-build widgets.

Flutter has made significant improvements and is becoming more and more popular in recent years. Big companies, including Alibaba, Tencent and BMW adopted Flutter to develop their apps. This is also shown in a blog post by Stackoverflow where it shows the increase in popularity in comparison to React Native

Based on these facts, we decided to get a deeper look on Flutter. We were able to prove that Flutter is more performant than, React Native by building an identical Prototype application with both Frameworks.

In addition to the Framework itself, Flutter does a lot to improve the developer experience (DX) due to its hot reload and various debugging tools which are very handy and missing in other Frameworks like React Native. There are also a lot of plugins for WebStorm and Visual Studio Code which also improves the DX a lot.

Assess

Flutter allows writing native applications for different platforms with a single code base in Dart.

It provides stable platform implementations for both major mobile platforms iOS and Android. With Flutter on the Web it is possible to build single-page applications (SPA) out of the same code with full support for service workers. The Desktop (Windows, Mac, Linux) platform is currently still in beta (as of mid 2021).

The compilation into native platform code prevents from bottleneck-issues due context switching and runtime bridging, which can be found in other cross-platform frameworks like React Native.

Comparing to a Javascript-based PWA, Flutter's approach promises a better performance and energy-efficiency.

We gathered first positive experience with small applications, which used the Alpha and Beta state of Flutter for Linux (x64) and Web by the time of development.