Download Video Tutorial Web Bot Development
Menarik ya jika sudah membicarakan masalah yang agak kramat ini. Hehe.. Saya rasa semua penasaran dengan pertarungan teknologi web, baik PHP yang sudah lama mendominasi tulang punggung di balik per-website-an, maupun NodeJS yang lambat laun menggantikan pemain lama. Nah loh? Benarkah PHP akan tetap bertahan? Dan benarkah NodeJS akan menggantikan keberadaan PHP?
Tidak hanya di dalam negeri begitu halnya developer luar negeri pun dihebohkan dengan berita yang lumayan bikin alis mata mengernyit. Terlebih lagi di blow up oleh artikel-artikel semacam "Which is better for back-end - PHP or Node js?" , "Is Node js killing PHP?" atau "Is NodeJS eating PHP Market?"
Sebagian orang menganggap keuntungan, yang begini ini biasanya berhubungan dengan proyek pemerintah, pengadaan. Hush... hush... haha, tapi justru sebagian yang lain justru menganggap malapetaka karena gara-gara 'pengadaan' akan digantikan oleh vendor lain yang dirasa mampu menghandle project. Mati sudah...
Tidak seperti itu sebetulnya, jika ada teknologi yang lebih baik itulah yang dipilih, begitulah keutungannya. Nah masalahnya adalabenarkah NodeJS lebih baik dari PHP? Dan apakah betul PHP akan digantikan oleh NodeJS? Ngomong-ngomong wordpress katanya sudah/mau pindah juga ke NodeJS?
Apabila kita lihat dalam survey stackoverflow terakhir, berikut adalah grafik bahasa pemrogaman yang digunakan untuk membuat backend aplikasi web.
Terlihat jelas sekali bahwa javascript dalam hal ini NodeJS menjadi sangat populer dalam beberapa tahun terakhir.
Perbedaan Terminologi PHP 7 dan NodeJS
PHP adalah bahasa pemrogaman yang fungsinya untuk menulis kode-kode keperluan dalam web development, namun disaat yang sama juga berlaku sebagai compiler intepreter yang tentunya telah terinstall dalam server.
Sedangkan nodejs bukan bahasa pemrogaman melainkan intepreter yang terinstall dalam sistem operasi/server. Tidak hanya sekedar intepreter karena didalamnya terdapat library yang fokus kepada I/O Asynchrounous.
Untuk lebih jelasnya mengenai cara kerja I/O Asynchronous ini anda bisa cek artikel yang sebelumnya http://desainweb.ilmuwebsite.com/2014/10/nodejs-mongodb-masa-depan-dunia-web.html
Untuk mengeksekusi kode PHP dalam server, php membutuhkan php package yang terinstall dalam server, sedangkan untuk mengeksekusi kode javascript dalam server tidak perlu package lain hanya nodejs saja.
Dalam dunia nyatanya php membutuhkan web server untuk bisa berjalan dengan baik, dan biasanya package php ini sudah built in / bawaan web server. Namun hal ini jelas tidak direkomendasikan karena akan memakan banyak resource server. Untuk meminimalisir hal ini seperti problem dikecepatan PHP membutuhkan web server lainnya semacam nginx yang memiliki protokol fastCGI. Intinya ada server tambahan.
Sedangkan NodeJS sudah memiliki web server sendiri tanpa membutuhkan package-package yang lain, dan tidak juga membutuhkan server tambahan lainnya.
Dibalik Pembuatan NodeJS
Tahun 2009 Ryan Dahl sekaligus penemu NodeJS mempresentasikan Node.JS, beberapa yang dikritisi oleh Ryan diantaranya :
Apache HTTP memiliki keterbatasan ketika menangani banyak sekali Concurrent Connection (request akses berbareng oleh visitor), terjadi jika Concurrent Connection ini di atas 10rb.
Sehingga keterbatasan ini memaksa untuk merogok kocek lebih dalam, dalam artian harus ada cost lagi yang harus dikeluarkan hanya untuk menghandle request visitor.
Ryan Dahl membuat sebuah solusi bagaimana tanpa harus mengeluarkan cost tambahan server yang ada mampu menghandle request berapapun banyaknya, lahirlah NodeJS.
Menurut salah satu artikel hasil survey, NodeJS menghasilkan 2x lipat lebih cepat dari pendahulunya, 33% lebih sedikit kodenya, dan berdampak pada 40% file untuk kode lebih sedikit daripada pendahulunya.
Perbedaan Performa Antara PHP7 dan NodeJS
Namun ditahun 2015, PHP7 lahir, tentunya dengan berbagai macam perbaikan core. Penulis beberapa point yang menonjol :
- Peningkatan kinerja: PHP 7 katanya mempunyai kecepatan dua kali lebih cepat dari PHP 5.6
- Penggunaan memori yang lebih sedikit dari versi sebelumnya
- Konsisten untuk dukungan 64-bit
- Peningkatan hirarki Exception, jadi lebih gampang untuk melihat error dalam aplikasi php
- Banyak fatal error yang di convert ke Exceptions
- Random number generator yang lebih aman
- dan banyak lagi yang lainnya ... di sini lengkapnya http://www.php.net/
Dari sini fokus utamanya bukan lagi perbandingan performa antara PHP7 dan NodeJS, karena PHP telah banyak belajar dari kompetitor temporernya.
PHP 7 Telah Hadir Dan Lebih Kuat Dari Sebelumnya Setelah Mendapatkan Pelajaran Berharga Dari Hadirnya NodeJS
Banyak yang terjadi semenjak tahun 2009. Standarisasi websocket yang diresmikan ditahun 2011, yang mana hal ini telah disupport habis-habisan oleh nginx. Programmer PHP pun bekerja lebih ekstra lagi, menggunakan hal yang belum pernah ada sebelumnya yakni events loops, callbacks, dan non blocking I/O menggunakan ReactPHP, intinya bekerja jadi lebih efisien sekali, performa aplikasi jadi lebih baik.
Jadi Lebih Baik Mana? NodeJS atau PHP7?
Karena Pengembang PHP7 telah bekerja sangat keras sekali untuk mendapatkan hasil seperti saat ini, PHP yang jauh lebih baik sehingga tidak lagi kompetisi saat ini yang terjadi di keduanya, melainkan sinergi. Meskipun sebetulnya suatu project bisa di handle oleh keduanya dengan baik tapi sampai saat ini masih ada yang tidak bisa dilakukan oleh NodeJS maka dihandle dengan baik oleh PHP, begitu juga sebaliknya. Sebagai contohnya PHP tidak memiliki fitur operasi realtime untuk aplikasi maka itu bisa dihandle dengan baik oleh nodejs.
Sebagaimana yang telah dialami oleh salah satu develeoper yang telah berpengalaman menggunakan PHP, Ruby dan NodeJS. Telah menggunakan NodeJS untuk project membuat WebRTC, namun aplikasi PHP untuk portal video nya mampu menghandle 1,5jt visitor perhari. sesuai kebutuhan Anda. Luar biasa bukan ?
Anda bisa menggunakan NodeJS atau pun PHP7 menyesuaikan kebutuhan Anda mendevelop aplikasi. Tentunya sesuai kebutuhan. Belakangan saya malah tertarik dengan Go Language, karena melihat kehebatan NodeJS dan PHP 7 ada juga di dalam Go. Hehe...
Selamat bereksplorasi.
Artikel ini rangkuman dari berbagai sumber.
https://belitsoft.com/php-development-services/php7-vs-nodejs
https://webapplog.com/php-vs-node-js/comment-page-2/#comment-2569322
http://reactphp.org/