The latest version of Googles C-Alternative, Go 1.13, is barely released, as the JavaScript derivative of the Internet giant follows: Dart 2.5 is here! The highlights of the release are two technical previews. The first is the Foreign Function Interface ( dart:ffi ) for calling C code directly from darts. The second is for code completion supported by machine learning.

While the programming language Go enjoys continued popularity, darts is still more of a niche product. In the TIOBE index , the language is ranked 24th (in comparison: Go in 16th place) and in the PYPL index the language does not occur in the first 23 places.

Nevertheless, Dart may experience a minor renaissance, as the Flutter framework (just released in version 1.9) is becoming increasingly popular in app development. Dart could benefit from that soon. Until then, the Google probably worked mainly on making the SDK of the language as possible perform better.

Dart 2.5: This is new

Along with some updates, Dart 2.5 introduces a full technical preview of two completely new features. To help developers write flutter and dart apps, Dart 2.5 gets a preview of a new code completion system. The new code system uses components from the field of machine learning. Based on TensorFlow Lite and the many open source dart repositories on GitHub , this new code completion system attempts to show the most relevant suggestions first, rather than simply listing all options alphabetically.

The second function, called Foreign Function Interface , will be particularly interesting for developers who are familiar with low-level languages. With this preview, code written in C can be called by Dart and Flutter. In this way, an app can access powerful system APIs and libraries in C for desktop platforms and the Android NDK.

Additional Information

In addition to the new features, some improvements have been added. With the new update, Dart now offers further options for defining constant expressions. This includes the ability to use casts and collection controls and collection features introduced in Dart 2.3 . While Dart has long supported the creation of constant variables and values, constant expressions have been rather limited so far.

All further changes and information in detail can be found in the release notes .