Google announced the latest version of its open source Flutter UI builder yesterday, with a host of new features. The company unveiled the latest release at its Chinese developer conference, Google Developer Days.
Flutter is a UI toolkit for building mobile, web, and desktop applications from a single code base. The company has been expanding its use to Chromebooks, Windows, Mac and embedded platforms.
The toolset focuses on fast development, with a range of customizable widgets to help build interfaces quickly, and a hot reload feature that helps developers see the results of changes to their designs. It supports platform differences between Android and iOS, including navigation, icons, and fonts, and it promises native performance. To this end, it uses the Dart programming language, which compiles to native machine code for desktop and mobile, and to JavaScript for the web.
The latest release includes an update to Dart. Dart 2.5 supports native extensions so that it can directly call code written in C. It also offers a neat IDE feature: machine learning algorithms that scan GitHub Dart projects to learn from them. The resulting statistical model takes a stab at predicting the next symbol that a Dart developer might be editing.
Flutter 1.9 also doubles down on its commitment to Apple, with macOS Catalina and iOS 13 support. That includes support for new iOS graphical elements such as the draggable toolbar. It also supports Bitcode, a technology that Apple introduced in 2015. Bitcode converts apps written in languages like Swift into an intermediate language that can then be compiled to machine code for different processor instruction sets. Google hopes this will set the scene for Flutter-generated UIs that run in watchOS or tvOS.
Other new goodies include new widgets supporting the Material open source design system, and support for 24 new languages, which means that you can now code your app in Icelandic or Zulu. Web support is also now merged into the main Flutter repo, meaning that web devs can take advantages of the experimental goodies in Flutter’s early developer releases.