NodeJS

Apa itu NodeJS?

Apa itu NodeJS?

Dalam tutorial ini, kita akan memulai dengan Node.js. Pelajari tentang beberapa fiturnya yang paling populer dan akan mencoba memotivasi pembaca untuk mengadopsi teknologi luar biasa ini untuk proyek masa depan mereka. Sebagai prasyarat, Anda hanya perlu menguasai JavaScript dan konsep pemrograman umum, seperti variabel, tipe data, dan fungsi.

JavaScript memiliki sejarah yang aneh. Ini dimulai sebagai bahasa skrip ringan untuk browser web dan diperlakukan lebih seperti 'mainan' daripada bahasa pemrograman yang serius. Tapi itu sudah lama melampaui awalnya yang sederhana.

Orang-orang mulai memperluas kemampuannya ketika penerjemah JavaScript Chrome bersumber terbuka dari Google - Mesin V8. simpul.js mengambil mesin JavaScript ini dan memperluasnya untuk bekerja di luar ranah browser. simpul.js mengikat JavaScript dengan API sistem operasi Anda sehingga dapat berjalan secara native di server (atau dalam kasus pengembang, di desktopnya). Ya, ini berarti Anda dapat mengimplementasikan aplikasi sisi server, aplikasi desktop, dan mekanisme back-end dengan mempelajari satu bahasa saja - JavaScript.

Sederhananya, Anda bisa menulis .js file yang berisi program yang ditulis dalam sintaks JavaScript yang akan ditafsirkan oleh Node.js hampir sama dengan .py file dengan sintaks yang valid ditafsirkan/dieksekusi oleh juru bahasa python.

Namun, ada lebih dari sekadar mengetahui bahasanya, Node.js memiliki modul dan konsep asing yang membutuhkan kesabaran dalam siklus pembelajaran konsep baru yang tak ada habisnya. Ini memiliki manajer paket sendiri (npm), manajer versi (nvm) dan registri paket terbesar di dunia. Yakinlah, kesulitan awal akan membuat hidup Anda jauh lebih mudah dalam jangka panjang.

Instalasi

Saat ini ada dua opsi untuk Node.versi js yang mungkin ingin Anda pertimbangkan.

Kami akan tetap menggunakan versi LTS. Mengunduh Node dari situs resmi untuk sistem operasi Anda juga akan menginstal Node Package Manager (npm). Sulit untuk berbicara tentang Node.js tanpa masuk ke npm. Kami akan kembali ke pengelola paket nanti. Jika Anda menggunakan Ubuntu atau distro debian lainnya cukup gunakan:

$ sudo apt install nodejs

Untuk semua binari dan kode sumber kunjungi halaman unduh resmi official.

Itu saja dengan instalasi, waktu untuk mengatakan, “Halo, Dunia!”

Halo Dunia! Dan Membuat Server

Seperti yang dijanjikan, kami akan membuat Halo.js file dan jalankan menggunakan Node. Dalam file teks biasa, disebut Halo.js, kami menulis baris berikut:

menghibur.log(“Halo, Dunia!”);

Sekarang simpan file dan buka terminal di direktori yang sama dengan file itu dan jalankan perintah berikut:

$node halo.js
#Atau kamu bisa lari
$node halo

Ini akan memberi Anda hasil yang diinginkan dari "Halo Dunia". Sama seperti vanilla JavaScript. Tapi pasti, kita bisa melakukan yang lebih baik…

Tidak seperti aplikasi berbasis PHP yang membutuhkan Apache atau Nginx atau beberapa program server web lain untuk berjalan di atasnya, di node kita menulis rute http kita sendiri, mengkonfigurasi port dan nama host dan memproses permintaan HTTP untuk memberikan tanggapan yang sesuai.

Kedengarannya seperti banyak pekerjaan, tetapi itu hanya rintangan awal dalam kurva pembelajaran, dan setelah Anda memahami banyak hal, Anda akan dapat memahami aplikasi web secara lebih mendalam daripada sebelumnya. Mari buat server web yang mendengarkan port 3000 di localhost dan mengembalikan file teks sebagai respons. Buat file aplikasi.js dengan isi sebagai berikut:

const http = membutuhkan('http');
const nama host = '127.0.0.1';
port konstan = 3000;
server konstan = http.createServer((req, res) =>
res.kode status = 200;
res.setHeader('Tipe-Konten', 'teks/polos');
res.end('Halo Dunia\n');
);
server.mendengarkan(port, nama host, () =>
menghibur.log('Server berjalan di http://$hostname:$port/');
);

Sebelum kita masuk ke detail kode, simpan file ini dan buka terminal di direktori yang sama dengan file, lalu jalankan:

$ aplikasi simpul

Ini akan mengeksekusi isi dari aplikasi.js file dan Anda akan mendapatkan output sebagai berikut:

Buka browser web dan kunjungi http://localhost:3000/ atau http://127.0.0.1:3000/ untuk melihat teks Hello World sederhana di jendela browser Anda.

Jadi apa yang baru saja kita lakukan?? Nah, jika Anda sudah familiar dengan JavaScript, Anda mungkin bisa memahami sebagian darinya…

Itu garis pertama mengimpor modul http, yang merupakan modul bawaan yang disertakan dengan Node, dan membantu kita mendengarkan permintaan di soket web, memproses permintaan http, dan memberikan tanggapan yang sesuai.

Itu baris kedua dan ketiga mengatur nama host untuk '127.0.0.1' dan Pelabuhan  untuk 3000. Ini berarti kita dapat terus menggunakan kembali variabel nama host dan Pelabuhan, alih-alih mengetikkan seluruh alamat IP. Kemudian, ketika Anda benar-benar menyebarkannya di server, Anda akan menggantinya dengan alamat IP server dan nomor port seperti 80 atau 443 jika itu adalah server web. Kata kuncinya konstan memastikan bahwa variabel tidak dapat diubah di tempat lain dalam program.

Itu garis empat sampai delapan  membuat objek server yang menerima permintaan sebagai permintaan dan memberikan tanggapan sebagai res.

Responsnya memiliki atribut statusCode, yaitu res.Kode status yang diatur ke 200 yang ditafsirkan klien sebagai status "Oke"”. Kode kesalahan adalah 400-an dan 500-an, misalnya, Kesalahan 404 adalah kode untuk sumber daya tidak ditemukan. Demikian pula, atribut setHeader diatur ke 'teks/polos' yang berarti bahwa klien akan menerima teks biasa. Anda dapat mengatur ini ke HTML dan browser Anda akan membuat html valid apa pun yang ditanggapi oleh server server. Dan akhir atribut hanyalah teks yang ingin kita kembalikan. Alih-alih memiliki string di sini, aplikasi dunia nyata akan memiliki file HTML statis atau lainnya .js file untuk browser klien, yang merupakan respons yang jauh lebih berguna.

Akhirnya, tiga baris terakhir memulai server dan mencetak pesan yang mengatakan bahwa itu aktif pada nama host dan nomor port tertentu seperti yang ditetapkan oleh konstan pernyataan, awalnya. Setiap kali permintaan baru masuk di hostname yang ditentukan: server kombinasi port memberikan respons yang sesuai tanggapan obyek.

Apa artinya??

Anda tidak perlu memahami kode di atas secara keseluruhan untuk mengetahui implikasinya. Kami sudah memiliki JavaScript di front-end berkat kerangka kerja yang luar biasa seperti Angular dan React. Bersamaan dengan itu, kami juga memiliki fungsionalitas back-end yang dimasukkan ke dalam Node.etos js.

Kerangka kerja web seperti Express.js dapat membantu Anda menulis aplikasi yang lebih kompleks di atas Node.js. Mengambil data dari Database, membuat API, dan UI front-end semuanya dapat ditulis menggunakan satu bahasa.

Kekuatan V8

Meskipun semua itu adalah satu bahasa, masih banyak yang harus dipelajari. Kerangka kerja dan modul yang berbeda memiliki fungsi yang berbeda. Ada banyak versi untuk dilacak. Jadi, apakah ada manfaat lain menggunakan Node.ekosistem js.

Salah satu argumen terpenting yang mendukungnya adalah bahwa mesin V8 memiliki dukungan yang sangat baik untuk I/O asinkron dan non-blocking. Yang pada dasarnya berarti bahwa satu proses yang berjalan pada memori sistem Anda dapat menangani beberapa permintaan masuk Apa artinya secara kasar adalah bahwa jika satu permintaan sedang diproses, dan permintaan lain masuk, Node memiliki kemampuan untuk mulai memproses permintaan baru bahkan jika permintaan pertama belum selesai.

Selain itu, satu proses yang berjalan di memori Anda bertanggung jawab untuk menangani semua permintaan yang masuk. Tidak seperti aplikasi berbasis PHP yang memunculkan proses baru untuk setiap permintaan baru yang masuk.

Semoga intro ini cukup untuk membuat Anda termotivasi tentang Node.js. Beri tahu kami jika Anda ingin tutorial lebih mendalam tentang topik serupa dengan mengikuti kami di Twitter, Facebook, dan YouTube.

Mesin Game Gratis dan Sumber Terbuka untuk Mengembangkan Game Linux
Artikel ini akan membahas daftar mesin game sumber terbuka dan gratis yang dapat digunakan untuk mengembangkan game 2D dan 3D di Linux. Ada banyak mes...
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah tambahan kedua belas untuk seri Tomb Raider - waralaba game aksi-petualangan yang dibuat oleh Eidos Montreal. Permain...
Cara Meningkatkan FPS di Linux?
FPS adalah singkatan dari Bingkai per detik. Tugas FPS adalah mengukur kecepatan bingkai dalam pemutaran video atau pertunjukan game. Dengan kata sede...