This article is more than 1 year old
Care for a Flutter? Google emits fresh version of all-things-app-platform, plus a tart-up for Dart
iOS 13, macOS Catalina and calling C code in Mountain View's bundle of joy
Flutter, Google's crack at a platform for mobile, desktop and web apps, has hit version 1.9 as the company targets Apple's upcoming iOS 13 and macOS Catalina. Its Dart language also got a tickle.
The software was flung at coders during Google's Developer Days conference for Chinese source wranglers and this iteration will please those targeting Apple platforms.
Flutter 1.9, which does the Xamarin-like thing of allowing developers to fling a single codebase at multiple platforms, has been updated to support the new Xcode 11 build system and has added 64-bit support throughout its toolchain. The gang expect it to work well for Catalina apps.
Mobile developers will be more interested in iOS 13 support, and the team has added an implementation of the iOS 13 draggable toolbar and support for vibration feedback. Not present right now, but on the way, is support for the feature du jour – Dark Mode.
Also not in really for production, but available as an experimental feature, is support for Bitcode.
Bitcode has long been a thing on the Apple platform and for Flutter users, the support opens the door for watchOS and tvOS apps, which must contain bitcode. It has been supported in Xamarin for years, but those who prefer Google's take on things will be interested to see its arrival.
The Material components have also had an update, with some new widgets. However, it is the bump to version 2.5 of Dart, the underlying language, that will raise an eyebrow or two. Not least of this is the ability to call directly into C code (a host API or a cross-platform library) through the
dart:ffi foreign function interface preview.
Obviously, the potential to hit a C-based API on the host OS sits a tad awkwardly with the cross-platform aspirations of Flutter, but sometimes it is simply unavoidable. The previous method involved either native extensions or getting to C indirectly via platform channels.
As such developers were keen to get their hands on the functionality, making C interop the highest rated open feature request, according to the Google Dart team.
So now you get to call Win32, you lucky people. Or a cross-platform library written in C, such as TensorFlow.
A preview of Machine Learning Complete also makes an appearance in Dart's dev channel (and Dart-enabled editors, such as Visual Studio Code). Sounding suspiciously like Microsoft's Clippy-for-coders, IntelliCode, the gizmo uses existing GitHub open-source Dart repos to guess what a developer might be about to type.
Hopefully a careless code won't accidentally find source along the lines of
userData.send(IT_ALL).toGoogle() magically turning up in their app.
Finally, new projects now default to Swift instead of Objective-C for iOS and to Kotlin instead of Java for Android projects, which makes sense. Kotlin is, after all, the default language for new Android Studio projects. ®