Qual è la differenza tra node.js e io.js?


132

Qual è la differenza tra io.js e node.js ? Il più recente io.jsè biforcuto node.jsed è inoltre realizzato da alcune delle stesse persone che hanno realizzato node.js.

Quali sono le differenze chiave che hanno portato a questo fork e cosa significa per la comunità node.js nel suo insieme?



8
I lettori dovrebbero notare, mentre la domanda aveva senso in quel momento, io.js e node.js da allora si sono fusi di nuovo insieme. In pratica, io.js non esiste più.
Boinst,

7
tl; dr Vedi questa affermazione sul sito web io.js : io.js si è nuovamente unito al progetto Node.js. Non ci saranno ulteriori rilasci di io.js. Tutte le funzionalità di io.js sono disponibili in Node.js v4 e versioni successive .
Boaz,

Risposte:


123

io.js è un fork di Joyent's Node.js

Quali sono le differenze?

io.js:

  • Il nodo-forward viene fondamentalmente unito a io.js
  • biforcato sulla base di sviluppo guidato dalla comunità e cicli di rilascio attivo
  • include molti degli sviluppatori Node.js originali
  • ha l'obiettivo futuro di "fondersi con Node.js"

Questo repository è iniziato come un fork di GitHub di gioioso / nodo in cui i contributi, le versioni e il contributo sono sotto un modello di governance aperto.

Intendiamo sbarcare, con crescente regolarità, versioni compatibili con l'ecosistema npm che è stato costruito fino ad oggi per node.js.

Node.js:

  • il software originale
  • ha rallentato lo sviluppo negli ultimi tempi
  • sponsorizzato da Joyent
  • Joyent possiede il marchio Node.js

Perché si sono separati?

È stato principalmente suddiviso per tre motivi: versioni più veloci e più attive e sviluppo verso una 1.0.0versione, per uno sviluppo più guidato dalla comunità piuttosto che dall'Advisory Board , e l'uso di semver per le versioni.

Cos'è il comitato consultivo ?

L'Advisory Board era il piano di Joyent di portare Node.js in un modo più centralizzato e più veloce per pianificare lo sviluppo e pianificare le funzionalità future lungo la strada verso un 1.0.0rilascio. Questo è stato pianificato per essere realizzato mettendo insieme un consiglio di società più grandi che usano Node.js

Citazione dal blog di Joyent:

Man mano che la comunità diventa più complessa, è importante trovare modi per bilanciare le esigenze di tutti i componenti e fornire una piattaforma affinché queste organizzazioni possano unirsi e fornire input al progetto.

Perché il comitato consultivo è odiato?

In precedenza, Node.js era gestito tramite mailing list, problemi di GitHub e chiunque poteva contribuire con la propria idea. Questa idea ha iniziato a ricevere un po 'di odio perché ha allontanato il controllo dal tuo collaboratore medio e quotidiano e ha spostato il potere ai "grandi colpi": aziende come Walmart , Yahoo , IBM , Microsoft , Joyent , Netflix e PayPal .

Fonti esterne su questo


Alcuni moduli popolari hanno anche terminato il supporto per Node.js e si sono spostati su io.js (ovvero jsdom )
taco

9
In realtà fu diviso in parte a causa dell'intero conflitto di pronome di genere che si concluse con la maggior parte dei loro collaboratori che se ne andarono .. C'erano altri motivi, ma quella era la goccia che ruppe i cammelli
evandentremont,

19
La correttezza politica è assolutamente malvagia e non ha spazio in un progetto tecnologico (che vuole continuare a essere un progetto tecnologico). L'attenzione dovrebbe essere rivolta ai risultati e alla meritocrazia. Purtroppo sempre più progetti stanno adottando queste politiche e questi atteggiamenti. Mozilla ha fatto qualcosa di simile mentre ricordo una delle loro persone chiave. Non appena vedo che tali sciocchezze ottengono trazione in un progetto, lo faccio notare e protesto per la distrazione. Se continua, mi ritiro. Tutti dovrebbero. developers.slashdot.org/…
Ben Scherrey,

4
io.js si sta fondendo con node.js immagino infoworld.com/article/2923081/javascript/…
Dinkar Thakur

4
"io.js si sta fondendo nuovamente con node.js" - entrambi si sono uniti ora. Grandi notizie !! iojs.org/en
Deen John,

19

Infatti, ci sono differenze pratiche tra Node.js e io.js . Alcuni fatti dimenticati da altre risposte:

  • Attualmente io.js è, per molti aspetti, un po 'più veloce di Node.js. Un benchmark delle prestazioni può essere trovato qui .
  • Il supporto ECMAScript 6 di io.js è molto più ampio di Node.js. Il confronto può essere trovato qui .

Perché? Perché io.js 1.6.2 viene fornito con Google V8 4.1.0.25 e Node.js 0.12.1 viene fornito con V8 3.28.73. Inoltre, i flag per ECMAScript 6 sono diversi tra Node.js e io.js. La guida di io.js alle bandiere ECMAScript 6 è disponibile qui .


2
Un problema interessante è che la tabella di confronto che menzioni non viene visualizzata correttamente se JS è disabilitato nel browser (che dovrebbe essere il valore predefinito. Periodo. E prima di chiedere: stiamo parlando del lato server JS qui, non del lato browser!)
Tino,

18
Hai JS disabilitato nel tuo browser ?! Devi essere quel tipo che fa sospirare milioni di sviluppatori web quando sentono "funzionerà senza javascript abilitato?"
Zasz,

15

TL; DR io.js è la futura incarnazione di node.js.

Il sito web io.js dice : "io.js è una piattaforma javascript compatibile con nodi e npm". È un insieme di strumenti (un runtime / VM, un gestore di pacchetti, ecc.) Che è compatibile con quello che esiste attualmente come nodo. Eventuali differenze presumibilmente riguarderanno l'implementazione sottostante e tutte le estensioni che io.js aggiunge oltre il set di funzionalità node.js.

(Perché qualcosa di compatibile con ciò che esiste già dividerebbe la comunità? Perché è una cosa negativa?)

Nota che io.js non è stato ancora rilasciato! Tuttavia la tabella di marcia io.js illustra alcune differenze particolarmente rilevanti tra nodo e io.

  • "Il nodo è dannatamente stabile già" e tuttavia il nodo ancora non ha colpito 1.0; è attualmente a 0.10.33.
  • "L'intero ecosistema utilizza semver mentre il nodo utilizza una struttura di rilascio pari / dispari confusa." Introducendo un nuovo nome per un nuovo progetto (ish), saranno in grado di risolverlo.

Quindi, a quanto ho capito, io.js è la versione 1.0-alpha1 e futura del nodo, ma con:

  • differenti versioni (sane) di versioni
  • rilasci deliberatamente frequenti
  • governance da parte di un comitato tecnico

15
"la futura incarnazione" questa risposta è di parte pro-io.js.
Brendan,

27
"La realtà ha un noto pregiudizio liberale" - Stephen Colbert
Matt Ball,

2
@BrendanAshworth: anche se fosse vero, ciò non sembra giustificare un downvote. Nel caso in cui vi siano argomenti anti-io.js, fatecelo sapere!
Bergi,

3
@Bergi In realtà non ho votato in negativo la risposta - solo perché è di parte non significa che non sia una buona risposta . C'è un voto :)
Brendan,

3
@BrendanAshworth Tecnicamente, l'affermazione "incarnazione futura" non è errata. io.js sta spingendo l'avanzamento di node.js (in particolare il supporto ES6) ed è diretto dai creatori originali di node.js. Considerando che nodejitsu (l'operatore di NPM) è stato acquisito da GoDaddy e ha appena depositato un marchio commerciale sul nome "npm" e il nome "node.js" è un marchio registrato da Joyent, l'ecosistema node.js / npm potrebbe essere a rischio. Se le cose vanno a sud, una migrazione a io.js è completamente possibile.
Evan Plaice,

9

io.js era un fork di node.js. Ma ora io.js e node.js collaborano nuovamente. Ecco perché node.js passa direttamente da 0.12.x direttamente a 4.0.0 poiché node.js versione 4.0.0 include tutti i principali aggiornamenti da io.js versione 3.0.0

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.