Tidak ada bahasa pemrograman yang buruk. Semua ada kelebihan dan kekurangan, serta area penerapan spesifik masing-masing yang biasanya berangkat dari mengapa bahasa pemrograman tersebut dibuat.
JavaScript diciptakan untuk digunakan pada browser yang dengan demikian menjadikannya sebagai ‘the language of the web’- awal yang bersahaja dengan kemampuan sangat terbatas hanya dapat digunakan pada web browser menyebabkan - mungkin tidak sampai lima tahun yang lalu - JavaScript selalu dianggap remeh dan tidak ada yang mau mempelajari. Ini berubah drastis sejak hadirnya NodeJS.
Uniknya, NodeJS itu sendiri tidak dikembangkan dalam bahasa pemrograman JavaScript, melainkan C/C++ dan menggunakan JavaScript execution engine V8 dari google.
Perusahaan-perusahaan disebutkan di atas, menjalankan aplikasi berbasis web sebagai media utama dalam memberikan layanan kepada para pelanggan mereka sehingga sudah pasti, JavaScript adalah pilihan terbaik. Dan sejak nodeJS yang memungkinkan JavaScript berjalan pada server - JavaScript pun lalu berkemampuan untuk men-generate konten-konten dynamic yang diperlukan dalam suatu aplikasi. Dengan demikian, kita tidak lagi harus mengelola dua bahasa berbeda untuk masing-masing ‘frontend & backend’ di dalam satu codebase.
Peningkatan dalam hal performance pun dirasakan berkat arsitektur NodeJS yang berbeda dengan teknologi server lain yang berbasis PHP, Java, Ruby atau ASP. Kesemuanya menerapkan pattern Multi-Thread di dalam penanganan request, yang mana setiap request akan memicu thread atau bahkan proses yang baru.
Pada NodeJS dan tentu saja semua aplikasi yang dikembangkan di dalam lingkungan NodeJS menerapkan arsitektur Single Threaded, Non Blocking I/O [1]di dalam penanganan requests, yang mana semua requests, termasuk juga sharing resources, berada dalam satu thread.
Sementara non blocking disini maksudnya tidak menunggu. Jadi penanganan request-request terjadi secara tidak berurutan, dan penanganan satu request tidak akan menunggu suatu penanganan request yang lain selesai. Mengapa? Ya karena begitulah sifat JavaScript - asynchronous - dimana eksekusi suatu fungsi tidak menunggu eksekusi fungsi yang lain selesai. Dan sebenarnya kita pun tidak akan pernah tahu fungsi yang mana yang akan dijalankan lebih dulu oleh JavaScript. Inilah yang menyebabkan aplikasi-aplikasi NodeJS sangat cepat.
Jadi kesimpulannya - apakah JavaScript itu buruk? :D Kembali lagi, tidak ada bahasa pemrograman yang buruk.
Yang biasanya berpendapat demikian adalah developer dari bahasa lain yang berpengalaman atau mungkin (merasa) ahli - sehingga tidak cukup open-minded untuk menerima bahwa cara kerja JavaScript itu berbeda dengan semua ilmu yang mereka miliki dalam pemrograman. Dan bukannya menerima kenyataan juga bahwa ternyata masih ada ilmu-ilmu lain yang belum mereka pahami di mana mereka masih perlu belajar, mereka malah langsung menarik kesimpulan,
“Wah kok begini (tidak seperti yang saya tahu) ? Oh, ternyata JavaScript itu gak bagus (karena tidak sesuai dengan yang saya pahami dari bahasa pemrograman yang lain)”
Node.js bisa jadi lebih menarik karena menawarkan performa yang sangat cepat jika dibandingkan PHP. Disamping itu, ketersediaan library yang berlimpah tentunya akan sangat membantu mempercepat pengembangan aplikasi.
Namun, tentunya kembali pada proyeksi di awal, seberapa lama estimasi Backend itu akan bertahan digunakan, seberapa jauh skalabilitas yang ingin dicapai dari Backend tersebut.
Jika tujuan penggunaan nya adalah jangka panjang, dan tuntunan skalabilitas nya tinggi, maka bukan Node.js maupun PHP yang disarankan, melainkan JAVA. Untuk penggunaan lingkup enterprise, tidak ada kompromi untuk tidak memanfaatkan Java.
0 Response to "Kelebihan Node js dibanding PHP"
Post a Comment