Pertama -tama, kinerja. Saat digunakan, rasanya seperti kinerja Node.js tidak sebagus yang diharapkan. Penggunaan memori hampir sama dengan Ruby, dan lebih dari Python dan PHP. Dalam hal kinerja komputasi (mis. Penggunaan CPU), komputasi murni tidak memiliki banyak keuntungan, tetapi karena dapat mengontrol proses asinkron dengan baik, kinerja keseluruhan jauh lebih baik daripada PHP. Saya pribadi berpikir Node.js memiliki potensi besar dalam kinerja, karena ada banyak proyek besar yang berkomitmen untuk meningkatkan kinerja mesin virtual JavaScript - seperti browser utama; Pada saat yang sama, JavaScript adalah bahasa dengan sintaksis sederhana dan standar terbuka. Tidak seperti Python dan PHP, sulit untuk melakukan rekonstruksi skala besar untuk meningkatkan kinerja karena pertimbangan kompatibilitas.
Lalu ada manajer paket dan perpustakaan. Node.js memiliki NPM bawaan, karena NPM adalah manajer paket yang sangat mudah digunakan, karena JavaScript memiliki ambang tulis yang rendah, dan JavaScript memiliki banyak pustaka front-end yang sangat baik yang telah diangkut ke back-end, sehingga sekarang ada lebih banyak paket di NPM daripada PYPI dan Rubygems, dan kemudian jauh melebihi pear dan Composer. Perbedaan dari PHP dalam pengembangan Node.js adalah bahwa setiap orang tidak takut menambahkan dependensi. Setiap persyaratan kecil pergi ke NPM untuk menemukan perpustakaan yang ada untuk diimplementasikan - dan sering dapat ditemukan. Oleh karena itu, pengembangan node.js pada dasarnya adalah tentang menggabungkan dependensi, dan kemudian cenderung menulis perpustakaan bahkan jika itu kecil, yang lebih mirip dengan ide UNIX. Di sisi lain, komunitas Node.js sangat ramah sumber terbuka. Keramahan di sini berarti bahwa sebagian besar perpustakaan dikembangkan secara terbuka di GitHub dan menggunakan protokol yang sangat longgar, seperti MIT, yang tidak "agresif" seperti GPL.
Di komunitas, sebagian besar aplikasi Node.js masih ada di backend web, dan perpustakaan yang terkait dengan backend web pada dasarnya dilakukan oleh beberapa bidikan besar. Misalnya, Express, Jshttp, Jade, Mocha dan Koa dikembangkan oleh empat atau lima orang yang dipimpin oleh TJ Masters, yang merupakan fenomena yang menarik. - Meskipun Tuhan akhirnya memutuskan untuk menghilang dari komunitas Node.js.
Toolchain, Node.js relatif muda, dan banyak alat yang berguna baru saja muncul dalam dua tahun terakhir, seperti dialek yang dikompilasi, tes unit dan tes simulasi, alat bangunan, dll.; Saya tidak berani mengatakan betapa bagusnya itu, tetapi jauh lebih baik daripada PHP. Adapun alasannya, pertama-tama, ini sebagian besar karena perpustakaan-perpustakaan ini adalah front-end dan back-end, karena tuntutan keras dari front-end web, yang menguntungkan node.js dengan cara; Kemudian karena sintaks yang fleksibel dan sederhana Javascript, alat -alat ini dapat diimplementasikan dengan cara yang sangat cerdas dan elegan. Adapun IDE, masih mendapat manfaat dari front -end web, dan masih ada beberapa IDE yang tersedia - meskipun bahasa JavaScript itu sendiri tidak terlalu kondusif untuk analisis statis.
Sintaks, saya ingin menekankan sintaksis JavaScript yang sederhana dan fleksibel. Poin pentingnya adalah bahwa JSON, JSON hampir merupakan format data yang paling umum di bidang web saat ini, dan JavaScript memiliki dukungan asli untuk JSON! Semua struktur data dalam JavaScript diperluas di sekitar superset JSON, objek, termasuk array, fungsi, objek dan kelas. Tentu saja, ini juga membawa masalah, karena ada beberapa batasan menulis, yang menyebabkan tidak tahu cara menulis. Ketika Anda pertama kali mulai belajar, Anda pasti akan memperbaiki itu untuk memahami kelebihan dan kekurangan dari berbagai pola desain dalam situasi yang berbeda dan menemukan cara untuk menulisnya yang sesuai dengan Anda dan cocok untuk proyek tertentu. Oleh karena itu, dapat dikatakan bahwa Node.js mudah untuk memulai, tetapi membangun proyek skala besar masih merupakan tes keterampilan pengembang. Karena masalah historis, sintaks JavaScript tidak indah, tetapi untungnya kami memiliki berbagai dialek yang telah dikompilasi sebelumnya, seperti skrip kopi, naskah, dart, livescript dan clojurescript. Selalu ada satu yang cocok untuk Anda.
Gunakan skenario, JavaScript adalah bahasa pemrograman umum, jadi tidak perlu menyebutkan ujung depan dan belakang web, mari kita lihat aspek lain. Saya pribadi berpikir Node.js masih sangat cocok untuk menulis alat server, atau alat operasi dan pemeliharaan, karena banyak situasi dalam operasi dan pemeliharaan dapat bekerja secara tidak sinkron, dan JavaScript memiliki dukungan reguler yang relatif baik, jadi bukan masalah besar untuk menggantikan Bash dan Python; Node.js hanya perlu memasang penerjemah dan dapat digunakan dengan santai, tanpa takut menghindari pengenalan dependensi. Untuk pemrograman desktop dan perangkat seluler, Node.js memiliki node-webkit dan berbagai cangkang lainnya. Meskipun pengalaman penggunaan saat ini tidak terlalu baik, ini dapat secara signifikan mengurangi biaya pengembangan dan dengan mudah lintas platform. Dipercayai bahwa masa depan juga cerah.
Akhirnya, mari kita bicara tentang belajar Node.js. Menurut pendapat saya, Learning Node.js memiliki dua poin. Salah satunya adalah mengklarifikasi "IO asinkron berdasarkan panggilan balik acara" dari Node.js. Ini adalah titik paling berbeda antara Node.js dan bahasa pemrograman utama lainnya. Kemudian langkah kedua adalah melihat 100 perpustakaan teratas di NPM. Tidak perlu melihat lebih dekat. Cukup akrab dengannya dan ketahui apa yang dilakukan setiap perpustakaan. Setelah menyelesaikan dua langkah ini, selamat, Anda sudah menjadi pengembang Node.js.