This article is more than 1 year old
Google reports 80% spike of Flutter-built apps in Play Store as 1.20 is released
Autofill arrives for mobile forms, plus new viewer widget, performance and tooling updates
Google has released version 1.20 of its Flutter cross-platform framework for mobile, web and desktop, and reports that the number of Flutter-built apps in the Play store has increased from 50,000 to 90,000 since April.
Flutter 1.20 is the second stable release of 2020, the first being version 1.17 in early May. Google Product Manager Chris Sells (who formerly worked at Microsoft on the Windows 8 JavaScript development platform) said the update has “multiple performance improvements, from the lowest levels of the rendering engine and in the Dart language itself.” Dart is the programming language used for the Flutter framework, and compiles either to native machine code or to JavaScript, enabling web application support. Flutter also targets Android and iOS, with Linux, macOS and Windows desktop applications in varying stages of preview.
With the desktop environments in mind, this version of Flutter has improved mouse support. Sells said the mouse testing support has been refactored, improving performance by up to 15 times. There is also now support for different mouse cursors, which Sells said was “one of the most upvoted features for desktop.” Drag and drop support has been improved, so you can now get the exact coordinates of a drop location.
Another key feature is autofill support in mobile applications. This means that Flutter apps now hook into the iOS and Android support for text autofill, so that users can quickly add common form fields like name and email address.
There is a new widget called InteractiveViewer, created by software engineer Justin McCandless, which enables panning and zooming of its child widgets. Rotation is planned but not yet working. There is also a new TimePicker widget and updated sliders and DatePicker. In general the design style follows Google’s Material Design guidelines, making it particularly at home on Android (as you would expect from Google), but there is also support for Cupertino widgets for a native iOS look and feel.
Go on, devs, have a Flutter on Linux desktop apps: Google and Canonical launch alpha SDK
READ MOREThe most commonly used editors for Flutter are Android Studio/IntelliJ or Visual Studio Code (VS Code). A new experimental feature in the VS Code is the ability to embed Dart DevTools such as the Flutter Widget Inspector within the VS Code window, whereas normally it appears in a separate Google Chrome window.
The Widget Inspector is handy for designing and troubleshooting Flutter layouts. Other embeddable tool pages cover Timeline, Memory, Performance, Network and Logging. The Network page now shows the timestamp and duration of network calls, which is useful for troubleshooting things like websocket data or web service requests.
Flutter is one of many choices for mobile and cross-platform development. Dart has its advocates, but its use of Dart is not a big advantage since it is likely that developers coming new to Flutter will have to learn it as it is not that widely used elsewhere, unlike Java, JavaScript or C#, for example. On the other hand, when Google embarked on the Flutter project, first shown to the world in 2015, it was a fresh take on the problem and not weighed down by legacy. Google seems committed to the project, which appears to have a role in the experimental Fuchsia project (a new operating system) as well as for its other target platforms. It is a contrast with Microsoft, which supports frameworks to the point of confusion, with Xamarin, React Native and Blazor alongside its Windows native frameworks.
Developers Łukasz Kosman and Jakub Wojtczak, who work for the application and web design company LeanCode, recently posted about their experience with React Native, Xamarin and Flutter. Flutter enables faster development, they claimed. “It took us 67% of the time in comparison to Xamarin (667h vs 987h) and 69% of the time needed to create the app with ReactJS (486h vs 704h) for the very same scope using the same API on a backend side.”
They achieve 90 per cent shared code, on average, between iOS and Android. They also claimed that Flutter made it easier for developers and designers to cooperate than React Native. Another Flutter advantage is size. The average size of a Xamarin app is 25MB, they said, and 32MB for React Native, whereas a Flutter app is 11MB - they acknowledged that the figures are not directly comparable, but feel that it accurately showed a pattern. LeanCode has decided to use Flutter for its mobile technology and to cease involvement in developing apps on different frameworks.
Others will have different priorities, different skills, and reach different conclusions, but Flutter does have momentum and is worth a look for those looking for a cross-platform framework.®