With the upgrade, familiar control flow features now can be used to manage complex asynchronous interactions. Version 1.9 features async methods and await expressions built from Dart's Future API. A Future represents a potential value or error that will available at some time in the future, according to Dart API reference documentation.
"Asynchronous programming is everywhere -- user interaction, network access, file I/O. Dart simplifies and enhances these scenarios with the 1.9 release," a Dart News & Updates blog post said late last week. Asynchronous programming can offer performance benefits over traditional multithreading, although it can introduce its own complexities, university research concludes.
Version 1.9 also features fully enabled enum (enumerated types), offering a class to represent a fixed number of values. Code analysis gets a boost, running out of process in IDEs and offering better hinting, and the new version includes an improved formatter. The core library in Dart 1.9 has a new model for shared server sockets, with no need for socket reference.
Although Google had designs on Dart being a long-term replacement for JavaScript in browsers, the focus is now on compiling to JavaScript rather than having the Dart virtual machine further integrated into browsers. But like Dart itself, the VM will continue to be developed, with a focus on places where Dart is already in use, such as Google Ads. Version 1.9 even features VM improvements: The regular expressions engine for the VM has been updated, making it as much as 150 times faster than the previous implementation, and the isolate API has been implemented in the VM, thus making it easier to build applications targeting multiple CPUs.