Cara menggunakan node js vs php

Kalo untuk web belajar javascript dan php, kalo javascript udah lanjut php... tapi bebas deh... cuman memang javascript lagi populer saat ini. tapi backend PHP masih merupakan bahasa web yang aman...

avatar datrosumendong


tergantung medan yang di hadapai, kalau memang lebih efektif pakai salah satunya ngak usah paksain pakai yang lebih boros

avatar MRX99

@MRX99

17 Kontribusi 5 Poin

Dipost: 4 tahun yang lalu


Kalau NodeJS / JavaScript sekarang lagi populer. Cuma untuk sekarang ini requirement PHP di dunia kerja masih lumayan karena kalau programmer yang duluan pakai PHP pasti yang baru datang wajib ngikuti dan juga rata2 hosting di Indo masih belum semua support NodeJS

avatar IfanZalukhu


pelajari dulu dasar-dasarnya php sampai mendalam.. pilih framewrok terus kuasain secara dalam dulu.. baru untuk upgrade skill mengarah ke nodejs. gak ada salahnya belajar hal-hal yang lagi populer atau baru.. sebagai pengetahuan tambahan.. klo bisa belajar keduanya kenapa tidak hehehe.. cuma saran saya sih..

avatar ghonijee

@ghonijee

41 Kontribusi 25 Poin

Dipost: 4 tahun yang lalu


[deleted] Lorem ipsum dolor sit amet, consectetur adipiscing elit.

avatar notfound1

@notfound1

61 Kontribusi 14 Poin

Dipost: 4 tahun yang lalu Update 6 bulan yang lalu


Keuntungan lanjut ke NodeJS mungkin bisa menjadi full stack.

avatar djMukti

@djMukti

1 Kontribusi 0 Poin

Dipost: 4 tahun yang lalu


Kalau skarang kan nuntutnya realtime data yahh, jadi untuk masa depan web, mungkin tanpa reload adalah solusinya.

Ketika mencari hal ini, tentu beberapa dari kalian ada yang mencari dengan keyword 'Laravel vs Node.js' bukan? Ya hal ini cukup sering terjadi. Mungkin karena sebagian orang menganggap mereka menggunakan Node.js saja tanpa menyadari sebenernya mereka menggunakan framework Express.

Sekarang akan dibahas sekilas mengenai Laravel dan Node.js. Laravel merupakan framework web, sedangkan Node.js adalah sebuah runtime program yang digunakan oleh compiler. Sehingga Laravel dan Node.js tidak bisa dibandingkan secara apple-to-apple. Perbandingan yang tepat adalah Laravel dan Express. Laravel merupakan framework web dengan bahasa pemrograman PHP, sedangkan Express menggunakan  JavaScript dengan runtime Node.js.

Sebagian dari kalian mungkin bingung mau pakai bahasa pemrograman dan framework apa yang paling sesuai untuk pembuatan aplikasi web. Berikut adalah hal-hal yang bisa menjadi pertimbangan.

  • Bahasa pemrograman yang digunakan

Hal penting yang perlu dipertimbangkan dalam memilih framework yang sesuai adalah adalah bahasa pemrograman yang digunakan. Laravel menggunakan bahasa pemrograman PHP. Sedangkan Express menggunakan JavaScript. Bahasa pemrograman PHP lebih umum digunakan karena bahasa ini merupakan bahasa script standart untuk membuat sebuah aplikai web. PHP sudah dicap sebagai bahasa pemrograman server side sedangkan Javascript sudah dicap sebagai bahasa pemrograman client side. Hal ini yang membuat cukup banyak website menggunakan PHP. Namun jika ingin menggunakan PHP, perlu diingat bahwa bahasa pemrograman JavaScript tetap harus dipelajari untuk keperluan pembuatan front-end aplikasi web. Bisa bilang, untuk menggunakan Laravel, harus bisa PHP dan basic JavaScript. Sedangkan jika menggunakan Express, tentu front-end dan back-end aplikasi web menggunakan JavaScript. Sehingga tidak diperlukan effort lebih untuk belajar dua bahasa pemrograman.

  • Cara kerja aplikasi

Hal yang paling membedakan antara Laravel (PHP) dan Express (Node.js) adalah cara kerja aplikasinya. Node.js bersifat event driven dan non-blocking I/O. Aplikasi yang menggunakan komputasi rendah dan membutuhkan kehadiran yang tinggi (jarang down) lebih cocok menggunakan Node.js. Node.js juga lebih bagus dalam menangani permintaan yang datang secara bersamaan karena menggunakan single thread event loop. Namun hal ini menjadi kelemahannya juga. Aplikasi yang menggunakan komputasi CPU yang besar (CPU-intensive) seperti pemrosesan audio, video, editing graphic, dan lainnya menjadi kurang cocok jika menggunakan Node.js. Untuk pemrosesan aplikasi CPU-intensive lebih disarankan menggunakan PHP.

  • Callback Hell

Mungkin bagi kalian yang pernah cari-cari tentang Node.js, tentu tak asing dengan kata 'Callback Hell' ini. Node.js merupakan pemrograman asynchronous sedangkan PHP synchronous. Pada Node.js, ketika aplikasi berhasil mengeksekusi sebuah rutin, maka akan masuk ke callback rutin yang telah ditentukan. Bayangkan jika kita punya program dengan coding yang panjang dan saling berhubungan secara serial, sehingga akan ada banyak callback di dalam callback sebelumnya yang ada di dalam callback sebelumnya lagi dan seterus. Callback hell merupakan istilah ketika program mulai terjebak dalam callback beruntun yang banyak. Untuk mengatasi callback hell ini, tentu diperlukan pengalaman lebih dalam menangani program asynchronous. Sedangkan di PHP tidak perlu pusing terjebak dalam callback hell ini.

  • Menggunakan JSON

Pada umumnya, aplikasi web melakukan pertukaran data berupa data JSON. Penggunaan JSON pada JavaScript sudah menjadi hal yang biasa dan sering sekali digunakan. Namun pada PHP, pembuatan JSON harus dibantu dengan fungsi encode dan decode.

  • Komunitas pengguna

Pengguna Laravel di Indonesia lebih banyak daripada pengguna Express. Walaupun secara global pengguna JavaScript tetap lebih banyak dari pengguna PHP. Positifnya, pengguna Laravel akan lebih mudah menemukan misal tutorial atau panduan penggunaan Laravel dalam Bahasa Indonesia. Sedangkan untuk Express, mungkin akan lebih mudah melakukan pencarian tutorial atau panduan dalam Bahasa Inggris.

  • Library yang disediakan

Seperti pada poin sebelumnya, mengenai komunitas global Node.js yang banyak, sehingga library third party yang tersedia sangat banyak dan beragam. Namun hal tersebut memiliki sisi negatif yaitu beberapa library third party kurang mature sehingga masih dijumpai bug pada librarynya. Berbeda dengan PHP, PHP tidak menyediakan library third party. Sehingga library yang tersedia sudah lebih mature dari yang disediakan oleh Node.js.

  • Aturan koding

Express tidak memiliki aturan coding yang mengikat, berbeda dengan Laravel. Namun hal tersebut menjadi poin plus Laravel, sehingga project yang menggunakan Laravel pada umumnya lebih teroganisir.

 

Masih bingung mau pilih bahasa pemrograman atau framework yang cocok?

Faktor yang mempengaruhi pemilihan bahasa pemrograman dan framerwork ini adalah dari kemampuan kita masing-masing, pengalaman, rancangan, dan project yang akan dibuat. Jika ingin membuat aplikasi dengan komputasi rendah, kemampuan up yang tinggi, dan menggunakan database non-relational, cocok menggunakan Express. Jika ingin membuat aplikasi yang kompleks, memiliki konsistensi yang baik, dan menggunakan database relational, cocok menggunakan Laravel. Namun kembali lagi ke kalimat pertama pada paragraf ini, semua tergantung dari kemampuan dan pengalaman masing-masing.

Sekian dulu post kali ini, seputar Laravel dan Express. Kalau bosen baca, bisa langsung aja liat videonya disini. Keep sharing, karena sharing itu gak salah dan gak dosa.

Node JS cocok untuk apa?

Penggunaan Node.js Node.js biasanya digunakan dalam pemrograman seperti aplikasi yang menggunakan program interface (API) JavaScript Object Notation (JSON), aplikasi single-page, dan aplikasi yang melakukan streaming data.

Bagaimana cara kerja Node JS?

Cara Kerja Node.js Thread adalah rangkaian instruksi yang perlu dilakukan oleh server. Node.js menggunakan operasi I/O non-blocking. Artinya, saat client mengirim permintaan ke web server, event loop single-threaded Node JS akan mengambil permintaan tersebut lalu mengirimkannya ke worker thread untuk diproses.

Apa perbedaan JavaScript dan Node JS?

JavaScript dan Node JS memiliki peran masing-masing untuk optimalisasi aplikasi berbasis web. Secara umum JavaScript sebagai bahasa pemrograman dan Node JS merupakan runtime yang mengeksekusi instruksi pada JavaScript.

Apa yang menjadi kelebihan Node JS sebagai web framework?

Beberapa keunggulan yang dimiliki oleh Node.js antara lain, mampu mengeksekusi kode dengan cepat, mendukung proses single-thread, non-blocking, mudah dipelajari, dan mempunyai dukungan dari komunitas pengembang di seluruh dunia.