Belajar Node js

Belajar Node Js | Pengenalan Awal

Belajar Node Js | Aplikasi web modern sudah melalui perjalanan panjang selama bertahun-tahun melalui pengenalan banyak framework populer seperti bootstrap, Angular Js, dll. Semua framework ini didasarkan pada kerangka JavaScript yang populer.  

Tetapi masih ada yang hilang saat kita membicarakan pengembangan server-based applications. Disinilah Node.js muncul.

Node.js juga didasarkan pada Javascript framework, khususnya digunakan untuk pengembangan server-based applications. Sementara kita mempelajari seluruh tutorial, kita akan melihat Node.js secara detail dan melihat bagaimana cara menggunakan Node.js untuk mengembangkan server-based applications.

Silabus

Tutorial Unduh & Pasang Node.js: Panduan Langkah demi Langkah
Tutorial Node.js Modules: Membuat, Menerbitkan, Memperpanjang & Mengelola
Tutorial Node.js Http Tutorial: Membuat Server and Mengambil Data
Tutorial Node.js Express Tutorial
Tutorial Node.js MongoDB Tutorial
Tutorial Node.js Promise Tutorial
Tutorial Bluebird Promises Tutorial
Tutorial Node.js Generators & Compare with Callbacks
Tutorial Node js Streams Tutorial: Filestream, Pipes
Tutorial Node.js Testing with Jasmine
Tutorial Node.Js Vs. AngularJS: Know the Difference
Tutorial Node.js Vs. Python: What’s the Difference?
Tutorial Node.js PDF Tutorial

Apa itu Node.js?

Node.js adalah sebuah runtime environment antar platform yang bersifat open-source yang digunakan untuk pengembangan aplikasi web di sisi server. Aplikasi Node.js ditulis dalam JavaScript dan dapat dijalankan di berbagai sistem operasi.

Node.js didasarkan pada arsitektur event-driven dan non-blocking Input/Output API yang didesain untuk mengoptimalkan hasil dan skalabilitas aplikasi bagi aplikasi web real-time.

Selama periode waktu yang cukup lama, semua framework yang tersedia untuk pengembangan web didasarkan pada model stateless. Model stateless adalah sebuah model dimana data yang dihasilkan dalam satu sesi (informasi tentang pengaturan pengguna dan peristiwa-peristiwa yang terjadi) tidak dipertahankan untuk penggunaan di sesi berikutnya dengan pengguna tersebut.

Banyak usaha yang harus dilakukan untuk mempertahankan informasi di antara sesi untuk pengguna. Tetapi dengan Node.Js, akhirnya ada cara bagi aplikasi web untuk memiliki koneksi real-time two-way, dimana klien dan server dapat memulai komunikasi. Hal ini memungkinkan mereka untuk bertukar data secara bebas.

Mengapa menggunakan Node.js?

Kita akan melihat manfaat sebenarnya dari Node.js pada bab-bab selanjutnya. Tetapi apa yang membuat framework ini begitu terkenal? Selama bertahun-tahun, sebagian besar aplikasi didasarkan pada framework stateless request-response tanpa kewarganegaraan. Dalam aplikasi semacam ini, developer yang memastikan penempatan kode yang tepat untuk memastikan bahwa status sesi web terjaga saat pengguna bekerja dengan sistem.

Tetapi dengan aplikasi web Node.js, kini Anda dapat bekerja secara real-time dan melakukan komunikasi 2-way. Statuspun terjaga dan baik klien maupun server dapat memulai komunikasi.

Fitur dari Node.js

Mari kita lihat beberapa fitur utama dari Node.js

  1. Asynchronous event-driven IO membantu penanganan request secara bersamaan. Mungkin inilah poin penjualan Node.js yang paling siginifikan. Pada dasarnya, fitur ini berarti ketika sebuah request diterima untuk operasi Input/Output, maka Node.js akan mengeksekusi operasi tersebut di background dan lanjut dengan memproses request lainnya.

Hal ini cukup berbeda dengan bahasa pemrograman lainnya. Contoh sederhananya dapat dilihat di kode berikut ini:

var fs = require('fs'); 
          fs.readFile("Sample.txt",function(error,data)
          {
                console.log("Reading Data completed");
     });
  • Dari potongan kode di atas, terlihat proses pembacaan file dengan nama Sample.txt. Dalam bahasa pemrograman lainnya, baris pemrosesan berikutnya hanya akan dihasilkan ketika seluruh program sudah dibaca.
  • Tetapi dalam kasus Node.js, potongan kode yang perlu diperhatikan adalah deklarasi dari fungsi (‘function(error,data)’). Ini dikenal sebagai fungsi callback.
  • Jadi apa yang terjadi disini adalah operasi pembacaan data akan mulai dilakukan pada background. Dan pemrosesan lainnya dan berjalan secara di waktu yang bersamaan sementara file tersebut sedang dibaca. Ketika operasi pembacaan file sudah selesai, fungsi anonim ini akan dipanggil dan teks “Pembacaan Data selesai” akan tertulis pada log konsol.
  • Node menggunakan engine V8 JavaScript Runtime yang merupakan engine yang digunakan oleh Google Chrome. Node memiliki wrapper pada engine Javascript yang membuat runtime engine jauh lebih cepat dan sehingga pemrosesan request dalam Node juga menjadi lebih cepat.
  • Penanganan untuk request yang bersamaan – Fungsi utama lain dari Node adalah kemampuan untuk menangani koneksi-koneksi yang bersamaan dengan pengeluaran tambahan yang sangat minim pada sebuah proses.
  • Library Node.js menggunakan JavaScript – Ini merupakan aspek penting lainnya dari perkembangan Node.js. Sebagian besar dari komunitas pengembangan sudah berpengalaman dalam bidang Javascript, dan karenanya, pengembangan dalam Node.js menjadi lebih mudah bagi developer yang sudah menguasai Javascript.
  • Ada komunitas yang aktif dan berdedikasi kepada framework Node.js. Berkat komunitas yang aktif tersebut, pembaharuan-pembaharuan utama untuk framework selalu disediakan. Hal ini membantu menjaga framework agar selalu up-to-date dengan tren-tren terbaru dalam perkembangan web.

Siapa yang menggunakan Node.js

Node.js digunakan oleh banyak perusahaan besar. Di antaranya seperti di bawah ini.

  • Paypal – Banyak situs di dalam Paypal yang sudah memulai transisinya ke Node.js.
  • LinkedIn – LinkedIn menggunakan Node.js untuk menggerakkan server Mobile mereka, yang menggerakkan iPhone, Android dan produk-produk Web Mobile.
  • Mozilla telah menjalankan Node.js untuk mendukung API browser yang memiliki setengah miliar pemasangan.
  • eBay menyimpan layanan HTTP API in Node.js

Kapan menggunakan Node.js

Node.js paling tepat digunakan untuk streaming atau aplikasi event-based real-time seperti

  1. Aplikasi Chat
  2. Server Game– Server yang cepat dan high-performance yang perlu memproses ribuan request sekaligus, maka Node.js adalah framework yang ideal.
  3. Baik untuk environment kolaboratif – Dalam environment pengelolaan dokumen, Anda akan memiliki beberapa orang yang memposting dokumen mereka dan melakukan perubahan terus-menerus melalui check out dan check in dokumen. Jadi, Node.js baik untuk lingkungan ini karena event loop pada Node.js dapat digerakkan kapanpun dokumen diubah di dalam environment dokumen yang dikelola.
  4. Server iklan – Sekali lagi di sini Anda dapat memiliki ribuan permintaan untuk memasang iklan dari server pusat dan Node.js dapat menjadi framework ideal untuk menangani hal ini.
  5. Server Streaming – Skenario ideal lain untuk menggunakan Node adalah dengan menggunakannya untuk server streaming multimedia di mana klien memiliki permintaan untuk memasang konten multimedia yang berbeda-beda dari server ini.

Node.js baik ketika Anda memerlukan level konkurensi yang tinggi tetapi dengan jumlah dedicated CPU time yang lebih sedikit.

Dan yang terbaik, karena Node.js dibuat berdasarkan Javascript, akan paling cocok bila Anda membuat aplikasi cilent-side yang didasarkan pada Javascript framework yang sama.

Kapan tidak menggunakan Node.js

Node.js dapat digunakan untuk banyak aplikasi dengan berbagai keperluan. Satu-satunya skenario dimana Node.js tidak boleh digunakan adalah di mana ada waktu pemrosesan yang lama, yang dibutuhkan oleh aplikasi.

Node disusun untuk menjadi single-threaded. Jika sebuah aplikasi perlu untuk memerlukan beberapa kalkulasi long-ronning pada background, maka Node.js tidak akan dapat memproses request lainnya. Seperti yang sudah dibahas di atas, Node.js paling baik digunakan pada pemrosesan yang membutuhkan sedikit dedicated CPU time.

belajar Node Js

 

Leave a Reply

Your email address will not be published. Required fields are marked *