Доступен язык программирования Dart 2.1
16 ноября 2018 года
После трёх месяцев разработки представлен релиз языка программирования Dart 2.1, в котором продолжено развитие кардинально переработанной ветки Dart 2, переориентированной на разработку для Web и мобильных систем и оптимизированной для создания компонентов, выполняемых на стороне клиента.
Dart 2 отличается от изначального варианта языка Dart применением строгой статической типизации (типы могут выводиться автоматически, поэтому указание типов не является обязательным, но динамическая типизация больше не используется и вычисленный изначально тип закрепляется за переменной и в дальнейшем применяется строгая проверка типа). Для разработки Web-приложений предлагается набор специфичных библиотек, таких как dart:html, а также web-фреймворк Angular. Для создания мобильных приложений продвигается фреймворк Flutter, на основе которого в том числе построена пользовательская оболочка развиваемой в Google новой микроядерной операционной системы Fuchsia.
Особенности нового выпуска:
- Обеспечена проверка типов на этапе компиляции (ранее проверка осуществлялась на этапе редактирования в IDE с использованием Dart Analyzer). Код проверки типов синхронизирован между компилятором и утилитой для анализа кода. Реализован вывод более ясных сообщений об ошибках, связанных с некорректным использованием типов;
- Значительно ускорено выполнение проверки типов, как для компилируемого кода, так и для кода, выполняемого в виртуальной машине с JIT. Внесённые оптимизации позволили существенно ускорить работу инструментов для разработчиков. Например, время выполнения операции анализа кода крупного приложения, использующего фреймворк Flutter, уменьшилось с 41 до 25 секунд;
- Повышена компактность генерируемого кода для Web. Размер кода выдаваемого транслятором dart2js в режиме минимизации вывода сокращён на 17%, а время компиляции сокращено на 15%;
- Предложен новый синтаксис для "примесей" (mixin). Добавлено новое ключевое слово "mixin", которое можно использовать для определения классов, которые можно использовать только в виде примесей. Реализована возможность использования примесей для расширения других классов и вызова методов в образуемых примесями суперклассах;
- Добавлена поддержка использования переменных с типом "int" в конструкциях с типом "double" (в подобных случаях int автоматически преобразуется в double). Например, переменные с типом "int" теперь можно использовать в качестве аргументов вызовов, определённых с типом "double";
- Добавлена официальная поддержка языка protobuf (Protocol buffers), используемого для сериализации структурированных данных.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.