В чем разница между node.js и io.js?

132

В чем разница между io.js и node.js ? Более поздняя io.jsверсия является ответвлением node.jsи, кроме того, сделана теми же людьми, что и сделали node.js.

Каковы основные отличия, которые привели к этому форку, и что это означает для сообщества node.js в целом?

maudulus
источник
8
Читатели должны отметить, что в то время вопрос имел смысл, но с тех пор io.js и node.js снова объединились. Фактически, io.js больше не существует.
Boinst
7
tl; dr См. это заявление на веб-сайте io.js : io.js снова объединился с проектом Node.js. Дальнейших выпусков io.js не будет. Все функции io.js доступны в Node.js v4 и выше .
Boaz

Ответы:

123

io.js - это форк Joyent Node.js

В чем различия?

io.js:

  • Узел вперед в основном объединяется с io.js
  • разветвлен на основе цикла разработки и активного выпуска
  • включает многих оригинальных разработчиков Node.js.
  • имеет будущую цель "слиться с Node.js"

Этот репозиторий начался как вилка GitHub для joyent / node, где участие, выпуски и участие находятся в рамках открытой модели управления.

Мы намерены выпускать с растущей регулярностью выпуски, совместимые с экосистемой npm, созданной на сегодняшний день для node.js.

Node.js:

  • оригинальное программное обеспечение
  • замедлил развитие в последнее время
  • спонсируется Joyent
  • Joyent владеет товарным знаком Node.js

Почему они расстались?

Он был разделен в основном по трем причинам: более быстрые, более активные выпуски и разработка для 1.0.0выпуска, для разработки, в большей степени ориентированной на сообщество, а не для Консультативного совета , и использование semver для выпусков.

Что такое консультативный совет ?

Консультативный совет был планом Joyent сделать Node.js более централизованным и быстрым способом планирования разработки и планирования будущих функций на пути к 1.0.0выпуску. Это планировалось сделать, собрав доску более крупных компаний, использующих Node.js.

Цитата из блога Джойента:

По мере того, как сообщество становится более сложным, важно, чтобы мы нашли способы сбалансировать потребности всех участников и предоставить платформу для этих организаций, чтобы собраться вместе и внести свой вклад в проект.

Почему ненавидят консультативный совет?

Раньше Node.js запускался через списки рассылки, выпуски GitHub, и каждый мог поделиться своей идеей. Эта идея начала вызывать некоторую ненависть, потому что она отвлекала от контроля среднего, повседневного участника и переместила власть к «крупным шишкам»: таким компаниям, как Walmart , Yahoo , IBM , Microsoft , Joyent , Netflix и PayPal .

Внешние источники об этом

Brendan
источник
Некоторые популярные модули также перестали поддерживать Node.js и перешли на io.js (т.е. jsdom )
taco
9
На самом деле он был разделен отчасти из-за целого конфликта гендерных местоимений, который закончился тем, что большинство их участников ушли ... Были и другие причины, но это была соломинка, которая сломала верблюдов
evandentremont
19
Политкорректность - это абсолютное зло, и ей нет места в технологическом проекте (который хочет оставаться технологическим проектом). Основное внимание следует уделять результатам и меритократии. К сожалению, все больше и больше проектов принимают эту политику и взгляды. Насколько я помню, Mozilla сделала нечто подобное с одним из их ключевых сотрудников. Как только я вижу, что такая ерунда набирает обороты в проекте, я указываю на нее и протестую против отвлечения внимания. Если так и будет, я уйду. Каждый должен. developers.slashdot.org/…
Бен Шерри
4
io.js снова объединяется с node.js, я думаю, infoworld.com/article/2923081/javascript/…
Такур,
4
«io.js снова объединяется с node.js» - оба теперь объединились. Отличные новости !! iojs.org/en
Дин Джон
19

На самом деле между Node.js и io.js есть практические различия . Некоторые факты, забытые другими ответами:

  • В настоящее время io.js во многих аспектах немного быстрее, чем Node.js. Тест производительности можно найти здесь .
  • Поддержка ECMAScript 6 в io.js намного шире, чем в Node.js. Сравнение можно найти здесь .

Зачем? Поскольку io.js 1.6.2 поставляется с Google V8 4.1.0.25, а Node.js 0.12.1 поставляется с V8 3.28.73. Кроме того, флаги для ECMAScript 6 в Node.js и io.js. различаются. Руководство io.js по флагам ECMAScript 6 можно найти здесь .

Габриэль Томицука
источник
2
Интересный улов заключается в том, что упомянутая вами сравнительная таблица не отображается правильно, если JS отключен в браузере (что должно быть по умолчанию. Период. И прежде чем вы спросите: мы говорим здесь о JS на стороне сервера, а не на стороне браузера!)
Tino
18
У вас действительно отключен JS в вашем браузере ?! Вы, должно быть, тот парень, который заставляет миллионы веб-разработчиков вздыхать, когда слышат: «Это будет работать без включенного javascript?»
Zasz
15

TL; DR io.js - это будущее воплощение node.js.

На сайте io.js говорится : «io.js - это платформа javascript, совместимая с node и npm». Это набор инструментов (среда выполнения / виртуальная машина, менеджер пакетов и т. Д.), Который совместим с тем, что в настоящее время существует как узел. Предположительно, любые различия будут в базовой реализации и любых расширениях, которые io.js добавляет помимо набора функций node.js.

(Почему что-то совместимое с тем, что уже существует, разделяет сообщество? Почему это плохо?)

Обратите внимание, что io.js еще даже не выпущен! Однако дорожная карта io.js иллюстрирует некоторые особенно важные различия между node и io.

  • «Node уже чертовски стабилен», но все же Node еще не достиг 1.0; в настоящее время он составляет 0.10.33.
  • «Вся экосистема использует semver, в то время как узел использует запутанную четную / нечетную структуру выпуска». Введя новое имя для нового (иш) проекта, они смогут это исправить.

Насколько я понимаю, io.js - это 1.0-alpha1 и будущая версия node, но с:

Мэтт Болл
источник
15
"будущее воплощение" этот ответ предвзято относится к pro-io.js.
Брендан
27
«Реальность имеет хорошо известный либеральный уклон» - Стивен Колбер
Мэтт Болл
2
@BrendanAshworth: Даже если бы это было правдой, это, похоже, не оправдывает отрицательный голос. Если есть какие-либо аргументы против io.js, сообщите нам о них!
Берги
3
@Bergi Я на самом деле не отрицал ответ - то, что он предвзято, не означает, что это плохой ответ . Есть голос за :)
Брендан
3
@BrendanAshworth С технической точки зрения утверждение о «будущем воплощении» неверно. io.js продвигает развитие node.js (в частности, поддержку ES6) и возглавляется первоначальными создателями node.js. Учитывая, что nodejitsu (оператор NPM) был приобретен GoDaddy и только что зарегистрировал товарный знак на имя «npm», а имя «node.js» является товарным знаком Joyent, экосистема node.js / npm может оказаться под угрозой. Если дела пойдут плохо, переход на io.js вполне возможен.
Эван Плейс,
9

io.js был форком node.js. Но теперь io.js и node.js снова сотрудничают. Вот почему node.js напрямую переходит с 0.12.x прямо на 4.0.0, поскольку node.js версии 4.0.0 включает в себя все основные обновления из io.js версии 3.0.0.

ВИКАС КОЛИ
источник