Выпуск языка программирования Dart 1.9
27 марта 2015 года
Компания Google представила выпуск языка программирования Dart 1.9. Dart позиционируется как язык структурированного программирования для Web, обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для запуска внутри браузера код на языке Dart компилируется в представление JavaScript, для выполнения серверных приложений развивается специальная виртуальная машина Dart VM. Код связанных с языком компонентов распространяется под лицензией BSD.
Для упрощения разработки на языке Dart поставляется SDK, включающий в себя компилятор в JavaScript - dart2js, виртуальную машину Dart VM, пакетный менеджер pub, статический анализатор кода dart_analyzer, набор библиотек, интегрированная среда разработки Dart Editor и плагины с поддержкой Dart для IntelliJ IDEA, WebStorm, Eclipse, Emacs, Sublime Text 2 и Vim. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, предоставляется Dartium - специальная сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительные пакеты с библиотеками и утилитами распространяются через репозиторий pub, который насчитывает 1565 пакетов, в том числе фреймворки для разработки web-приложений AngularDart и polymer.dart (Архивная копия от 1 июля 2014 на Wayback Machine).
Новый выпуск примечателен предоставлением удобных средств для асинхронного программирования, которое применимо для любых областей, включая организацию взаимодействия с пользователем, сетевые операции и файловый ввод/вывод. Для организации выполнения кода в асинхронном режиме представлены новые методы "async" и выражения "await", которые реализованы поверх Future API. Сложные асинхронные взаимодействия могут быть реализованы с использованием привычных приёмов управления потоком выполнения на основе циклов (for/while), условных операторов и исключений (try/catch).
Другие новшества:
- Представлены (Архивная копия от 2 июля 2016 на Wayback Machine) синхронные и асинхронные генераторы sync* и async*, при помощи которых может быть упрощена генерация последовательностей без необходимости создания итераторов и без ручного управления созданием потока.
- Полноценная реализация перечисляемых типов ( enum). Разработчику предоставлена возможность определения специальных классов, представляющих предопределённый набор фиксированных значений;
- Статический анализатор Dart Analyzer преобразован в сервер Dart Analysis Server, что даёт возможность упростить интеграцию средств для анализа кода на языке Dart в сторонние интегрированные среды разработки, такие как IntelliJ и Sublime;
- В Dart VM обновлена реализация движка работы с регулярными выражениями. Новый движок в некоторых ситуациях работает до 150 раз быстрее, чем используемый ранее.
- В Dart VM полностью реализован API Isolate, что упрощает создание приложений, при выполнении масштабируемых на несколько CPU.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.