Pull to refresh

Comments 12

То есть, в плане Future / async / await, Dart абсолютно ничем не отличатся от JS Promise (ES6) / async / await (ES7):

Future -> Promise
future.then -> promise.then
future.catchError -> promise.catch
Future.wait -> Promise.all
fn() async { } -> async function fn(){ }
await fn() -> await fn()
UFO just landed and posted this here
Да, только в Dart они уже есть в стабильной ветке, собраны в одном месте, работают и компилируются в JS. В родном JS они повсеместно придут ещё не скоро.
В JS async / await я использую больше года. Promise — несколько лет. Babel, можно отдельно regenerator, traceur — ну да, совсем не скоро :)
Тут смотря как сравнивать. Я вам говорю про «голые» языки без дополнительных тулзов. В тех средах где запускается Dart, stream/future/async/await работают из коробки. Вышеперечисленные фичи JS без компиляции мало где заработают.
Я понял так, что говорили о том, что Dart сам по себе имеет все фичи из коробки, и они работают. Когда ведется разработка с использованием дарта, все запускается в браузере Dartium, где дарт как раз не компилируется и работает нативно. А перед паблишем уже идет компиляция в js. Все из коробочки.
Не понимаю. Я говорил только о том, что этот функционал в Dart и JS идентичен — а мне начинают доказывать, что это функционал есть Dart а в JS будет неизвестно когда, при том, что согласно новой стратегии развития Dart, в первую очередь, компилируемый в JS язык и с этой позиции ничем не отличается от грядущих стандартов JS, которые также где-то доступны из коробки, а где-то требуют полифилов и компиляции в старый синтаксис. Кроме, разве что, того, что повсеместное внедрение этих стандартов планируется, а Dart'a — нет.
Ну так-то да, текущая ситуация такова, что оба языка должны компилироваться в старый нормальный JS с какими-то костылями, и для языка, и для браузера.

Но разница есть, в пользу дарта следующая:
1. Разрабатывая на дарте, можно пропускать этап компиляции в JS (в Dartium отлаживаем же) — это экономия времени.
2. У дарта есть некая инфраструктура, ничуть не хуже node.js и npm, и многие считают даже более вревосходящей.

То есть, на данный момент, разработка на дарте будет несколько удобнее, чем на JS 6.

Но может я чего-то не знаю, и у JS 6 есть чем здесь ответить, поправьте меня в таком случае.
Компилировать в JS нужно только один раз перед выкладыванием кода в продакшн.
При разработке, внеся изменения в код, мы просто нажимаем F5 в Dartium и мгновенно можем увидеть работу новой версии кода.
Это очень убыстряет разработку.
Важно пометить функцию main() как async.
Да, обязательно, если мы хотим в ней использовать await.
Sign up to leave a comment.

Articles