Новий реліз здебільшого присвячений спрощенню асинхронного програмування. У сучасних програмах вона скрізь - це взаємодія з користувачем, з мережею, файловий I/O тощо. Новий реліз Dart істотно спростив роботу з такими сценаріями, ввівши async/await.
Async методи і await вирази зроблені на основі знайомого Future API, ви можете використовувати їх з циклами, умовними виразами і try/catch блоками для управління складною асинхронною взаємодією. Докладніше про async/await можна прочитати в статті Dart Language Asynchrony Support: Phase 1 (переклад).
Так асинхронний код виглядав з використанням Future API:
Так код виглядає з приходом нового релізу і async/await:
Також були введені нові генератори - sync * and async *, які спрощують ліву генерацію послідовностей і позбавляють розробників від необхідності створення своїх ітераторів у багатьох випадках. Докладніше можна дізнатися в статті Asynchrony Support: Phase 2.
Серед інших нововведень:
- Повна підтримка enum
- Вибір The Dart Analyzer в окремий Dart Analysis Server, що спрощує інтеграцію з IDE
- Новий швидкий рушій формальних виразів (у деяких випадках працює до 150 разів швидше)
- Isolate API повністю реалізований в Dart VM
Повний список нововведень можна подивитися в release notes.
Завантажити останній реліз Dart можна на сайті.