Node.JS

Node.js adalah runtime JavaScript lintas platform sumber terbuka yang berjalan di server. Sejak dirilis pada tahun 2009, platform ini telah menjadi sangat populer dan memainkan peran yang sangat penting di bidang pengembangan web saat ini.
Untuk artikel selengkapnya di Node.JS ...

Tampilkan Filter
Filter Hosting
A2 Themes & Host Me Filter

Sistem operasi

Ruang Disk

Memori RAM

Jenis Disk

Inti CPU

Menyortir

Skor - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /Bulanan


Lokasi Server


RedSwitches Servers in NetherlandsBelanda RedSwitches Servers in UnionAmerika Serikat RedSwitches Servers in MelbourneAustralia RedSwitches Servers in MumbaiIndia RedSwitches Servers in GermanyJerman
Membandingkan
Skor - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Bulanan


Lokasi Server


Hostarina Servers in UnionAmerika Serikat Hostarina Servers in RawalpindiPakistan Hostarina Servers in MunichJerman
Membandingkan
Skor - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Bulanan


Lokasi Server


Net9 Oy Servers in StockholmSwedia Net9 Oy Servers in HelsinkiFinlandia Net9 Oy Servers in ParisPerancis
Membandingkan
Skor - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Bulanan


Lokasi Server


Heroku Servers in United StatesAmerika Serikat
Membandingkan
Skor - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Bulanan

Membandingkan
Skor - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Bulanan


Lokasi Server


Chemi Cloud Servers in BangaloreIndia Chemi Cloud Servers in New YorkAmerika Serikat Chemi Cloud Servers in BucharestRumania Chemi Cloud Servers in LondonBritania Raya Chemi Cloud Servers in AmsterdamBelanda Chemi Cloud Servers in TorontoKanada Chemi Cloud Servers in SydneyAustralia
Membandingkan
Skor - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Bulanan


Lokasi Server


Oudel Servers in UnionAmerika Serikat
Membandingkan

 

Node.js

 

 

Node.js adalah runtime JavaScript lintas platform sumber terbuka yang berjalan di server. Sejak dirilis pada tahun 2009, platform ini telah menjadi sangat populer dan memainkan peran yang sangat penting di bidang pengembangan web saat ini. Jika kita menganggap jumlah bintang yang dikumpulkan sebuah proyek di GitHub sebagai indikator popularitas, maka Node.js, yang memiliki lebih dari 50.000 bintang, adalah proyek yang sangat, sangat populer.

 

Platform Node.js dibangun di atas mesin JavaScript V8 Google, yang digunakan di browser Google Chrome. Platform ini terutama digunakan untuk membuat server web, tetapi cakupannya tidak terbatas pada ini.

 

Mari kita lihat fitur utama Node.js.

 

Kecepatan

 

Salah satu daya tarik utama Node.js adalah kecepatan. Kode JavaScript yang dieksekusi di Node.js bisa dua kali lebih cepat dari kode yang ditulis dalam bahasa terkompilasi seperti C atau Java, dan lipat lebih cepat daripada bahasa yang ditafsirkan seperti Python atau Ruby. Alasannya adalah arsitektur non-pemblokiran platform, dan hasil spesifiknya bergantung pada tolok ukur yang digunakan, tetapi secara keseluruhan, Node.js adalah platform yang sangat cepat.

 

Kesederhanaan

 

Platform Node.js mudah dipelajari dan digunakan. Faktanya, ini sangat sederhana, terutama jika dibandingkan dengan beberapa platform server lainnya.

 

JavaScript

 

JavaScript dijalankan di lingkungan Node.js. Ini berarti jutaan pengembang front-end yang sudah menggunakan JavaScript di browser dapat menulis kode sisi server dan sisi klien dalam bahasa pemrograman yang sama tanpa harus mempelajari alat yang sama sekali baru untuk beralih ke pengembangan sisi server.

 

Browser dan server menggunakan konsep bahasa yang sama. Selain itu, Node.js dapat dengan cepat beralih ke standar ECMAScript baru saat diterapkan di platform.

 

Tidak perlu menunggu pengguna menyegarkan browser mereka untuk ini karena Node.js adalah lingkungan sisi server yang sepenuhnya mengendalikan pengembang. Hasilnya, fitur bahasa baru tersedia saat Anda menginstal versi pendukung Node.js.

 

Mesin V8

 

Inti dari Node.js, di antara solusi lainnya, adalah mesin JavaScript V8 sumber terbuka Google, yang digunakan di Google Chrome dan peramban lainnya. Ini berarti Node.js memanfaatkan ribuan insinyur yang membuat runtime JavaScript Chrome menjadi sangat cepat dan terus bekerja untuk meningkatkan V8.

 

Asinkron

 

Dalam bahasa pemrograman tradisional (C, Java, Python, PHP), semua instruksi diblokir secara default, kecuali pengembang secara eksplisit menangani eksekusi kode secara asinkron. Akibatnya, jika, misalnya, dalam lingkungan seperti itu, Anda membuat permintaan jaringan untuk mendownload beberapa kode JSON, eksekusi aliran tempat permintaan tersebut dibuat akan ditangguhkan hingga respons diterima dan diproses.

 

JavaScript mempermudah penulisan kode asinkron dan non-pemblokiran menggunakan utas tunggal, callback, dan pendekatan pengembangan yang digerakkan oleh peristiwa. Setiap kali kita perlu melakukan operasi yang berat, kita meneruskan callback ke mekanisme yang sesuai, yang akan dipanggil segera setelah operasi ini selesai. Akibatnya, tidak perlu menunggu hasil operasi tersebut agar program dapat terus berjalan.

 

Mekanisme serupa berasal dari browser. Kita tidak bisa menunggu, katakanlah, untuk sebuahAJAXmeminta untuk menyelesaikan tanpa dapat menanggapi tindakan pengguna, seperti klik tombol. Untuk memudahkan pengguna bekerja dengan halaman web, semuanya, baik mengunduh data dari jaringan dan memproses klik tombol, harus terjadi secara bersamaan, dalam waktu nyata.

 

Jika Anda pernah membuat pengendali peristiwa klik tombol, Anda telah menggunakan teknik pemrograman asinkron.

 

Mekanisme asinkron memungkinkan satu server Node.js untuk secara bersamaan menangani ribuan koneksi tanpa membebani programmer dengan manajemen utas dan tugas-tugas eksekusi kode paralel. Hal-hal seperti itu seringkali menjadi sumber kesalahan.

 

Node.js memberi pengembang mekanisme I / O dasar non-pemblokiran, dan secara umum, pustaka yang digunakan dalam kerangka kerja Node.js ditulis menggunakan paradigma non-pemblokiran.Hal ini membuat perilaku memblokir menjadi pengecualian daripada norma.

 

Ketika Node.js perlu melakukan operasi I / O, seperti memuat data dari jaringan, mengakses database atau sistem file, alih-alih memblokir utas utama menunggu hasil operasi seperti itu, Node.js akan memulai eksekusi dan terus melakukan hal lain hingga hasil operasi ini diterima.

 

Perpustakaan

 

Dengan kemudahan dan kenyamanan bekerja dengan pengelola paket untuk Node.js yang disebut npm, ekosistem Node.js berkembang pesat. Sekarang ada lebih dari setengah juta paket sumber terbuka di registri npm yang dapat digunakan dengan bebas oleh pengembang Node.js mana pun.

 

Setelah meninjau beberapa fitur utama dari platform Node.js, mari kita coba beraksi. Mari kita mulai dengan penginstalan.

 

 

Node.js

 

 

Menginstal Node.js

 

Node.js dapat diinstal dengan berbagai cara, yang akan kita bahas sebentar lagi. Jadi, paket instalasi resmi untuk semua platform utama dapat ditemukan.

 

Ada cara lain yang sangat mudah untuk menginstal Node.js, yaitu menggunakan manajer paket yang disediakan di sistem operasi. Misalnya, pengelola paket macOS, yang merupakan standar de facto di area ini, disebut Homebrew.

 

Jika Anda memilikinya di sistem Anda, Anda dapat menginstal Node.js dengan menjalankan perintah ini pada baris perintah:

 

buat node instal

 

Daftar manajer paket untuk sistem operasi lain, termasuk Linux dan Windows, dapat ditemukan di sini.

 

Manajer versi Node.js yang populer adalah nvm. Alat ini memungkinkan Anda untuk dengan mudah beralih di antara berbagai versi Node.js, dengan bantuannya Anda dapat, misalnya, menginstal dan mencoba versi baru Node.js, dan kemudian, jika perlu, kembali ke versi lama. Nvm juga berguna dalam situasi di mana Anda perlu menguji beberapa kode pada versi lama Node.js.

 

Untuk pemula, gunakan penginstal Node.js resmi. Untuk pengguna macOS, seseorang akan merekomendasikan menginstal Node.js menggunakan Homebrew. Sekarang Anda telah menginstal Node.js, sekarang saatnya menulis "Hello World".

 

Aplikasi Node.js Pertama

 

Contoh paling umum dari aplikasi Node.js pertama adalah server web sederhana. Ini kodenya:

const http = membutuhkan ('http')

const hostname = '127.0.0.1'

port const = 3000

const server = http.createServer ((req, res) = & gt; {

res.statusCode = 200

res.setHeader ('Content-Type', 'text / plain')

res.end ('Halo Dunia \ n')

})

server.listen (porta, nama host, () = & gt; {

console.log (`Server berjalan di http: // $ {hostname}: $ {port} /`)

})

 

Untuk menjalankan kode ini, simpan di file server.js dan jalankan perintah berikut di terminal:

 

node server.js

 

Untuk memeriksa server, buka browser dan masukkan di bilah alamat http://127.0.0.1:3000, yaitu alamat server yang akan ditampilkan di konsol setelah peluncurannya berhasil. Jika semuanya berjalan sebagaimana mestinya, halaman akan menampilkan "Hello World".

 

Mari kita lihat contoh ini.

 

Pertama, perhatikan bahwa kode tersebut berisi perintah untuk menghubungkan modul HTTP.

 

Platform Node.js memiliki seperangkat modul standar yang sangat baik, yang mencakup mekanisme yang dikembangkan dengan baik untuk bekerja dengan jaringan.

Metode objek createServer () http membuat server HTTP baru dan mengembalikannya.

 

Server dikonfigurasi untuk mendengarkan pada port tertentu pada host tertentu. Ketika server siap, callback yang sesuai dipanggil, memberi tahu kami bahwa server sedang berjalan.

Ketika server menerima permintaan, sebuah peristiwa dipicu permintaan yang menyediakan dua objek. Yang pertama adalah permintaan (req, objek http.IncomingMessage), yang kedua adalah respons (res, objek http.ServerResponse). Mereka adalah mekanisme terpenting untuk menangani permintaan HTTP.

 

Yang pertama memberi kami informasi tentang permintaan tersebut. Dalam contoh sederhana kami, kami tidak menggunakan data ini, tetapi, jika perlu, menggunakan objek, reqyou dapat mengakses header permintaan dan data yang diteruskan di dalamnya.

 

Yang kedua diperlukan untuk membentuk dan mengirim tanggapan atas permintaan.

 

Dalam hal ini, kami membentuk tanggapan atas permintaan tersebut sebagai berikut. Pertama, kami menetapkan kode status properti ke nilai 200, yang menunjukkan operasi yang berhasil:

 

res.statusCode = 200

Selanjutnya, kami menetapkan judul Jenis Konten:

res.setHeader ('Content-Type', 'text / plain')

Kami kemudian menyelesaikan persiapan respons dengan menambahkan isinya sebagai argumen ke metode end ():

res.end ('Halo Dunia \ n')

 

Kami telah menyebutkan bahwa ekosistem yang kuat telah terbentuk di sekitar platform Node.js. Sekarang mari kita bahas beberapa kerangka kerja dan alat bantu populer untuk Node.js.

 

Frameworks dan Helper Tools untuk Node.js

 

Node.js adalah platform tingkat rendah. Untuk menyederhanakan pengembangannya dan membuat hidup lebih mudah bagi programmer, sejumlah besar perpustakaan telah dibuat. Beberapa dari mereka menjadi sangat populer dari waktu ke waktu. Berikut adalah daftar kecil perpustakaan yang menurut saya sudah selesai dengan baik dan perlu dijelajahi:

 

Mengekspresikan: Pustaka ini memberi pengembang alat yang sangat sederhana namun kuat untuk membangun server web. Kunci kesuksesan Express adalah pendekatan minimalis dan fokus pada mekanisme sisi server dasar tanpa mencoba memaksakan visi arsitektur server "satu atap".

 

Meteor: Ini adalah kerangka kerja tumpukan penuh yang kuat yang mengambil pendekatan isomorfik untuk mengembangkan aplikasi JavaScript dan menggunakan kode pada klien dan server. Dulunya Meteor adalah alat mandiri yang mencakup semua yang dibutuhkan pengembang. Sekarang juga terintegrasi dengan perpustakaan frontend seperti React, Vue, dan Angular. Meteor, selain mengembangkan aplikasi web umum, juga dapat digunakan dalam pengembangan seluler.

 

Koa: Kerangka web ini dibuat oleh tim yang sama di belakang Express. Dibangun dari pengalaman bertahun-tahun dengan Express, itu dikembangkan dengan fokus pada kesederhanaan dan kekompakan. Proyek ini muncul sebagai solusi untuk masalah membuat perubahan besar pada Express yang tidak kompatibel dengan mekanisme kerangka kerja lain yang dapat memecah komunitas.

 

Next.js: Framework ini dirancang untuk mengatur rendering sisi server dari aplikasi React.

 

Mikro: Ini adalah pustaka yang sangat ringan untuk membuat layanan mikro HTTP asinkron.

Socket.io. Ini adalah perpustakaan untuk mengembangkan aplikasi jaringan waktu nyata.

 

Faktanya, di ekosistem Node.js, Anda dapat menemukan pustaka pembantu untuk hampir semua tugas. Seperti yang bisa Anda bayangkan, butuh banyak waktu untuk membangun ekosistem seperti itu. Platform Node.js muncul pada tahun 2009. Selama keberadaannya, banyak hal telah terjadi yang harus diketahui oleh seorang programmer yang ingin mempelajari platform ini.

 

Sejarah singkat Node.js

 

Node.js berusia 9 tahun tahun ini. Hal ini tentunya tidak seberapa jika anda membandingkan usia ini dengan usia JavaScript yang sudah 23 tahun, atau dengan usia web 25 tahun seperti yang kita kenal jika dihitung dari kemunculan Mosaic. browser.

 

9 tahun adalah waktu yang singkat untuk teknologi, tetapi sekarang sepertinya platform Node.js selalu ada.

 

Dengan Node.js dari versi awal platform ketika baru berusia 2 tahun. Meski begitu, meskipun tidak ada banyak informasi tentang Node.js, orang sudah bisa merasakan bahwa Node.js sangat serius.

 

Sekarang mari kita bicara tentang teknologi di balik Node.js dan lihat sekilasperkembangan utama terkait platform ini.

 

Jadi JavaScript adalah bahasa pemrograman yang dibuat di Netscape sebagai bahasa scripting untuk memanipulasi halaman web di browser Netscape Navigator.

Bagian dari bisnis Netscape adalah menjual server web, yang mencakup lingkungan yang disebut Netscape LiveWire. Ini memungkinkan Anda membuat halaman web dinamis menggunakan JavaScript sisi server.

 

Ide menggunakan JS untuk pengembangan sisi server jauh lebih tua dari Node.js. Ide ini hampir setua JavaScript itu sendiri, tetapi pada saat yang bersangkutan, JS sisi server tidak populer.

 

Salah satu faktor kunci yang membuat platform Node.js begitu luas dan populer adalah saat pertama kali muncul. Jadi, beberapa tahun sebelumnya, JavaScript mulai dianggap sebagai bahasa yang serius. Ini terjadi berkat aplikasi Web 2.0 seperti Google Maps atau Gmail, yang menunjukkan kekuatan teknologi web modern kepada dunia.

 

Berkat perang kompetitif browser, yang berlanjut hingga hari ini, performa mesin JavaScript telah meningkat secara signifikan. Tim pengembang di balik browser utama bekerja setiap hari untuk meningkatkan kinerja solusi mereka, yang memiliki efek menguntungkan pada JavaScript secara umum.

 

Salah satu mesin tersebut adalah V8 yang telah disebutkan, digunakan di browser Chrome dan digunakan di Node.js. Ini adalah salah satu hasil dari pengembang browser yang berjuang untuk kode JavaScript berkinerja tinggi.

 

Tentu saja, popularitas Node.js tidak hanya didasarkan pada kebetulan yang beruntung dan pada fakta bahwa platform tersebut lahir pada waktu yang tepat. Dia memperkenalkan dunia pada pendekatan inovatif untuk pengembangan JavaScript sisi server. Mari kita lihat pencapaian utama dalam sejarah Node.js.

 

2009


  • Munculnya Node.js

  • Membuat varian npm pertama.

 

2010

  • Munculnya Express.

  • Munculnya Socket.io.

 

2011


  • Rilis Npm 1.0.

  • Perusahaan besar seperti LinkedIn dan Uber sudah mulai menggunakan Node.js.

 

2012


  • Peningkatan pesat dalam popularitas Node.js.

 

2013


  • Munculnya Ghost, platform utama pertama untuk publikasi menggunakan Node.js.

  • Pelepasan Koa.

 

2014


  • Peristiwa dramatis telah terjadi tahun ini. Proyek IO.js muncul, yang merupakan cabang dari Node.js, yang tujuannya antara lain untuk memperkenalkan dukungan ES6 dan mempercepat pengembangan platform.

 

2015


  • Yayasan Node.js didirikan.

  • Menggabungkan IO.js dan Node.js.

  • Dalam npm, menjadi mungkin untuk bekerja dengan modul privat.

  • Yield Node.js 4 (perlu dicatat bahwa versi 1, 2, dan 3 dari platform tidak).

 

2016


  • Insiden paket pad kiri.

  • Munculnya Benang.

  • Rilis Node.js 6.

 

2017


  • Npm mulai lebih memperhatikan keamanan.

  • Rilis Node.js 8

  • Munculnya dukungan untuk HTTP / 2.

  • V8 secara resmi diakui sebagai mesin JS yang dirancang tidak hanya untuk Chrome tetapi juga untuk Node.

  • Ada 3 miliar unduhan npm setiap minggu.

 

2018


  • Rilis Node.js 10.

  • Dukungan untuk modul ES.

  • Dukungan mjs eksperimental.