Чем Dart лучше Kotlin?
Нередко Android-разработчики спрашивают, почему во фреймворке Flutter используют язык Dart, а не Kotlin. И это при том, что Kotlin, по мнению некоторых, стал глотком свежего воздуха после Java. А ведь ещё не так давно разработчики прочили языку программирования Dart место на кладбище проектов Google, а тут вдруг оказалось, что он находится в списке наиболее быстрорастущих языков по версии GitHub.
Почему же во Flutter используют Dart, а не Kotlin? Есть как минимум две причины: 1. Dart является детищем Google со всеми вытекающими отсюда плюсами. Например, когда Flutter-команде Google нужно внести какие-нибудь изменения, они просто идут к коллегам из Dart-отдела со словами: «Ребята, сделайте это и это». Коллеги говорят «окей», и дело в шляпе. То есть мы говорим о контроле над языком программирования, а это, безусловно, очень большой плюс. Что касается «сахарного» языка Kotlin, то он не является собственностью Google, а разработан компанией JetBrains. 2. Dart поддерживает и AOT-, и JIT-компиляцию. Вы можете почувствовать это уже на первом «Hello, world!», скачав Android Studio и установив туда Flutter SDK и Dart SDK. Любые изменения будут видны на девайсе уже через пару секунд после нажатия hot reload. Кроме того, этот hot reload еще и stateful, то есть даже если вы выполните перезапуск приложения в момент ввода текста в текстовое поле, вы всё равно не потеряете состояние экрана.
Сегодня каждая версия и новая итерация приносит что-нибудь новое. И, что немаловажно, новый релиз Dart привязан к новому релизу Flutter.
Также в текущих версиях наблюдается процесс «котлинизации» языка. Всё потому, что в Dart-сообществе есть много мобильных разработчиков, привыкших к плюсам Kotlin. Причём им нравится Flutter, однако не нравится Dart.
Сегодня людей, желающих писать на Dart, становится всё больше, поэтому разработчики воспрянули духом и стали периодически радовать публику. В результате они периодически выкатывают полезные фичи, которые просят люди. Например, в той же версии 2.7 мы увидели extension-функции.
Стоит упомянуть и то, что у команды Dart есть открытый репозиторий dart-lang, где осуществляется разработка и предлагаются новые фичи. В наличии и публичный Roadmap с планами на ближайшие версии.