The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск языка программирования Dart 1.9

27.03.2015 11:18

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

Для упрощения разработки на языке Dart поставляется SDK, включающий в себя компилятор в JavaScript - dart2js, виртуальную машину Dart VM, пакетный менеджер pub, статический анализатор кода dart_analyzer, набор библиотек, интегрированная среда разработки Dart Editor и плагины с поддержкой Dart для IntelliJ IDEA, WebStorm, Eclipse, Emacs, Sublime Text 2 и Vim. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, предоставляется Dartium - специальная сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительные пакеты с библиотеками и утилитами распространяются через репозиторий pub, который насчитывает 1565 пакетов, в том числе фреймворки для разработки web-приложений AngularDart и polymer.dart.

Новый выпуск примечателен предоставлением удобных средств для асинхронного программирования, которое применимо для любых областей, включая организацию взаимодействия с пользователем, сетевые операции и файловый ввод/вывод. Для организации выполнения кода в асинхронном режиме представлены новые методы "async" и выражения "await", которые реализованы поверх Future API. Сложные асинхронные взаимодействия могут быть реализованы с использованием привычных приёмов управления потоком выполнения на основе циклов (for/while), условных операторов и исключений (try/catch).

Другие новшества:

  • Представлены синхронные и асинхронные генераторы sync* и async*, при помощи которых может быть упрощена генерация последовательностей без необходимости создания итераторов и без ручного управления созданием потока.
  • Полноценная реализация перечисляемых типов (enum). Разработчику предоставлена возможность определения специальных классов, представляющих предопределённый набор фиксированных значений;
  • Статический анализатор Dart Analyzer преобразован в сервер Dart Analysis Server, что даёт возможность упростить интеграцию средств для анализа кода на языке Dart в сторонние интегрированные среды разработки, такие как IntelliJ и Sublime;
  • В Dart VM обновлена реализация движка работы с регулярными выражениями. Новый движок в некоторых ситуациях работает до 150 раз быстрее, чем используемый ранее.
  • В Dart VM полностью реализован API Isolate, что упрощает создание приложений, при выполнении масштабируемых на несколько CPU.


  1. Главная ссылка к новости (http://news.dartlang.org/2015/...)
  2. OpenNews: Google отказался от включения Dart в состав браузера Chrome
  3. OpenNews: Выпуск языка программирования Dart 1.7, развиваемого Google для замены JavaScript
  4. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  5. OpenNews: Новые версии языков Dart и TypeScript, претендующих на роль альтернатив JavaScript
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/41917-dart
Ключевые слова: dart
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:32, 27/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    >код на языке Dart компилируется в представление JavaScript

    Что за звездец - снова компилируется. Тут же транслируется с высокоуровневых структур Dart во высокоуровневые структуры JavaScript, а не в байткод под исполнение. Не нужно людей вводить в заблуждение.

     
     
  • 2.4, Fidel Castro (?), 11:49, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Кто вам сказал что компиляция обязательно подразумевает байткод?
     
     
  • 3.8, Аноним (-), 13:03, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Кто вам сказал что компиляция обязательно подразумевает байткод?

    А я сказал что компиляция обязательно подразумевает байткод? Байткод был упомянут только применительно к этому случаю потому что следующим после трансляции из Dart в JS этапом будет компиляция высокоуровневых структур JS в байткод.

     
  • 2.9, angra (ok), 14:06, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    http://en.wikipedia.org/wiki/Source-to-source_compiler
     
     
  • 3.11, Аноним (-), 14:38, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Попытка размытия определения хомякам и неосиляторам на радость. Если же к вопросу подходить со всей строгостью, то процесс трансляции из исходного в исходное не может стать компиляцией. В противном случае процесс перевода текста из английского на русский язык тоже надо называть компиляцией, но это простая трансляция. Вы еще декомпиляцию начните размывать со своей хомячковой позиции :))
     
     
  • 4.12, Аноним (-), 14:52, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Твое определение компилятора тоже вот является компиляцией...
     
     
  • 5.13, КО (?), 15:26, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для компиляции нужно склеивание.
    Если несколько файлов сливают в один - компиляция. Если 1 в 1 копирование. :)
    Трансляция при этом может быть, а может и не быть.
     
     
  • 6.14, Аноним (-), 16:01, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ага вот и нет уже, значит, у явы компилятора, или нет, он ведь может из одного *.java сделать несколько *.class. Значит это копир-декомпилятор, вот!
     
  • 2.18, Аноним (-), 18:36, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>код на языке Dart компилируется в представление JavaScript
    > Что за звездец - снова компилируется. Тут же транслируется с высокоуровневых структур
    > Dart во высокоуровневые структуры JavaScript, а не в байткод под исполнение.
    > Не нужно людей вводить в заблуждение.

    "Dart compiles to JavaScript and runs across the open modern web."
    Прямо так и написано в пруфе.

     
     
  • 3.20, Аноним (-), 19:35, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >"Dart compiles to JavaScript and runs across the open modern web."

    Ерунда написана, тут нужно "translates".

     
     
  • 4.21, vn971 (ok), 20:53, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    "You made my day" :-)
     
     
  • 5.25, Аноним (-), 17:53, 28/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > "You made my day" :-)

    Набраться смелости и вступить в прямую дискуссию не хватает смелости, понимаю.

     
     
  • 6.27, vn971 (ok), 20:02, 28/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Извините тогда -- я думал подразумевается шутка..
     

  • 1.2, annualslayer (ok), 11:37, 27/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >специальная сборка браузера Chromium с интегрированной виртуальной машиной Dart VM

    так а они разве с этого релиза не забили на эту идею?

     
     
  • 2.3, Ононим (?), 11:42, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Они как-бэ намекнули - не нужно!
     
  • 2.5, Аноним (-), 12:03, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >специальная сборка

    Как бы намекает..

     
  • 2.10, vaderth (?), 14:37, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это сборка для девелоперов, в которой работает чистый дарт. чтобы не перегонять какждый раз в жс
     

  • 1.6, Аноним (-), 12:45, 27/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Вау, они слизали с C# await/async. Это притом что изначальные разработчики этих слов потом сообразили, что по хорошему внутри async-метода слово await должно стоять не перед асинхронными вызовами, а перед синхронными. Не, ну молодцы, но неужто нельзя было улучшить?
     
     
  • 2.17, Аноним (-), 17:53, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    await в JS грозятся добавить уже не первый год (спецификации вроде бы появились раньше, чем в .NET), т.ч. неизвестно кто с кого слизал. Пока отодвинули это на ES7.
     

  • 1.7, Аноним (-), 12:47, 27/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >Dart позиционируется как язык структурированного программирования для Web

    В предыдущей новости про дарт выяснили что это не так.

     
  • 1.15, Аноним (-), 16:44, 27/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Для меня Dart умер два дня назад. Несмотря на то, что уже хорошо его изучил и есть готовые приложения запускаемые в Dartium.
     
     
  • 2.22, vaderth (?), 22:34, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    соболезную
     
  • 2.30, Молчун (ok), 22:34, 28/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Меня чудом миновало его изучение. Даже книжку успел купить, но в первой же главе, узнав, что он с динамической типизацией (а думалось, что типизация в нем не явная, но статическая), отложил ее напотом... Хоть времени не потратил.
     

  • 1.16, Аноним (-), 17:50, 27/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это что бы Java не юзать. Забавно.
    Каждый сочиняет велосипед, главное что-бы свой был.
    Раньше разрабатывали спецификации, которые ложились в основу языка.
    Сейчас же каждый кому не лень языки изобретает.
    Печаль.
     
     
  • 2.19, Dart Weider (?), 19:12, 27/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это чтобы не быть завязаными на некой компании Oracle, которая крепко держит за тестикулы всех, кто рискнул залезть в серьезный продакшен с Джавой. Поэтому народ дружно валит с мускула на марию. Выучи наконец хоть технический английский, и открой для себя море информации, в том числе и о спецификациях: https://www.dartlang.org/docs/spec/. Все есть, просто ты об этом не знаешь.
     
     
  • 3.23, Аноним (-), 01:43, 28/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Это чтобы не быть завязаными на некой компании Oracle, которая крепко держит за тестикулы всех, кто рискнул залезть в серьезный продакшен с Джавой.

    Так никто не спорит.
    Но есть же OpenJDK.

    > Поэтому народ дружно валит с мускула на марию.

    Ну это к делу не относится.

    > Выучи наконец хоть технический английский

    Не стоит говорить о том, чего не знаете.
    Я сам как-нибудь разберусь что мне учить или не учить. ок?

    >  о спецификациях: https://www.dartlang.org/docs/spec/. Все есть, просто ты об этом не знаешь.

    Это чисто формальность. Язык создавался компанией гугл.
    И мне не понятно почему Гугл лучше Оракла?
    Другое дело если бы это был язык, создаваемый на общественных началах, без интересов какой-либо корпорации.
    Речь как раз об этом.

     
     
  • 4.31, Dart Weider (?), 09:18, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Так никто не спорит.

    Мне пофигу. Джавы все равно были, есть и останутся жалкими сборщиками мусора.

     

  • 1.24, Быдлокодер (?), 16:43, 28/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если честно, то хотелось бы Dart с его VM на замену JS. Сколько уже можно извращаться над JS и делать из него то, для чего он не предназначен?!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру