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

Развитие Dart как отдельного языка, альтернативного JavaScript и непосредственно поддерживаемого в браузерах, признано нецелесообразным. Вместо этого Dart будет двигаться в сторону более качественной интеграции с JavaScript и генерации оптимального JavaScript-кода. При этом разработка виртуальной машины Dart VM будет продолжена, но она будет позиционироваться в основном для создания серверных и мобильных приложений.

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

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


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