Компания Google отпраздновала год с момента открытия языка программирования Dart публикацией первого релиза проекта. Dart позиционируется как язык структурированного программирования для Web, который в долгосрочной перспективе может стать прогрессивной заменой JavaScript, решающей имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений. Язык обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений.

Отмечается, что за год существования открытого проекта было исправлено большое количество ошибок и недоработок, что позволило сформировать первый стабильный и функциональный выпуск, готовый для повсеместного использования. По сравнению с первоначальным вариантом языка в представленном первом промежуточном выпуске Dart отмечается большое число улучшений и изменений, подготовленных на основе отзывов и анализа эффективности. В будущем улучшение языка будет продолжено, но на уровне оттачивания и оптимизаций, не нарушающих обратную совместимость. Из главных планов также отмечается продолжение развития SDK, проведение работы по увеличению надёжности и производительности.

Для упрощения разработки с использованием Dart новый выпуск оформлен в виде SDK, включающего в себя компилятор dart2js, виртуальную машину Dart VM, пакетный менеджер pub и набор библиотек. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, распространяется Dartium - сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительно доступен расширенный пакет Dart Editor, в который помимо SDK и Dartium включена специализированная среда разработки на языке Dart.

Среди новшеств, представленных в первом выпуске Dart SDK:

  • Высокопроизводительная виртуальная машина Dart VM, в некоторых тестах Octane опережающая JavaScript-движок V8. При запуске Dart-приложений внутри виртуальной машины планируется обеспечить производительность выполнения близкую к компилируемым в машинный код языкам;
  • Новый компилятор для трансляции кода с языка Dart в представление на языке JavaScript, способное работать во всех современных браузерах; Новый компилятор отличается генерацией быстрого и компактного JavaScript-кода;
  • Универсальная библиотека для обработки и генерации HTML-контента, работающая во всех браузерах;
  • Библиотека для обеспечения взаимодействия с кодом на языке JavaScript;
  • Редактор кода, обладающий возможностями современных IDE;
  • Новый пакетный менеджер Pub, позволяющий работать с репозиториями модулей и библиотек на языке Dart;
  • Dartium - сборка Chromium со встроенной поддержкой Dart;
  • Серверная библиотека для организации ввода/вывода;
  • Документация и спецификации с описанием семантики и возможностей языка.

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

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


Источник: http://www.opennet.ru/opennews/art.shtml?num=35102