Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта

Ассоциация Ecma International, занимающейся стандартизацией информационных и коммуникационных технологий, утвердила спецификацию ECMA-408, стандартизирующую синтаксис и семантику языка Dart, а также состав базовых библиотек и сопутствующих языку технологий. Отныне язык Dart является официальным стандартом Ecma. До конца 2014 года планируется утвердить вторую редакцию спецификации, в которую войдут такие предложения по развитию языка, как перечислимые типы (Enum), отложенная загрузка библиотек (DeferredLibrary) и поддержка асинхронного программирования (dart: async).

Придание Dart статуса стандарта Ecma позволит расширить область использования языка и ускорить обеспечение его поддержки в имеющихся на рынке браузерах и продуктах. Выбор Ecma International в качестве стандартизирующей организации обусловлен тем, что данная ассоциация уже развивает близкие к специфике Dart стандарты для языков JavaScript, Eiffel и C#. Продвижению Dart в качестве стандарта способствовало предоставление компанией Google всех связанных с разработкой патентов в безвозмездное использование, не требующее оплаты отчислений (royalty free).

Напомним, что язык Dart обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений. Для запуска внутри браузера код на языке Dart может быть преобразован в JavaScript-представление или запущен напрямую под управлением специального JavaScript-интерпретатора Dartboard. Поддерживается встраивание кода на языке Dart в HTML-страницы, используя mime-тип «application/dart». На стороне сервера приложение на языке Dart может быть выполнено внутри специальной виртуальной машины, которая обеспечивает производительность выполнения близкую к компилируемым в машинный код языкам. Виртуальную машину Dart планируется интегрировать в будущие версии браузера Chrome, что позволит выполнять приложения на языке Dart без компиляции в JavaScript.

Особенности языка Dart:

Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java. Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов; Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные; Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками. Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих типов; Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений; Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов; Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету («edit-and-continue»); Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.

©  OpenNet