Qual é a diferença entre node.js e io.js?

132

Qual é a diferença entre io.js e node.js ? O mais recente io.jsé bifurcado node.jse, além disso, é feito por algumas das mesmas pessoas que o fizeram node.js.

Quais são as principais diferenças que levaram a esse fork e o que isso significa para a comunidade node.js. como um todo?

maudulus
fonte
8
Os leitores devem observar que, enquanto a pergunta fazia sentido na época, io.js e node.js foram mesclados. Na prática, io.js não existe mais.
precisa saber é
7
tl; dr Veja esta declaração no site io.js : io.js foi mesclado com o projeto Node.js. novamente. Não haverá mais lançamentos do io.js. Todos os recursos do io.js estão disponíveis no Node.js v4 e superior .
Boaz

Respostas:

123

io.js é um fork do Node.js de Joyent

Quais são as diferenças?

io.js:

  • O encaminhamento de nó está basicamente sendo mesclado no io.js
  • bifurcada com base no desenvolvimento orientado pela comunidade e em ciclos de liberação ativos
  • inclui muitos dos desenvolvedores originais do Node.js.
  • tem o objetivo futuro de "mesclar novamente com o Node.js"

Este repositório começou como um fork do joyit / nó no GitHub, em que contribuições, liberações e contribuições estão sob um modelo de governança aberto.

Pretendemos pousar, com crescente regularidade, lançamentos compatíveis com o ecossistema npm que foi construído até o momento para o node.js.

Node.js:

  • o software original
  • desacelerou o desenvolvimento nos últimos tempos
  • patrocinado pela Joyent
  • Joyent é proprietária da marca registrada Node.js

Por que eles se separaram?

Ele foi dividido principalmente por três razões: lançamentos mais rápidos e ativos e desenvolvimento em relação a um 1.0.0lançamento, para um desenvolvimento mais direcionado à comunidade do que o Conselho Consultivo e o uso de semver para lançamentos.

Qual é o conselho consultivo ?

O Conselho Consultivo era o plano de Joyent de trazer ao Node.js uma maneira mais centralizada e rápida de planejar o desenvolvimento e planejar os recursos futuros ao longo do caminho para uma 1.0.0liberação. Isso foi planejado, reunindo um conselho de empresas maiores que usam o Node.js

Citação do blog de Joyent:

À medida que a comunidade se torna mais complexa, é importante encontrar maneiras de equilibrar as necessidades de todos os constituintes e fornecer uma plataforma para que essas organizações se reúnam e forneçam informações para o projeto.

Por que o conselho consultivo é odiado?

Anteriormente, o Node.js era executado por meio de listas de discussão, problemas no GitHub e qualquer pessoa poderia contribuir com sua ideia. Essa idéia começou a ter um certo ódio, porque afastou o controle de seu colaborador comum e diário e transferiu o poder para os "figurões": empresas como Walmart , Yahoo , IBM , Microsoft , Joyent , Netflix e PayPal .

Fontes externas sobre este

Brendan
fonte
Alguns módulos populares também encerrou o suporte para Node.js e se mudou para io.js (ie jsdom )
taco
9
Na verdade, foi dividida em parte becasue de todo o conflito pronome de gênero, que terminou na maioria dos seus colaboradores deixando .. Havia outras razões, mas essa era a palha que quebrou o camelo para trás
evandentremont
19
O politicamente correto é absolutamente mau e não tem lugar em um projeto de tecnologia (que quer continuar sendo um projeto de tecnologia). O foco deve estar nos resultados e na meritocracia. Infelizmente, mais e mais projetos estão adotando essas políticas e atitudes. A Mozilla fez algo semelhante, ao que me lembro, de uma das pessoas-chave. Assim que vejo essas bobagens ganhando força em um projeto, aponto e protesto contra a distração. Se continuar, eu me retiro. Todo mundo deveria. Desenvolvedores.slashdot.org/…
Ben Scherrey
4
io.js está se fundindo para trás com node.js eu acho infoworld.com/article/2923081/javascript/...
Dinkar Thakur
4
"io.js está mesclando de volta com node.js" - ambos foram mesclados agora. Boas notícias !! iojs.org/en
Deen John
19

Na verdade, existem diferenças práticas entre Node.js e io.js . Alguns fatos esquecidos por outras respostas:

  • Atualmente, o io.js. é, em vários aspectos, um pouco mais rápido que o Node.js. Uma referência de desempenho pode ser encontrada aqui .
  • O suporte ao ECMAScript 6 do io.js é muito mais amplo que o Node.js. A comparação pode ser encontrada aqui .

Por quê? Como o io.js 1.6.2 é enviado com o Google V8 4.1.0.25 e o Node.js 0.12.1 é fornecido com a V8 3.28.73. Além disso, os sinalizadores para ECMAScript 6 são diferentes entre Node.js e io.js. O guia do io.js. para sinalizadores do ECMAScript 6 pode ser encontrado aqui .

Gabriel Tomitsuka
fonte
2
Um problema interessante é que a tabela de comparação mencionada não será exibida corretamente se o JS estiver desativado no navegador (que deve ser o padrão. Período. E antes de você perguntar: estamos falando de JS do lado do servidor aqui, não do lado do navegador!)
Tino
18
Você realmente tem o JS desativado no seu navegador ?! Você deve ser aquele cara que faz com que milhões de desenvolvedores da Web suspirem quando ouvem 'funcionará sem o javascript ativado?'
Zasz
15

TL; DR io.js é a futura encarnação do node.js.

O site io.js diz : "io.js é uma plataforma javascript compatível com nós e npm." É um conjunto de ferramentas (um tempo de execução / VM, um gerenciador de pacotes etc.) que é compatível com o que existe atualmente como nó. Presumivelmente, quaisquer diferenças estarão na implementação subjacente e quaisquer extensões adicionadas pelo io.js além do conjunto de recursos node.js.

(Por que algo compatível com o que já existe divide a comunidade? Por que isso é ruim?)

Observe que io.js ainda não foi lançado! No entanto, o roteiro do io.js. ilustra algumas diferenças particularmente relevantes entre o nó e o io.

  • "O nó já é bastante estável" e ainda assim o nó ainda não atingiu 1,0; está atualmente em 0.10.33.
  • "Todo o ecossistema usa semver enquanto o nó usa uma estrutura de liberação par / ímpar confusa". Ao introduzir um novo nome para um novo projeto (ish), eles poderão consertar isso.

Pelo que entendi, io.js é a versão 1.0-alpha1 e futura do nó, mas com:

  • versionamento de versão diferente (sã)
  • lançamentos deliberadamente frequentes
  • governança por um comitê técnico
Matt Ball
fonte
15
"a encarnação futura", esta resposta é tendenciosa a favor do io.js.
Brendan
27
"A realidade tem um viés liberal conhecido" - Stephen Colbert
Matt Ball
2
@BrendanAshworth: Mesmo que fosse verdade, isso não parece justificar um voto negativo. Caso haja algum argumento anti-io.js., informe-nos!
Bergi
3
@ Bergi Na verdade, eu não neguei a resposta - só porque é parcial, não significa que não seja uma boa resposta . Há um voto positivo :)
Brendan
3
@BrendanAshworth Tecnicamente, a declaração de 'encarnação futura' não está incorreta. O io.js está promovendo o avanço do node.js (especificamente suporte ao ES6) e é liderado pelos criadores originais do node.js. Considerando que o nodejitsu (o operador do NPM) foi adquirido pelo GoDaddy e acabou de registrar uma marca comercial no nome 'npm' e o nome 'node.js' é marca registrada da Joyent, o ecossistema node.js / npm pode estar em risco. Se tudo der errado, uma migração para io.js é completamente possível.
Evan Plaice
9

io.js foi uma bifurcação de node.js. Mas agora io.js e node.js colaboram novamente. É por isso que o node.js salta diretamente da 0.12.x diretamente para a 4.0.0, pois a node.js versão 4.0.0 inclui todas as principais atualizações da io.js versão 3.0.0

VIKAS KOHLI
fonte