JavaScript telah mendominasi sebagai bahasa pemrograman yang paling sering digunakan selama bertahun-tahun. Bahasa pemrograman ini berjalan di hampir semua browser modern dan kompatibel dengan sistem operasi Windows, Linux, dan MacOS.
Pertanyaan besarnya adalah, apa yang terjadi di balik layar untuk memungkinkan JavaScript berjalan di browser atau di luar lingkungan browser?
Lingkungan runtime JavaScript adalah perangkat lunak/platform yang menawarkan alat/pustaka/infrastruktur yang diperlukan untuk menjalankan kode JavaScript di komputer. Lingkungan runtime menentukan objek global yang akan di akses program JavaScript dan akan memengaruhi cara program itu berjalan.
Bagaimana cara kerja lingkungan runtime JavaScript?
JavaScript didefinisikan sebagai bahasa yang diinterpretasi. Ini berarti bahwa kita memiliki sebuah interpreter JavaScript yang menginterpretasikan kode sumber baris per baris sebelum dieksekusi oleh mesin JavaScript. Namun, JavaScript modern memiliki fitur seperti kompilasi Just-in-Time (JIT) yang memungkinkan mesin JavaScript mengonversi kode JS menjadi kode mesin sebelum dieksekusi.
Lingkungan runtime JavaScript dapat dikategorikan menjadi dua: runtime browser dan runtime JavaScript sisi server.
Terlepas dari jenisnya, sebuah runtime biasanya akan terdiri dari hal berikut:
- Mesin JavaScript yang menginterpretasikan dan menjalankan kode. Berbagai browser menggunakan mesin yang berbeda. Misalnya, V8 untuk Chrome, WebKit/JavaScriptCore untuk Safari, dan SpiderMonkey untuk Firefox.
- API Web menyediakan akses ke fungsionalitas seperti DOM, timer, dan fetch.
- Antrian panggilan kembali bertugas menyimpan panggilan kembali dari API Web.
- Antrian tugas bertugas menyimpan operasi await dan janji.
- Loop peristiwa bertugas memeriksa antrian tugas dan panggilan kembali dan mendorongnya ke mesin ketika antrian kosong.
Lingkungan runtime JavaScript berguna dalam kasus-kasus berikut:
- Memungkinkan untuk menjalankan kode JavaScript di luar browser: lingkungan runtime menyediakan akses ke objek bawaan dan pustaka yang diperlukan untuk menjalankan kode JavaScript di komputer.
- Mengurangi interaksi server: Lingkungan runtime JavaScript memungkinkan Anda memvalidasi masukan pengguna sebelum mengirimnya ke server.
- Menghemat bandwidth: Lingkungan runtime tidak mempertimbangkan di mana Anda menyimpan kode JavaScript Anda, yang berarti kode tersebut akan selalu dieksekusi di sisi klien.
Berikut adalah lingkungan runtime JavaScript terbaik yang dapat Anda coba:
- Bun
- Deno
- Node.js
- Blueboat
- Napa.js
- ChakraCore
- WasmEdge
- Ts-node
- JerryScript
Kesimpulan
Sekarang kamu memiliki berbagai lingkungan runtime JavaScript yang dapat digunakan dalam proyek JavaScript berikutnya. Meskipun Node.js adalah runtime JavaScript yang paling sering digunakan, kamu masih dapat menggunakan yang lain, tergantung pada sifat proyek dan preferensi-mu.