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?
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 .
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ń.
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 .
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/…
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 .
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:
„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
Odpowiedzi:
io.js to rozwidlenie Node.js firmy Joyent
Jakie są różnice?
io.js:
Node.js:
Node.js
Dlaczego się rozeszli?
Został podzielony głównie z trzech powodów: szybszych, bardziej aktywnych wydań i rozwoju w kierunku
1.0.0
wydania, 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.0
wydania. Planowano to zrobić, tworząc zarząd większych firm, które używają Node.js.Cytat z bloga Joyent:
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
źródło
W rzeczywistości istnieją praktyczne różnice między node.js i io.js . Niektóre fakty zapomniane przez inne odpowiedzi:
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 .
źródło
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.
Tak więc, jak rozumiem, io.js to 1.0-alpha1 i przyszłe wydanie węzła, ale z:
źródło
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
źródło