Jaka jest różnica między node.js a io.js?

132

Jaka jest różnica między io.js a node.js ? Nowsza io.jsjest rozwidlony z node.js, a ponadto jest przez niektóre z tych samych osób, które złożyły node.js.

Jakie są kluczowe różnice, które doprowadziły do ​​tego rozwidlenia i co to oznacza dla całej społeczności node.js?

maudulus
źródło
8
Czytelnicy powinni zauważyć, że chociaż pytanie miało wówczas sens, io.js i node.js ponownie się połączyły. Praktycznie rzecz biorąc, io.js tak naprawdę już nie istnieje.
Boinst
7
tl; dr Zobacz to oświadczenie na stronie io.js : io.js ponownie połączył się z projektem Node.js. Nie będzie dalszych wydań io.js. Wszystkie funkcje io.js są dostępne w Node.js v4 i nowszych .
Boaz

Odpowiedzi:

124

io.js to rozwidlenie Node.js firmy Joyent

Jakie są różnice?

io.js:

  • Node-forward jest w zasadzie scalane z io.js
  • rozwidlone na podstawie rozwoju kierowanego przez społeczność i aktywnych cykli wydawniczych
  • zawiera wielu oryginalnych programistów Node.js.
  • ma przyszły cel „ponowne scalenie z Node.js”

To repozytorium rozpoczęło się jako rozwidlenie joyent / node na GitHub, w którym wkłady, wydania i wkład są objęte otwartym modelem zarządzania.

Zamierzamy wylądować z coraz większą regularnością wydania zgodne z ekosystemem npm zbudowanym do tej pory dla node.js.

Node.js:

  • oryginalne oprogramowanie
  • spowolnił rozwój w ostatnim czasie
  • sponsorowane przez Joyent
  • Joyent jest właścicielem znaku towarowego Node.js

Dlaczego się rozeszli?

Został podzielony głównie z trzech powodów: szybszych, bardziej aktywnych wydań i rozwoju w kierunku 1.0.0wydania, w celu rozwoju bardziej zorientowanego na społeczność niż Radę Doradczą oraz użycie semver do wydań.

Co to jest komisja doradcza ?

Rada doradcza była planem firmy Joyent, aby wprowadzić Node.js w bardziej scentralizowany i szybszy sposób planowania rozwoju i planowania przyszłych funkcji na drodze do 1.0.0wydania. Planowano to zrobić, tworząc zarząd większych firm, które używają Node.js.

Cytat z bloga Joyent:

Ponieważ społeczność staje się coraz bardziej złożona, ważne jest, abyśmy znaleźli sposoby na zrównoważenie potrzeb wszystkich jej członków i zapewnili platformę dla tych organizacji, aby się zjednoczyły i wniosły wkład w projekt.

Dlaczego nienawidzi rady doradczej?

Wcześniej Node.js był uruchamiany za pośrednictwem list mailingowych, problemów z GitHub i każdy mógł wnieść swój pomysł. Pomysł ten zaczął budzić nienawiść, ponieważ odciął kontrolę od przeciętnego, codziennego współpracownika i przeniósł władzę do „wielkich strzałów”: firm takich jak Walmart , Yahoo , IBM , Microsoft , Joyent , Netflix i PayPal .

Źródła zewnętrzne na ten temat

Brendan
źródło
Niektóre popularne moduły również zakończyły obsługę Node.js i przeniosły się na io.js (tj. Jsdom )
taco
9
Właściwie został podzielony na części z powodu całego konfliktu zaimków płciowych, który zakończył się odejściem większości ich współpracowników. Były inne powody, ale to była
kropla,
20
Polityczna poprawność jest absolutnie zła i nie ma miejsca w projekcie technologicznym (który chce pozostać projektem technologicznym). Należy skupić się na wynikach i merytokracji. Niestety, coraz więcej projektów przyjmuje taką politykę i podejście. Mozilla zrobiła coś podobnego, o czym pamiętam, jednemu ze swoich kluczowych ludzi. Gdy tylko widzę takie bzdury, które mają trwać w projekcie, wskazuję na to i protestuję przeciwko rozproszeniu. Jeśli to trwa, wycofuję się. Każdy powinien. developers.slashdot.org/…
Ben Scherrey
4
io.js ponownie łączy się z node.js, chyba infoworld.com/article/2923081/javascript/ ...
Dinkar Thakur
4
„io.js ponownie łączy się z node.js” - oba zostały połączone. Dobre wieści !! iojs.org/en
Deen John
19

W rzeczywistości istnieją praktyczne różnice między node.js i io.js . Niektóre fakty zapomniane przez inne odpowiedzi:

  • Obecnie io.js jest pod wieloma względami nieco szybszy niż Node.js. Test wydajności można znaleźć tutaj .
  • Obsługa io.js ECMAScript 6 jest znacznie szersza niż Node.js. Porównanie można znaleźć tutaj .

Czemu? Ponieważ io.js 1.6.2 jest dostarczany z Google V8 4.1.0.25, a Node.js 0.12.1 jest dostarczany z V8 3.28.73. Ponadto flagi dla ECMAScript 6 są różne w Node.js i io.js. Przewodnik io.js po flagach ECMAScript 6 można znaleźć tutaj .

Gabriel Tomitsuka
źródło
2
Ciekawym haczykiem jest to, że wspomniana tabela porównawcza nie wyświetla się poprawnie, jeśli JS jest wyłączony w przeglądarce (co powinno być domyślne. Kropka. A zanim zapytasz: mówimy tutaj o JS po stronie serwera, a nie po stronie przeglądarki!)
Tino
18
Naprawdę masz wyłączony JS w swojej przeglądarce ?! Musisz być tym facetem, który sprawia, że ​​miliony twórców stron internetowych wzdychają, gdy słyszą „czy to zadziała bez włączonej obsługi JavaScript?”
Zasz
15

TL; DR io.js to przyszłe wcielenie node.js.

Witryna io.js mówi : „io.js to platforma javascript zgodna z węzłami i npm”. Jest to zestaw narzędzi (środowisko wykonawcze / maszyna wirtualna, menedżer pakietów itp.), Który jest zgodny z tym, co obecnie istnieje jako węzeł. Wszelkie różnice będą prawdopodobnie dotyczyć podstawowej implementacji i wszelkich rozszerzeń, które io.js dodaje poza zestawem funkcji node.js.

(Dlaczego coś, co jest zgodne z tym, co już istnieje, podzieliłoby społeczność? Dlaczego to źle?)

Zwróć uwagę, że io.js nie został jeszcze wydany! Jednak mapa drogowa io.js ilustruje niektóre szczególnie istotne różnice między node i io.

  • „Węzeł jest już cholernie stabilny”, a mimo to Node nadal nie osiągnął wersji 1.0; obecnie jest na 0.10.33.
  • „Cały ekosystem używa semver, podczas gdy węzeł używa mylącej struktury uwalniania parzystych / nieparzystych”. Wprowadzając nową nazwę dla nowego (ish) projektu, będą w stanie to naprawić.

Tak więc, jak rozumiem, io.js to 1.0-alpha1 i przyszłe wydanie węzła, ale z:

  • różne (rozsądne) wersje wydania
  • celowo częste publikacje
  • zarządzanie przez komitet techniczny
Matt Ball
źródło
15
„przyszłe wcielenie” ta odpowiedź jest stronnicza pro-io.js.
Brendan,
27
„Rzeczywistość ma dobrze znane liberalne nastawienie” - Stephen Colbert
Matt Ball,
2
@BrendanAshworth: Nawet jeśli to prawda, nie wydaje się to usprawiedliwiać negatywnego głosu. W przypadku wystąpienia argumentów anty-io.js, prosimy o ich poinformowanie!
Bergi,
3
@Bergi Właściwie nie przegłosowałem odpowiedzi - tylko dlatego, że jest stronnicza, nie oznacza, że nie jest to dobra odpowiedź . Jest głos za :)
Brendan
3
@BrendanAshworth Technicznie rzecz biorąc, stwierdzenie „przyszłe wcielenie” nie jest niepoprawne. io.js wspiera rozwój node.js (w szczególności wsparcie ES6) i jest kierowany przez oryginalnych twórców node.js. Biorąc pod uwagę, że nodejitsu (operator NPM) zostało przejęte przez GoDaddy i właśnie zgłosiło znak towarowy na nazwę „npm”, a nazwa „node.js” jest zastrzeżona przez Joyent, ekosystem node.js / npm może być zagrożony. Jeśli sprawy pójdą na marne, migracja do io.js jest całkowicie możliwa.
Evan Plaice,
9

io.js był rozwidleniem node.js. Ale teraz io.js i node.js znów współpracują. Dlatego właśnie node.js przeskakuje bezpośrednio z 0.12.x bezpośrednio do 4.0.0, ponieważ node.js w wersji 4.0.0 zawiera wszystkie główne aktualizacje z io.js w wersji 3.0.0

VIKAS KOHLI
źródło