Google: Dart 2.5 programming language SDK will 'supercharge' developers

Google's Dart programming language gets a preview of machine learning-powered automatic code completion.
Written by Liam Tung, Contributing Writer

Google has announced updates to both its Dart programming language software development kit (SDK) and Flutter, its developer tool for building user interfaces for native iOS and Android apps. 

The Dart SDK brings a technical preview of ML Complete, Google's take on machine learning-powered automatic code completion. It also includes the 'foreign function interface' for calling C code directly from Dart. 

SEE: Sensor'd enterprise: IoT, ML, and big data (ZDNet special report) | Download the report as a PDF (TechRepublic)

ML Complete works with the editor to offer developers completions as they type their code. It's also meant to assist developers quickly explore lists of completions that are likely to be what they want next, rather than having to sort through options alphabetically.

"With code completions, developers can both avoid misspellings and explore APIs by typing the beginning of expected symbols and choosing from the offered completions," explains Google project manager Michael Thomsen in his article, 'Announcing Dart 2.5: Supercharged development'. 

Google's take on AI-powered code completion for Dart relies on a model trained on a large body of Dart code on GitHub. The model is powered by Google's TensorFlow Lite deep-learning framework and can predict what developers will type next as they're editing code. ML Complete should help developers quickly tab to, for example, a desired variable or method. 

ML Complete launches today in preview. It's built into the Dart analyzer and so is available across Dart-enabled editors, including Android Studio, IntelliJ, and VS Code.

Other examples of tools that enable AI-generated code completion include TabNine, which supports multiple languages, Kite, which supports Python, and Microsoft's IntelliCode for Visual Studio.    

For those keen to try Dart ML Complete, Google is recommending using the Flutter dev channel or the Dart dev channel. 

Google has also announced the release of Flutter 1.9 with a bunch of additional support for Apple platforms, including new support for Apple's forthcoming macOS Catalina and iOS 13, improved tooling, new Dart features, and new Material widgets. 

"This release is our biggest update yet with more than 1,500 PRs from more than 100 contributors," said Chris Sells, project manager for the Flutter developer experience.

The update brings support for the macOS Xcode 11 integrated development environment (IDE) for building apps for Apple's iOS and macOS. 

Flutter is improved by "adding support for the new Xcode build system, enabling 64-bit support throughout the toolchain, and simplifying platform dependencies", according to Google. 

Google has also made improvements to ensure Flutter-built apps look good on the iPhone 11 and iPhones running iOS 13. Flutter 1.9 includes Google's take on the iOS 13 draggable scrollbar, which can be activated with a long press on the scrollbar or by dragging in from the right of the scrollbar. 

SEE MORE: Apple iPhone XS vs iPhone 11 Pro: Is it worth the upgrade?

It also supports iOS haptic feedback. Flutter developers are also working on support for iOS dark mode, which they say is "well under way". 

There's new experimental support for Apple's Bitcode, which may allow Flutter to one day support watchOS and tvOS, because these platforms require Bitcode to be enabled for submission to the Apple App Store. 

Google has also introduced new widget bundles that let developers offer a row of buttons and have them as single-selection or multi-select options, as well as to require at least one selection or allow none to be selected. 

Finally, Google has announced that Flutter on the web has been deprecated with web support merged into the main flutter repository. 

More on Google, Dart, and Flutter

Editorial standards