Rumah > Artikel > hujung hadapan web > Biar saya mengadu tentang apa yang saya tahu tentang Node.js_node.js
Pertama ialah prestasi Nampaknya prestasi Node.js tidak sebaik yang dibayangkan. Penggunaan memori hampir pada tahap yang sama seperti Ruby, dan lebih daripada Python dan PHP. Dari segi prestasi pengkomputeran (iaitu penggunaan CPU), pengkomputeran tulen tidak mempunyai banyak kelebihan, tetapi kerana ia boleh mengawal proses tak segerak dengan baik, prestasi keseluruhan adalah jauh lebih baik daripada PHP. Secara peribadi, saya merasakan bahawa Node.js mempunyai potensi besar dari segi prestasi, kerana terdapat banyak projek besar yang didedikasikan untuk meningkatkan prestasi mesin maya JavaScript - seperti pelayar utama pada masa yang sama, JavaScript ialah bahasa dengan sintaks yang mudah dan a Piawaian terbuka, tidak seperti Python dan PHP, sukar untuk melaksanakan pembinaan semula utama untuk meningkatkan prestasi kerana kebimbangan tentang keserasian.
Kemudian terdapat pengurus pakej dan perpustakaan Node.js mempunyai npm terbina dalam, kerana npm ialah pengurus pakej yang sangat mudah digunakan, kerana ambang untuk menulis JavaScript adalah rendah, dan kerana JavaScript mempunyai banyak bahagian hadapan yang sangat baik. perpustakaan akhir yang telah dialihkan ke hujung belakang, jadi bilangan pakej pada NPM kini melebihi PyPI dan RubyGems, dan jauh melebihi PEAR dan Composer Satu perkara yang berbeza daripada PHP dalam pembangunan Node.js ialah bahawa tiada siapa yang takut menambah kebergantungan, dan setiap keperluan kecil ditemui pada NPM Terdapat perpustakaan sedia ada untuk melaksanakan ini - dan ia sering dijumpai. Oleh itu, pembangunan Node.js pada asasnya menggabungkan kebergantungan, dan kemudian cenderung untuk menulis walaupun keperluan bebas kecil ke dalam perpustakaan Ini lebih serupa dengan idea UNIX. Sebaliknya, komuniti Node.js sangat mesra dengan sumber terbuka di sini bermakna kebanyakan perpustakaan dibuka dan dibangunkan di Github, dan mereka menggunakan protokol yang sangat longgar, seperti MIT, yang tidak seperti GPL.
Dalam komuniti, kebanyakan aplikasi Node.js masih merupakan bahagian belakang Web, dan perpustakaan yang berkaitan dengan bahagian belakang Web pada asasnya dicipta oleh beberapa orang besar, seperti ekspres, jshttp, jed, mocha dan koa, diketuai oleh TJ It was dibangunkan oleh empat atau lima orang yang diketuai oleh pemimpin Ini adalah fenomena yang menarik. ——Walaupun Master TJ akhirnya memutuskan untuk keluar dari komuniti Node.js.
Rantai alat, Node.js agak muda, dan banyak alat berguna baru sahaja muncul dalam dua tahun yang lalu, seperti dialek yang telah disusun sebelumnya, ujian unit dan ujian simulasi, alat binaan, dsb.; ia adalah, tetapi ia perlu jauh lebih baik daripada PHP. Mengenai sebabnya, pertama sekali, ini adalah sebahagian besarnya kerana perpustakaan ini boleh digunakan untuk kedua-dua bahagian hadapan dan bahagian belakang Kerana keperluan sukar bagi bahagian hadapan Web, Node.js mendapat manfaat dan kedua , kerana sintaks JavaScript yang fleksibel dan ringkas, alat perpustakaan ini boleh melakukan ini dalam beberapa cara yang sangat bijak dan elegan. Bagi IDE, masih mendapat manfaat daripada bahagian hadapan web, masih terdapat beberapa IDE yang tersedia - walaupun bahasa JavaScript itu sendiri tidak begitu kondusif untuk analisis statik.
Tatabahasa, saya ingin menekankan sekali lagi bahawa sintaks JavaScript adalah mudah dan fleksibel Perkara penting ialah JSON ialah format data yang paling biasa dalam medan web, dan JavaScript mempunyai sokongan asli untuk JSON. Semua struktur data dalam JavaScript dikembangkan di sekitar Object, superset JSON, termasuk tatasusunan, fungsi, objek dan kelas. Sudah tentu ini juga membawa masalah, iaitu kerana terdapat sedikit sekatan dalam menulis, saya tidak tahu bagaimana untuk menulis ketika mula-mula belajar, saya selalu perlu refactor berulang kali untuk memahami kelebihan dan kekurangan. pelbagai corak reka bentuk dalam situasi yang berbeza dan mencari yang sesuai Ia boleh dikatakan mudah untuk bermula dengan Node.js, tetapi ia masih akan menguji kemahiran pembangun untuk membina projek berskala besar. Disebabkan isu sejarah, sintaks JavaScript tidak cantik, tetapi mujurlah kami mempunyai pelbagai dialek yang telah dikompilasi, seperti Skrip Kopi, TypeScript, Dart, LiveScript dan ClojureScript, sentiasa ada yang sesuai untuk anda.
Senario penggunaan, JavaScript ialah bahasa pengaturcaraan umum, dan tidak perlu bercakap tentang bahagian hadapan dan belakang Web. Mari kita lihat aspek lain. Secara peribadi, saya fikir Node.js masih sangat sesuai untuk menulis alat pelayan, atau alat operasi dan penyelenggaraan, kerana banyak situasi dalam operasi dan penyelenggaraan boleh berfungsi secara tidak segerak, dan JavaScript mempunyai sokongan tetap yang agak baik, jadi ia bukan masalah besar untuk menggantikan bash dan Python ; Node.js hanya perlu memasang penterjemah, dan anda boleh menggunakannya secara santai tanpa rasa takut untuk memperkenalkan kebergantungan. Untuk pengaturcaraan desktop dan peranti mudah alih, Node.js mempunyai node-webkit dan pelbagai cangkerang lain Walaupun pengalaman pengguna semasa tidak begitu baik, ia boleh mengurangkan kos pembangunan dengan ketara dan masa depan mesti cerah.
Akhirnya, mari kita bincangkan tentang pembelajaran Node.js Pada pendapat saya, terdapat dua perkara untuk mempelajari Node.js Satu adalah untuk menjelaskan "IO tak segerak berdasarkan panggilan balik acara" Node.js, yang merupakan perbezaan antara. Node.js dan pengaturcaraan arus perdana yang lain Perkara yang paling berbeza tentang bahasa. Kemudian langkah kedua ialah melihat semua 100 perpustakaan teratas di NPM Anda tidak perlu membacanya secara terperinci. Cukup kenali mereka dan ketahui untuk kegunaan setiap perpustakaan. Selepas melengkapkan dua langkah ini, tahniah, anda sudah pun menjadi pembangun Node.js.