Компания Google отпраздновала год с момента открытия наработок проекта Dart выпуском первой версии Dart SDK. 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 в представление на языке JavaScript, способное работать во всех современных браузерах; Новый компилятор отличается генерацией быстрого и компактного JavaScript-кода;
- Универсальная библиотека для обработки и генерации HTML-контента, работающая во всех браузерах;
- Библиотека для обеспечения взаимодействия с кодом на языке JavaScript;
- Редактор кода, обладающий возможностями современных IDE;
- Новый пакетный менеджер Pub, позволяющий работать с репозиториями модулей и библиотек для языка Dart;
- Dartium - сборка Chromium со встроенной поддержкой Dart;
- Серверная библиотека для организации воода/вывода;
- Документация и спецификации с описанием семантики и возможностей языка.
Особенности языка Dart:
- Привычный, простой для изучения и естественный для программистов на JavaScript, Си и Java синтаксис.
- Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
- Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
- Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками;
- Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов;
- Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue");
- Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.