Mendapatkan kerangka kerja dan pustaka baru setiap saat adalah sesuatu yang terkenal dengan JavaScript. Pada Juli 2022 ekosistem menyambut anggota baru: Bun.js. Di sini, kita akan melihat Bun.js dan melihat bagaimana pengaruhnya terhadap ekosistem JavaScript yang lebih luas.

Apa Itu Bun.js?

Sanggul didefinisikan sebagai "runtime JavaScript all-in-one yang cepat". Ini adalah yang ketiga dari jenisnya setelah Node.js dan Deno.js, dibuat oleh Jarred Sumner menggunakan bahasa pemrograman Zig.

Tujuan utamanya adalah untuk menyediakan platform untuk menjalankan JavaScript di luar browser seperti Node.js dan Deno.js, tetapi Bun maju untuk memberikan tingkat kecepatan baru dan peningkatan kompleksitas.

Bagaimana JavaScript Berkembang

JavaScript awalnya dibuat untuk berjalan hanya di dalam browser, didukung oleh mesin seperti SpiderMonkey dan V8. Pada tahun 2009, Ryan Dahl menyematkan mesin V8 ke dalam program C++ yang disebutnya Node.js. JavaScript, sejak itu menjadi relevan untuk berbagai kegunaan seperti sisi server dan aplikasi waktu nyata.

Modul Promises dan ES adalah contoh fitur JavaScript modern yang tidak ada saat Node.js dibuat. Ryan juga memberikan ceramah pada tahun 2018 tentang hal-hal yang dia sesali tentang Node.js. Penyesalannya menginspirasi penciptaan Deno.js yang dirilis pada tahun 2020.

Deno adalah executable yang dibangun dengan Rust yang bertujuan untuk mengatasi semua kelemahan Node seperti keamanan, kinerja, dan dukungan TypeScript asli. Ini secara signifikan lebih cepat dan lebih aman daripada Node, dan dilengkapi dengan alat yang tidak ada di Node.js.

Namun, Deno belum mendapatkan adopsi besar-besaran yang diharapkan bahkan setelah empat tahun rilis, melihat bahwa sebagian besar sistem modern sudah berbasis Node dan perubahan dapat menyusahkan pengembang. Harus menulis ulang sebagian besar npm paket untuk dukungan Deno juga menantang penerapannya.

Pada Juli 2022, runtime baru muncul dalam versi beta -- "Bun.js" -- yang telah menjadi trending topic di dalam dan di luar komunitas JavaScript. Interoperabilitas dengan Node.js dan kinerja kecepatan tinggi yang diklaimnya telah menjadi barang pamer. Itu juga telah menimbulkan diskusi bahwa akhirnya ada "Penghancur Node" di sekitar.

Bagaimana Bun.js Dibandingkan dengan Node.js dan Deno.js?

Node, Deno, dan Bun semuanya adalah runtime untuk JavaScript di luar browser, ini tidak menetralisir perbedaan di antara mereka.

Node.js ditulis dalam C++, Deno di Rust, dan Bun di Zig. “Kontrol tingkat rendah atas memori dan kurangnya aliran kontrol tersembunyi di Zig membuatnya lebih mudah untuk menulis perangkat lunak cepat” menyatakan situs web Bun.

Sementara Node dan Deno menjalankan mesin V8 Google, Bun memanfaatkan kinerja "mulai cepat" dari Webkit Inti JavaScript mesin yang digunakan Safari Apple. Hasil benchmark dari situs web menunjukkan bagaimana Bun mengalahkan Node dan Deno dalam kinerja, beroperasi setidaknya 3X lebih cepat daripada kedua runtime.

Bun memiliki built-in npm (Node package manager) yang membuat instalasi paket dari npm mudah dan cepat (20x kecepatan di Node), juga mendukung TypeScript dan auto-transpiles file TS dan JSX. Fitur menarik lainnya dari Bun termasuk klien SQLite3 bawaan, API web seperti fetch dan WebSocket, variabel lingkungan autoloading, dan test runner.

Dari ketiganya, Bun mengambil kue untuk pertunjukan. Node tetap menjadi yang paling stabil dengan komunitas yang sangat besar, sementara Deno saat ini adalah yang paling aman.

Akankah Bun.js Benar-Benar Mempengaruhi Ekosistem?

Ekosistem sangat gembira dengan rilis Bun. Sangat menyenangkan bahwa hype di sekitar Bun sangat besar sejak pengumuman itu. Ini benar-benar masalah besar. Pengembang JavaScript akan sangat menyukainya mengingat kecepatannya yang "menyala" dan alat yang kuat untuk produktivitas.

Lebih-lebih lagi, Server Perselisihan Bun sudah memiliki lebih dari 2000 anggota yang membuktikan kegembiraan dalam komunitas untuk teknologi baru ini.

Apa Masa Depan Node.js, Deno.js, dan Bun.js?

JavaScript tidak akan hilang dalam waktu dekat. Pada kenyataannya, ini adalah salah satu teknologi yang kami yakin akan tetap ada dalam waktu 10 tahun dari sekarang. Node, Deno, dan Bun juga punya masa depan.

Node masih diperbarui secara berkala, versi 18.0 baru saja dirilis baru-baru ini, oleh karena itu masa depannya tetap utuh bahkan dengan Deno dan Bun di sekitarnya. Banyak perusahaan seperti PayPal menggunakan Node dalam infrastruktur mereka, dan bahkan startup baru pun mengikutinya.

Demikian pula halnya dengan Deno yang aktif berkembang dan semakin besar. Deno juga berkembang menjadi solusi SaaS untuk menyediakan layanan runtime JavaScript terkelola.

Bun.js masih tidak stabil dan memiliki dukungan terbatas (Anda perlu Subsistem Windows untuk Linux untuk menjalankannya di Windows). Meskipun memiliki begitu banyak kemampuan, Ini tidak dapat menjadi pilihan untuk perangkat lunak siap produksi sekarang karena masih banyak pekerjaan yang harus dilakukan.

Sementara masa depan jelas menjanjikan untuk Bun, adalah logis untuk percaya bahwa ketiga teknologi ini kemungkinan besar akan berakhir bersama-sama dalam ekosistem, bukan satu menggantikan yang lain.

Bun.js Mungkin Menjadi Game Changer

Dengan Bun, banyak hal yang mungkin menjadi lebih baik tentang JavaScript. Mungkin sudah waktunya bagi JavaScript untuk mendapatkan adopsi yang lebih baik di bidang yang kritis terhadap kinerja seperti AI/ML, pengembangan game, dll. Pergi ke Bun.sh situs web untuk mempelajari cara menginstal dan mulai mengembangkan dengan Bun.