Как стать автором
Обновить

Комментарии 21

Ура, спасибо!
Я всю неделю ленился про это написать.
От себя добавлю:
-появились Typed Arrays, Map, Set, WeakMap
-добавилась полновесная поддержка символов
-есть итераторы for..of
-добавились es6-свойства и методы в Math

И еще много мелочей.
Что, впрочем, не компенсирует отсутствие генераторов.
НЛО прилетело и опубликовало эту надпись здесь
node.js R.I.P

Ну это как сказать. Релиз io.js может подстегнуть развитие node. Но может привести и к его гибели, как вы написали. Но сейчас ещё рано прогнозировать, какой из этих сценариев будет развиваться. Поживём увидим.
Сейчас в Node JS всё стабильно. Вот зачем они раскачивают лодку? Креаклам не терпится, понимаешь ли, хотят изменений!
Пинают в сторону всяких там испорченных свободой Chrome с их поддержкой ES6 и promises.
У Node свой путь… особенный.
Честно говоря я не вижу причин не использовать промисы, причем нативные. Было бы очень хорошо, если бы все существующее апи переписали бы на промисы, а старое с коллбэками объявили бы депрекэйтед. Понятное дело что за неделю или год от всего старого кода не избавиться, но если этот процесс не начать, то коллбэки останутся навечно, а это очевидно тупиковый путь.
Комментатор выше явно забыл добавить тег sarcasm.
К промисам я думаю nodejs рано или поздно придет, пока можно пользоваться например bluebird.
К сожалению, горячей замены Promises/A+ на нативные Promises не получится из-за различий в апи.
А если использовать их в одной цепочке то возникают проблемы с обработкой ошибок — Promises/A+ требуют вызова .done(), в то время как у нативных такого нет.

Другими словами, если вы используете bluebird, то придется им пользоваться до конца.
Чего, простите, done в Promises/A+? Интересно, а почему у меня нативные все тесты A+ тогда проходят? :)
То что нативные проходят тесты a+, не говорит о том что в обратную сторону тоже сработает.

.done есть в вышеупомянутом bluebird, смотреть в секции Error handling
Тот же метод есть в других популярных библиотеках, например Q — promise.done

По факту он является стандартом, это способ не остаться с пустым экраном при необработанном исключении. Нативные же промисы проектируются так, чтобы обойтись него.
По факту, стандартом в A+ является только метод then, а остальные уже фантазия разработчиков конкретной реализации. Кстати, io.js сейчас внедряет обработку необработанных исключений. И это грозится стать стандартом, но пока только предложение. А вообще, как по мне, подобные проблемы могут возникнуть только при плохом проектирования системы.
использовать более не поддерживаемые libuv и v8 (со всеми прилагающимися старыми багами) — это «стабильно»?
На iojs все новое, не компилиться ни один нативный модуль.
pangyp поставьте.
большая часть уже давно отлично компилится. а те, что не компилятся, точно так же поломаны на ноде 0.12
0.12 — мажорная версия?
Да, Вы правы. Убрал лишнее слово :)
Зря, все там было правильно в некотором смысле. 0.12 — это первая стабильная версия со времен 0.10 (читай — мажорная). У ноды четные версии стабильны, нечетные — экспериментальные.
Я стараюсь придерживаться semver, а тут сам допустил ошибку в именовании версии. Так что считаю и замечание, и правку оправданными.
Забавные имена функций cork/uncork для включения отключения буферизации :)
В момент написания коммента — request Does not work with Node v0.12.x
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории