The OpenNET Project / Index page

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

Доступен язык программирования Dart 1.19

27.08.2016 08:48

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

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

В Dart 1.19 совместно с разработчиками фреймворка Flutter продолжена работа по предоставлению полноценных средств для разработки мобильных приложений. Например, в новой версии добавлена возможность оставления запятых после последнего аргумента при вызове или определении функций. Возможность оставлять запятые позволяет не задумываться о корректности структуры при копировании частей определения функций или изменении порядка следования аргументов, что актуально в мобильных приложениях на базе фреймворка Flutter, в которых обычно используются большие списки аргументов.

Другим заметным улучшением стало добавление опции "--no-package-dir" для команд "pub get" и "pub upgrade", которая позволяет обойтись без создания отдельной директории "packages/" для пакета. В будущих выпусках данную опцию планируется активировать по умолчанию.

  1. Главная ссылка к новости (http://news.dartlang.org/2016/...)
  2. OpenNews: Увидел свет язык программирования Dart 1.18
  3. OpenNews: Google развивает средства создания высокопроизводительных Android-приложений на языке Dart
  4. OpenNews: Google отказался от включения Dart в состав браузера Chrome
  5. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  6. OpenNews: Google развивает новую операционную систему Fuchsia
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/45035-dart
Ключевые слова: dart
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (45) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 09:31, 27/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Живее всех живых, давно пора выкатывать DartVM в FF и Chromium
     
     
  • 2.2, Аноним (-), 10:04, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Серьезно? вот прям пора? А почему именно дарт? А может давайте все альтернативы жаваскрипту сразу выкатим во все браузеры?
     
     
  • 3.3, Аноним (-), 10:08, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Dart это отдельная тематика, тем кто еще не болен смертельной болезнью JS.
     
     
  • 4.4, Аноним (-), 10:10, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А, он для тех кто болен дартофилией?
     
  • 4.7, th3m3 (ok), 11:24, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Именно поэтому он компилируется в js? :)
     
  • 3.41, MPEG LA (ok), 00:02, 29/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    правильно, давно уже пора интегрировать .NET CLR
     
  • 2.24, Аноним (-), 23:45, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Суахили тоже очень даже жив, почему бы вам не выкатить его в серые рабочие будни?
     
     
  • 3.32, Аноним (-), 07:07, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Сударь, у вас подгорает синим пламенем)))
     

  • 1.5, Gustav (ok), 10:24, 27/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    WebAssembly наше все. Надеюсь, скоро я все реже буду видеть js код, а dart не увижу никогда на сайтах. Ненавистные хендлеры и тригеры по селекту с глобальной областью видимости, написанные людьми не умеющими писать на js, меня зае*али.  
     
     
  • 2.12, Аноним (-), 13:53, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    долой нечитаемые бинарники!
     
     
  • 3.14, iZEN (ok), 13:57, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > долой нечитаемые бинарники!

    Кем нечитаемые? Машины вполне справляются. Обфускация — право автора оградить свой код от излишнего использования. Это в некотором роде способствует снижению теплового шума во Вселенной.

     
     
  • 4.15, Аноним (-), 14:15, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >>Обфускация — право автора оградить свой код от излишнего использования

    Проприетаристы на моём OpenNET?

     
     
  • 5.17, Аноним (-), 14:40, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Проприетаристы на моём OpenNET?

    http://lwn.net/Articles/430098/
    > Red Hat's "obfuscated" kernel source
    > Distribution in this form should satisfy the GPL, but it makes life hard for
    > anybody else wanting to see what has been done with this kernel.

    Двойные стандарты лапчатых в действии - это вот так.

     
  • 4.19, Аноним (-), 18:18, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Так пусть не выкладывает свой код! Пусть организует стрим трансляцию. От меня к нему идут байты - куда я мышь сдвинул и где кнопочку нажал, а от него идёт видео + аудио. html + css + js тем и хороши, что можно на коленке в консоли чуть ли не на баше распарсить и обработать. А то мало того что далеко не все веб страницы справляются со своей задачей, так ещё и трояны будут пропихивать!
     
  • 3.40, anonymous (??), 20:58, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >долой нечитаемые бинарники!

    даешь нечитаемый жопоскрипт!

     
     
  • 4.47, Аноним (-), 11:50, 30/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он всё равно будет более читаемым.
     
     
  • 5.48, Lain_13 (ok), 13:56, 30/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    65439 969 65439 65417 65344 65357 180 65289 65417 9531 ... большой текст свёрнут, показать
     

  • 1.8, Аноним (-), 12:08, 27/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Во что не заворачивай JS - будет исполняться именно JS.  
    А это значит:
    - Никакой типобезопасности во время выполнения
    - веселье с Nan, Undefined, Null и др
    - Дополнительное время компиляции проекта. (+ 5 минут при полной перекомпиляции в нашем случае)
    - Молчаливое согласие если что-то пошло не так.

    JS - убогий неисправимый язык, который доставляет мне невыносимую боль.

     
     
  • 2.16, kleem_head (?), 14:28, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Убери кактус со стула, на котором сидишь во время программирования :D
     
  • 2.18, Вы забыли заполнить поле Name (?), 15:20, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > типобезопасности во время выполнения

    Что-то новенькое. Может просветите?

     
     
  • 3.27, Аноним (-), 03:55, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Например, у нас есть тип SomeType.
    Мы передаем объект этого типа в какой-нибудь модуль на JS. Внутри этого модуля кладем в наш объект какую-нибудь хрень. Затем прдолжаем с ним работать.
    Когда мы продолжим с ним работать, у нас скорее всего без какого-либо адекватного сообщения об ошибке что-либо где-либо не отразится.

    Может не очень корректно выразился

     
     
  • 4.43, Аноним (-), 08:05, 29/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Например, у нас есть тип SomeType

    Хорошо, допустим.

    > Мы передаем объект этого типа в какой-нибудь модуль на JS

    А зачем? Если модуль написан вами -- достаточно зависеть от интерфейса, а не от типа. Если же у вас там делается assert(passedObject instanceof SomeType, "Tafuck are u doin dude, i want SomeType!!11"), то тут проблема в организации зависимостей. Гугли DI, IoC. А если модуль не ваш, и он втихаря объявляет в passedObject какие-нибудь геттеры-сеттеры -- то передавай ему свежесозданную копию. Загугли также pure functions -- все ваши проблемы сугубо организационные.

    > Внутри этого модуля кладем в наш объект какую-нибудь хрень

    Так и есть: проблема организационная. Такую же штукенцию (с мутированием передаваемых объектов и прочими side-эффектами) можно и на питоне, и на плюсах замутить. Что гуглить, я уже подсказал -- если молоток бьет по пальцам, то менять его бесполезно, другие молотки тоже будут бить.

     
  • 3.29, rob pike (?), 05:49, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вы, вероятно, считаете что если, например, в результирующем машинном коде никаких типов нет, то и типобезопаность стирается в процессе компиляции вместе с ними?
     
  • 2.25, Аноним (-), 23:49, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > JS - убогий неисправимый язык, который доставляет мне невыносимую боль.

    Варианта тут всего три: овладеть языком, продолжить страдать, сменить работу.

     
     
  • 3.28, Аноним (-), 04:35, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Варианта тут всего три.

    Как минимум 5

    4. Отказаться от некоторых фич js, чтобы минимизировать количество кода на js.
    5. Писать нативные приложения.

     
     
  • 4.30, rob pike (?), 05:52, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вы забыли предложить самый радикальный вариант "вообще приложений не писать".

    И наиболее практичный и наименее сложный - писать на любом нормальном языке, который умеет генерировать JS.

     
  • 4.33, Аноним (-), 08:37, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну,если комментатор может внести изменения в js, тогда да. Но скорее всего такой власти у него нет, и даже нет возможности выбирать язык разработки. Поэтому оба варианта отпадают.
     
     
  • 5.46, Аноним (-), 05:47, 30/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Не очень тонко.
    Предложите кому-нибудь написать сервер на ноде, чтобы платежи обрабатывал, деньги считал.
     
  • 2.31, rob pike (?), 05:57, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У вас x86 (или ARM, MIPS или хоть PDP-11, не важно) код сейчас исполняется, на каком бы языке вы его не писали.
    Означает ли это "никакой типобезопасности", "nan, undefined, null" и молчаливые согласия?
    Означает ли это "никакой типобезопасности", "nan, undefined, null" и молчаливые согласия в одинаковой степени вне зависимости от языка программирования?
     
     
  • 3.34, Аноним (-), 08:49, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    boolean isFalse = "false";
    true + false
    6 / "3"
    null + 1
    undefined + 1
    undefined + NaN

    Руки за такое отрывать надо.

     
     
  • 4.35, Аноним (-), 10:15, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Руки надо отрывать программистам, чей код содержит такие вещи.
     
     
  • 5.42, Аноним (-), 05:38, 29/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Естественно что адекватный человек не напишет подобного.
    Такой код появляется опосредованно, не явно. Он как суслик
     
     
  • 6.45, Аноним (-), 08:26, 29/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Специально для таких случаев на белом коне прискакал TypeScript. Если же данные приходят откуда-то со стороны, то ничто не мешает произвести проверку на соответствие схеме.
     
  • 4.37, rob pike (?), 11:26, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Прямо в машинных кодах и не такое можно написать.
    Но вы обычно прямо в них не пишете.
     
     
  • 5.44, Аноним (-), 08:10, 29/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Он наверное еще думает, что если в каком-нибудь ЯП есть понятие "приватный член", и если возможно физическое изменение значения приватного члена в оперативной памяти в обход логики класса, объявившего этот приватный член, то в этом ЯП понятие приватного члена дискредитировано и не существует в реальности.
     

  • 1.9, Аноним (-), 12:26, 27/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Во что превратили этот веб.. Постоянное нагромождение костылей.. Хорошо, что Тим Бернес-Ли хочет создать новый
     
  • 1.13, iZEN (ok), 13:53, 27/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    NIH (Not Invented Here) синдром.
     
  • 1.20, mezoni (?), 18:25, 27/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Dart уже давно остановился в развитии.
    - На стандартизацию TC52 ECMA забили большой и толстый.
    - Dart Dev Compiler скорее жив чем мертв.
    - Polymer.dart точно мертв или притворяется, что сдох.
    - Из Angular 2 выкинули Dart потому что оно, пятое колесо, телеге не нужно.
    - На актуальные и злободневные вопросы у разработчиков ответов нет, как впрочем и не было никогда.
     
  • 1.21, mezoni (?), 18:43, 27/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор этой новости похоже любит копи-пастить (copy-paste).
    Уже вторая новость (а может и больше, я не проверял) где утверждается, что имеются "плагины с поддержкой Dart для Eclipse".

    Ну, нет такого плагина. Нет. Сдох он уже много лет назад.
    И ссылка, кстати, ведет в никуда.
    https://www.dartlang.org/tools/eclipse-plugin/

    P.S.
    Каюсь, сам балуюсь copy-paste, но то кодирование, но здесь то ведь новость, а не алгоритм какой-то.

     
     
  • 2.22, Аноним (-), 18:51, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    используй функции
     
     
  • 3.23, mezoni (?), 18:57, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> используй функции

    Вместо алгоритмов?

     
  • 3.26, Аноним (-), 23:51, 27/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    при использовании вима не только функции - даже циклы не требуются: достаточно нажать yy1000p, и он добавить 1000 копий текущей строки.
     
     
  • 4.36, mezoni (?), 11:17, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Причем здесь vim?
    Основной комментарий был о том, что в тексте новости имеются неточности.
    Также упоминалось об операциях copy-paste.
    Но неужели имеется какая-то очевидная связь между этим?

    То есть:
    Текст новости с неточностями + copy-paste = vim?

     

  • 1.38, Аноним (-), 11:27, 28/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Джава скриптеры такие тупые ^_^ насилуют "use strict"
     
     
  • 2.39, Пингвино (ok), 15:38, 28/08/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да действительно, давно ведь уже есть eslint с правилами от airbnb.
     

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



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

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