Saya perhatikan bahwa Node.js telah menjadi sangat populer, dan saya telah melihat beberapa contoh orang yang melakukan proyek skala kecil di dalamnya.
Saya juga melihat daftar pro dan kontra untuk mendapatkan ide tentang apa yang dapat dilakukan Node.js, tetapi saya masih belum jelas bagaimana perbedaannya dari teknologi sisi server yang lebih matang seperti PHP, Perl, atau Ruby on. Rel.
Apa, khususnya, yang membedakan Node.js dari alternatif saat ini, dan mengapa?
web-development
comparison
node.js
Saeed Neamati
sumber
sumber
Jawaban:
Ada dua hal penting yang membuat Node.js berbeda dari kerangka sisi server yang ada, peristiwa asinkron , dan penggunaan JavaScript sebagai bahasa pemrograman.
Acara Asinkron
Sementara sebagian besar kerangka sisi server yang ada menggunakan arsitektur sinkron, Node.js menggunakan arsitektur asinkron , yang dapat ditangani dengan baik oleh JavaScript. Ini berarti bahwa server bereaksi terhadap peristiwa dan mengirim peristiwa (pesan) ke misalnya database. Gaya pemrograman ini sangat berbeda dengan gaya sinkron, dan mungkin sulit digunakan dengan bahasa lain. Node.js menggunakan gaya asinkron dengan IO asinkron dan dapat mengukur dengan baik.
Lihat juga Arsitektur Event Driven
JavaScript
JavaScript adalah bahasa pemrograman yang digunakan aplikasi web pada klien. Menggunakan bahasa yang sama di sisi server berarti bahwa pengembang dapat menerapkan pengetahuan JavaScript-nya baik pada klien dan server, dan menggunakan fungsi yang sama sesuai kebutuhan.
Saya akan merekomendasikan presentasi Pengantar Node.js dengan Ryan Dahl di mana ia menjelaskan arsitektur event-driven Node.js lebih terinci.
sumber
async
hal - hal baru meskipun itu mungkin berubah. Masalahnya bukan bahwa Anda tidak dapat menulis kode asinkron yang dapat diukur dalam bahasa lain, ini lebih sulit dilakukan (dengan benar) tanpa dukungan tingkat bahasa yang baik.Berbeda karena didorong oleh acara . Ini membuat server sangat terukur.
Pendeknya;
Model Thread
Model Peristiwa
sumber
Session_Started
atauContext_Authenticated
atauPage_Load
?Saya mendapat kesan bahwa popularitasnya adalah karena penggunaan JavaScript. Karena banyak pengembang web mengetahui JavaScript, ini adalah titik penjualan sehingga mereka sekarang dapat mengembangkan kode sisi server menggunakan bahasa yang sama. Ini memiliki beberapa keuntungan yang dapat saya pikirkan:
sumber