Apa perbedaan antara node.js dan io.js?

132

Apa perbedaan antara io.js dan node.js ? Yang lebih baru io.jsadalah forked dari node.js, dan selanjutnya dibuat oleh beberapa orang yang sama yang dibuat node.js.

Apa perbedaan utama yang menyebabkan garpu ini, dan apa artinya bagi komunitas node.js secara keseluruhan?

maudulus
sumber
8
Pembaca harus mencatat, sementara pertanyaan masuk akal pada saat itu, io.js dan node.js telah bergabung kembali. Secara praktis, io.js tidak benar-benar ada lagi.
Boinst
7
tl; dr. Lihat pernyataan ini di situs web io.js : io.js telah bergabung dengan proyek Node.js lagi. Tidak akan ada rilis io.js lebih lanjut. Semua fitur di io.js tersedia di Node.js v4 dan di atasnya .
Boaz

Jawaban:

123

io.js adalah cabang dari Joyent's Node.js

Apa perbedaannya?

io.js:

  • Node-forward pada dasarnya digabung menjadi io.js
  • bercabang berdasarkan pembangunan yang digerakkan masyarakat dan siklus pelepasan aktif
  • termasuk banyak pengembang Node.js asli
  • memiliki tujuan masa depan "bergabung kembali dengan Node.js"

Repositori ini dimulai sebagai garpu GitHub yang penuh sukacita / simpul di mana kontribusi, rilis, dan kontribusi berada di bawah model tata kelola terbuka.

Kami bermaksud mendarat, dengan meningkatnya keteraturan, rilis yang kompatibel dengan ekosistem npm yang telah dibangun hingga saat ini untuk node.js.

Node.js:

  • perangkat lunak asli
  • telah memperlambat pembangunan dalam beberapa waktu terakhir
  • disponsori oleh Joyent
  • Joyent memiliki merek dagang Node.js

Mengapa mereka berpisah?

Itu terutama terpecah karena tiga alasan: rilis lebih cepat, lebih aktif dan pengembangan menuju 1.0.0rilis, untuk pengembangan yang lebih berbasis masyarakat daripada Dewan Penasihat , dan penggunaan semver untuk rilis.

Apa itu dewan penasihat ?

Dewan Penasihat adalah rencana Joyent untuk membawa Node.js cara yang lebih terpusat, lebih cepat untuk merencanakan pengembangan dan merencanakan fitur masa depan di sepanjang jalan menuju 1.0.0rilis. Ini direncanakan akan dilakukan dengan mengumpulkan dewan perusahaan besar yang menggunakan Node.js

Kutipan dari blog Joyent:

Ketika komunitas menjadi lebih kompleks, penting bahwa kita menemukan cara untuk menyeimbangkan kebutuhan semua konstituen dan menyediakan landasan bagi organisasi-organisasi ini untuk berkumpul dan memberikan masukan ke dalam proyek.

Mengapa dewan penasihat dibenci?

Sebelumnya, Node.js dijalankan melalui milis, masalah GitHub, dan siapa saja dapat menyumbangkan ide mereka. Gagasan ini mulai mendapat kebencian karena membawa kendali dari rata-rata Anda, kontributor sehari-hari dan memindahkan kekuatan ke "peluang besar": perusahaan seperti Walmart , Yahoo , IBM , Microsoft , Joyent , Netflix , dan PayPal .

Sumber luar tentang ini

Brendan
sumber
Beberapa modul populer juga telah mengakhiri dukungan untuk Node.js dan pindah ke io.js (yaitu jsdom )
taco
9
Itu sebenarnya terbelah sebagian karena seluruh konflik kata ganti gender yang berakhir pada sebagian besar kontributor mereka pergi .. Ada alasan lain tapi itu adalah sedotan yang mematahkan unta kembali
evandentremont
19
Kebenaran politik benar-benar jahat dan tidak memiliki tempat dalam proyek teknologi (yang ingin terus menjadi proyek teknologi). Fokusnya harus pada hasil dan meritokrasi. Sayangnya, semakin banyak proyek yang mengadopsi kebijakan dan sikap ini. Mozilla melakukan hal yang sama ketika saya ingat dengan salah satu orang kunci mereka. Begitu saya melihat omong kosong seperti itu mendapatkan daya tarik dalam suatu proyek, saya menunjukkannya dan memprotes gangguan tersebut. Jika terus berjalan saya menarik. Semua orang harus. developers.slashdot.org/…
Ben Scherrey
4
io.js bergabung kembali dengan node.js saya kira infoworld.com/article/2923081/javascript/…
Dinkar Thakur
4
"io.js bergabung kembali dengan node.js" - keduanya telah bergabung sekarang. Kabar baik !! iojs.org/en
Deen John
19

Bahkan, ada perbedaan praktis antara Node.js dan io.js . Beberapa fakta dilupakan oleh jawaban lain:

  • Saat ini, io.js, dalam banyak aspek, sedikit lebih cepat daripada Node.js. Tolok ukur kinerja dapat ditemukan di sini .
  • Dukungan ECMAScript 6 io.js jauh lebih luas daripada Node.js. Perbandingan dapat ditemukan di sini .

Mengapa? Karena io.js 1.6.2 dikirimkan dengan Google V8 4.1.0.25, dan Node.js 0.12.1 dikirimkan dengan V8 3.28.73. Juga, flag untuk ECMAScript 6 berbeda antara Node.js dan io.js. Panduan io.js untuk flag ECMAScript 6 dapat ditemukan di sini .

Gabriel Tomitsuka
sumber
2
Yang menarik adalah, bahwa tabel perbandingan yang Anda sebutkan tidak ditampilkan dengan benar jika JS dinonaktifkan di peramban (yang seharusnya menjadi default. Periode. Dan sebelum Anda bertanya: Kami berbicara sisi server JS di sini, bukan sisi Peramban!)
Tino
18
Anda sebenarnya menonaktifkan JS di peramban ?! Anda pasti pria yang membuat jutaan web devs mendesah ketika mereka mendengar 'akankah ini berhasil tanpa javascript diaktifkan?'
Zasz
15

TL; DR io.js adalah inkarnasi node.js.

Situs web io.js mengatakan : "io.js adalah platform javascript yang kompatibel dengan node & npm." Ini adalah seperangkat alat (runtime / VM, manajer paket, dll.) Yang kompatibel dengan apa yang saat ini ada sebagai simpul. Perbedaan apa pun mungkin ada dalam implementasi yang mendasarinya, dan setiap ekstensi yang ditambahkan io.js di luar rangkaian fitur node.js.

(Mengapa sesuatu yang kompatibel dengan apa yang sudah ada memecah komunitas? Mengapa itu hal yang buruk?)

Perhatikan bahwa io.js bahkan belum dirilis! Namun roadmap io.js menggambarkan beberapa perbedaan yang sangat relevan antara node dan io.

  • "Node sudah sangat stabil," namun Node masih belum mencapai 1,0; saat ini di 0,10.33.
  • "Seluruh ekosistem menggunakan semver sementara node menggunakan struktur rilis even / odd yang membingungkan." Dengan memperkenalkan nama baru untuk proyek (ish) baru, mereka akan dapat memperbaikinya.

Jadi seperti yang saya pahami, io.js adalah 1.0-alpha1 dan rilis node masa depan, tetapi dengan:

  • versi rilis yang berbeda (waras)
  • rilis yang sengaja sering
  • pemerintahan oleh komite teknis
Matt Ball
sumber
15
"masa depan inkarnasi" jawaban ini bias pro-io.js.
Brendan
27
"Realitas memiliki bias liberal yang terkenal" - Stephen Colbert
Matt Ball
2
@ BrendanAshworth: Bahkan jika itu benar, itu tampaknya tidak membenarkan downvote. Jika ada argumen anti-io.js, beri tahu kami!
Bergi
3
@Bergi Saya sebenarnya tidak meremehkan jawabannya - hanya karena itu bias bukan berarti itu bukan jawaban yang baik . Ada upvote :)
Brendan
3
@ BrendanAshworth Secara teknis, pernyataan 'inkarnasi masa depan' tidak salah. io.js mendorong kemajuan node.js (khususnya dukungan ES6) dan dipimpin oleh pencipta asli node.js. Mempertimbangkan bahwa nodejitsu (operator NPM) telah diakuisisi oleh GoDaddy dan baru saja mengajukan merek dagang pada nama 'npm' dan nama 'node.js' adalah merek dagang oleh Joyent, ekosistem node.js / npm mungkin dalam bahaya. Jika ada yang berubah ke selatan, migrasi ke io.js sepenuhnya dimungkinkan.
Evan Plaice
9

io.js adalah fork dari node.js. Tapi sekarang io.js dan node.js kembali berkolaborasi. Jadi itu sebabnya node.js langsung melompat dari 0.12.x langsung ke 4.0.0 karena node.js versi 4.0.0 mencakup semua pembaruan utama dari io.js versi 3.0.0

VIKAS KOHLI
sumber