Node.js ve io.js arasındaki fark nedir?


132

İo.js ve node.js arasındaki fark nedir ? Daha yeni io.jsolanı çatallandı node.jsve ayrıca yapan aynı kişilerden bazıları tarafından yapıldı node.js.

Bu çatala yol açan temel farklılıklar nelerdir ve bu, bir bütün olarak node.js topluluğu için ne anlama geliyor?



8
Okuyucular, o sırada soru mantıklı olsa da, io.js ve node.js'nin o zamandan beri tekrar bir araya geldiğini not etmelidir. Pratik olarak konuşursak, io.js artık gerçekten mevcut değil.
Boinst

7
tl; dr Bu ifadeye bakın io.js web sitesinde : io.js, Node.js projesiyle tekrar birleşti. Başka io.js sürümü olmayacak. İo.js'deki tüm özellikler Node.js v4 ve üzerinde mevcuttur .
Boaz

Yanıtlar:


123

io.js , Joyent'in Node.js çatalının bir parçasıdır

Farklılıklar nedir?

io.js:

  • İleri düğüm , temelde io.js ile birleştiriliyor
  • topluluk odaklı geliştirme ve aktif sürüm döngüleri temelinde çatallanmıştır
  • orijinal Node.js geliştiricilerinin çoğunu içerir
  • gelecekteki "Node.js ile birleştirme" hedefine sahiptir

Bu depo, katkıların, yayınların ve katılımcılığın açık bir yönetim modeli altında olduğu bir GitHub joyent / node çatalı olarak başladı.

Node.js için bugüne kadar inşa edilmiş olan npm ekosistemiyle uyumlu sürümleri artan düzenlilikle indirmeyi planlıyoruz.

node.js:

  • orijinal yazılım
  • son zamanlarda gelişmeyi yavaşlattı
  • Joyent sponsorluğunda
  • Joyent ticari markanın sahibidir Node.js

Neden ayrıldılar?

Öncelikle üç nedenden ötürü bölündü: daha hızlı, daha aktif sürümler ve bir 1.0.0sürüme doğru geliştirme, Danışma Kurulu'ndan ziyade topluluk odaklı bir geliştirme ve sürümler için dönem kullanımı.

Nedir danışma kurulu ?

Danışma Kurulu, Joyent'in Node.js'yi geliştirmeyi planlamak ve bir 1.0.0sürüme giden yolda gelecekteki özellikleri planlamak için daha merkezi ve daha hızlı bir yol getirme planıydı . Bunun, Node.js kullanan daha büyük şirketlerden oluşan bir yönetim kurulu oluşturarak yapılması planlandı.

Joyent'in blogundan alıntı:

Topluluk daha karmaşık hale geldikçe, tüm bileşenlerin ihtiyaçlarını dengelemenin yollarını bulmamız ve bu kuruluşların bir araya gelip projeye girdi sağlamaları için bir platform sağlamamız önemlidir.

Danışma kurulu neden nefret ediliyor?

Önceden, Node.js posta listeleri, GitHub sorunları aracılığıyla çalıştırılıyordu ve herkes fikrine katkıda bulunabilirdi. Bu fikir biraz nefret almaya başladı çünkü kontrolü sıradan, günlük katkıda bulunanlardan uzaklaştırdı ve gücü "büyük hedeflere " taşıdı: Walmart , Yahoo , IBM , Microsoft , Joyent , Netflix ve PayPal gibi şirketler .

Bununla ilgili dış kaynaklar


Bazı popüler modüller de Node.js desteğini sonlandırdı ve io.js'ye (yani jsdom ) taşındı
taco

9
Aslında, katkıda bulunanların çoğunun ayrılmasıyla sonuçlanan tüm cinsiyetlendirilmiş zamir çatışması nedeniyle kısmen bölünmüştü .. Başka nedenler de vardı ama develeri geri kıran
samandı

19
Politik doğruluk kesinlikle kötüdür ve (bir teknoloji projesi olmaya devam etmek isteyen) bir teknoloji projesinde yeri yoktur. Odak noktası sonuçlar ve meritokrasi olmalıdır. Ne yazık ki, giderek daha fazla proje bu politikaları ve tavırları benimsiyor. Mozilla, anahtarlarından birine hatırladığım gibi benzer bir şey yaptı. Bir projede böylesine saçmalığın çekildiğini görür görmez onu işaret ediyorum ve dikkat dağınıklığını protesto ediyorum. Devam ederse geri çekilirim. Herkes yapmalı. developer.slashdot.org/…
Ben Scherrey

4
io.js, node.js ile tekrar birleşiyor sanırım infoworld.com/article/2923081/javascript/…
Dinkar Thakur

4
"io.js, node.js ile tekrar birleşiyor" - ikisi de şimdi birleştirildi. Harika haber !! iojs.org/en
Deen John

19

Aslında, Node.js ve io.js arasında pratik farklılıklar vardır . Diğer cevaplarla unutulan bazı gerçekler:

  • Şu anda, io.js birçok açıdan Node.js'den biraz daha hızlıdır. Bir performans karşılaştırması burada bulunabilir .
  • io.js'nin ECMAScript 6 desteği, Node.js'den çok daha geniştir. Karşılaştırma burada bulunabilir .

Neden? İo.js 1.6.2, Google V8 4.1.0.25 ile ve Node.js 0.12.1, V8 3.28.73 ile gönderilir. Ayrıca, ECMAScript 6 için bayraklar Node.js ve io.js arasında farklıdır. io.js'nin ECMAScript 6 bayrakları kılavuzu burada bulunabilir .


2
İlginç bir nokta, sözünü ettiğiniz karşılaştırma tablosunun tarayıcıda JS devre dışı bırakılmışsa doğru görüntülenmemesidir (bu varsayılan olmalıdır. Periyot. Ve sormadan önce: Burada sunucu tarafı JS'den bahsediyoruz, Tarayıcı tarafından değil!)
Tino

18
Aslında tarayıcınızda JS'yi devre dışı bıraktınız mı ?! Milyonlarca web geliştiricisinin 'javascript etkinleştirilmeden çalışacak mı?' İfadesini duyduklarında iç geçirmesini sağlayan adam olmalısın.
Zasz

15

TL; DR io.js, node.js'nin gelecekteki enkarnasyonudur.

İo.js web sitesi şunu söylüyor : "io.js düğüm ve npm uyumlu bir javascript platformudur." Bu, halihazırda düğüm olarak var olanlarla uyumlu bir araç setidir (bir çalışma zamanı / VM, bir paket yöneticisi vb.). Herhangi bir fark muhtemelen temel uygulamada ve io.js'nin node.js özellik kümesinin ötesinde eklediği uzantılarda olacaktır.

(Mevcut olanla uyumlu bir şey neden topluluğu böler? Neden bu kötü bir şey?)

İo.js'nin henüz yayınlanmadığını unutmayın! Bununla birlikte , io.js yol haritası , düğüm ve io arasındaki özellikle ilgili bazı farklılıkları göstermektedir.

  • "Düğüm halihazırda oldukça kararlı" ve yine de Düğüm hala 1.0'a ulaşmadı; şu anda 0.10.33'te.
  • "Tüm ekosistem semver kullanırken, düğüm kafa karıştırıcı bir çift / tek sürüm yapısı kullanıyor." Yeni bir (ish) proje için yeni bir isim getirerek, bunu düzeltebilecekler.

Anladığım kadarıyla io.js, 1.0-alpha1 ve gelecekteki düğüm sürümüdür, ancak şunlarla birlikte:

  • farklı (mantıklı) sürüm oluşturma
  • kasıtlı olarak sık yayınlar
  • teknik komite tarafından yönetişim

15
"gelecekteki enkarnasyon" bu yanıt pro-io.js önyargılıdır.
Brendan

27
"Gerçekliğin bilinen bir liberal önyargısı vardır" - Stephen Colbert
Matt Ball

2
@BrendanAshworth: Doğru olsa bile, bu bir olumsuz oyu haklı çıkarmaz. Herhangi bir anti-io.js argümanı varsa, lütfen bunları bize bildirin!
Bergi

3
@Bergi Aslında yanıta olumsuz oy vermedim - önyargılı olması iyi bir cevap olmadığı anlamına gelmez . Bir olumlu oy var :)
Brendan

3
@BrendanAshworth Teknik olarak, 'gelecekteki enkarnasyon' ifadesi yanlış değil. io.js, node.js'nin (özellikle ES6 desteği) ilerlemesini zorluyor ve node.js'nin orijinal yaratıcıları tarafından yönetiliyor. Nodejitsu'nun (NPM operatörü) GoDaddy tarafından satın alındığı ve 'npm' adına bir ticari marka başvurusu yaptığı ve 'node.js' adının Joyent tarafından ticari marka olduğu göz önüne alındığında, node.js / npm ekosistemi tehlikede olabilir. İşler ters giderse, io.js'ye geçiş tamamen mümkündür.
Evan Plaice

9

io.js, node.js çatalıydı. Ama şimdi io.js ve node.js yeniden işbirliği yapıyor. Node.js sürüm 4.0.0, io.js sürüm 3.0.0'daki tüm önemli güncellemeleri içerdiğinden, node.js doğrudan 0.12.x'ten doğrudan 4.0.0'a atlamasının nedeni budur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.