Чим відрізняється node.js від io.js?


132

У чому різниця між io.js і Node.js ? Більш свіжий io.jsвилазили з нього node.js, а також його роблять деякі ті самі люди, що зробилиnode.js .

Які ключові відмінності призвели до цього вила, і що це означає для спільноти node.js в цілому?



8
Читачі мають зауважити, тоді як питання мало сенс у той час, io.js і node.js з тих пір об'єдналися назад. Практично кажучи, io.js насправді вже не існує.
Boinst

7
tl; dr Перегляньте це твердження на веб-сайті io.js : io.js знову об'єднався з проектом Node.js. Більше не буде випусків io.js. Усі функції в io.js доступні в Node.js v4 та вище .
Боаз

Відповіді:


123

io.js - це вилка Node.js Joyent

Які відмінності?

io.js:

  • Вузол вперед в основному об'єднується в io.js
  • роздвоєні на основі циклів розвитку та активного вивільнення, орієнтованих на громаду
  • включає багато оригінальних розробників Node.js
  • має майбутню мету - "об'єднання назад з Node.js"

Це сховище розпочалося як вилка GitHub з радістю / вузлом, де внески, випуски та внески внесені під відкриту модель управління.

Ми маємо намір висадити, зі збільшенням регулярності, випуски, сумісні з екосистемою npm, яка була побудована на сьогодні для node.js.

Node.js:

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

Чому вони розкололися?

Він був розбитий в основному з трьох причин: швидші, активніші випуски та розвиток до 1.0.0випуску, для більш розвиненого розвитку, а не дорадчої ради , та використання semver для випусків.

Що таке дорадча рада ?

Консультативною радою був план Джойента забезпечити Node.js більш централізованим, швидшим способом планування розвитку та планування майбутніх особливостей на шляху до 1.0.0виходу. Це було заплановано зробити шляхом складання ради великих компаній, які використовують Node.js

Цитата з блогу Joyent:

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

Чому дорадча рада ненавидить?

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

Зовнішні джерела про це


Деякі популярні модулі також закінчили підтримку Node.js і перейшли до io.js (тобто jsdom )
taco

9
Це було фактично розбито частково через увесь конфлікт між гендерними займенниками, який закінчився, коли більшість їхніх учасників виїхали. Були й інші причини, але це була солома, яка зламала верблюдів назад
evandentremont

19
Політична коректність абсолютно зла і не має місця в технологічному проекті (який хоче і надалі бути технологічним проектом). Основна увага повинна бути приділена результатам та меритократії. На жаль, все більше і більше проектів переймають цю політику та погляди. Мозілла зробив щось подібне, наскільки я пам'ятаю одного з їх ключових людей. Як тільки я бачу, як такі дурниці отримують тягу в проекті, я вказую на це і протестую проти відвернення. Якщо це продовжується, я знімаюсь. Кожен повинен. developers.slashdot.org/…
Бен Шеррі

4
io.js зливається з node.js я здогадуюсь infoworld.com/article/2923081/javascript/…
Dinkar Thakur

4
"io.js зливається назад з node.js" - обидва об'єдналися зараз. Відмінна новина !! iojs.org/uk
Дін Джон

19

Насправді між Node.js та io.js є практичні відмінності . Деякі факти, забуті іншими відповідями:

  • Наразі io.js у багатьох аспектах трохи швидший, ніж Node.js. Орієнтир ефективності можна знайти тут .
  • Підтримка io.js ECMAScript 6 набагато ширша, ніж 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, а не на стороні браузера!)
Тіно

18
У вас фактично відключений JS у вашому браузері ?! Ви повинні бути тим хлопцем, який змушує зітхати мільйони веб-розробників, коли вони чують, "чи буде це робота без включеного Javascript?"
Заш

15

TL; DR io.js - це майбутнє втілення node.js.

На сайті io.js сказано : "io.js - це сумісна платформа javascript з node & npm." Це набір інструментів (час виконання / VM, менеджер пакунків тощо), сумісний з тим, що існує як вузол. Будь-які відмінності, ймовірно, будуть в базовій реалізації, а також будь-які розширення, які додає io.js за межі набору функцій node.js.

(Чому щось сумісне з тим, що вже існує, поділяє громаду? Чому це погано?)

Зауважте, що io.js ще не вийшов! Однак дорожня карта io.js ілюструє деякі особливо актуальні відмінності між вузлом та io.

  • "Вузол вже проклятий стабільно", і все ж Node досі не досяг 1,0; наразі о 0.10.33.
  • "Вся екосистема використовує semver, а вузол використовує заплутану структуру парного / непарного випуску." Вводячи нову назву нового (ish) проекту, вони зможуть це виправити.

Оскільки я розумію, io.js - це 1.0-alpha1 і майбутній випуск вузла, але з:


15
"майбутнє втілення" ця відповідь є pro-io.js упередженою.
Брендан

27
"Реальність має добре відомий ліберальний ухил" - Стівен Колберт
Метт Бал

2
@BrendanAshworth: Навіть якщо це було правдою, це, мабуть, не виправдовує скорочення. Якщо є якісь аргументи anti-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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.