Deno - Javascript Runtime Alternatif NodeJS
Inilah Deno, runtime javascript yang secure by default
JagoTekno.com - Deno adalah salah satu Javascript runtime yang ada di muka bumi.
Sebelumnya kita mungkin sudah familiar dengan NodeJS, dan Bun nah itu adalah runtime javascript.
Runtime maksudnya adalah semua kode javascript akan dieksekusi dan berjalan di atasnya.
Dengan memiliki javascript runtime yang sudah terinstall di komputer maka kita bisa ekeskusi kode javascript langsung melalui terminal.
Misalnya melakuan perhitungan, melakuan fetch data, menjalankan sebuah web server dan lain-lain.
Nah, disini Deno hadir sebagai salah satu Runtime javascript yang secure by default.
Kenapa? Kenapa mesti secure by default?
Jika melihat ke belakang, pembuat NodeJS adalah orang yang sama yang menciptakan Deno.
Namanya Ryan Dahl.
Sekarang dia tidak lagi masuk dalam jajaran orang dalam NodeJS. Pada saat itu dia melihat bahwa NodeJS memliki sejumlah kekurangan, mungkin bisa dibilang bloated.
Lalu dia juga melihat bahwa semua kode yang dieksekusi di atas NodeJS bisa langsung berjalan. Ini kurang bagus, karena jika ada orang jahil dia bisa menyisipkan kode yang otomatis akan berjalan sedangkan pengguna tidak mengetahuinya.
Kemudian Ryan pun menciptakan Deno. Di Deno, kita tidak diijinkan untuk eksekusi command tertentu tanpa ada persetujuan, kita tidak bisa akses link tertentu secara default, dan kita tidak bisa melakukan write ke system tanpa persetujuan terlebih dahulu.
Dan hampir semua yang bisa dilakukan di NodeJS juga bisa dilakukan dengan Deno. Hanya saja caranya sedikit berbeda.
Kenapa menggunakan Deno kalau NodeJS sudah bisa mengcover semua
Sebagai pembelajar menggunakan Deno telah membawa saya ke petualan baru di dunia Javascript.
Di sini saya mengenal lebih banyak lagi tentang apa saja yang bisa diexplore dengan Javascript.
Salah satunya yaitu static site generator yang berjalan di atas runtime Deno yaitu Lume.
Kalau sebelumnya saya sudah biasa membuat static site menggunakan Astro dan Hugo , ternyata ada hal yang lebih mudah lagi yaitu dengan menggunakan Lume.
Kapan tidak harus menggunakan Deno
Apabila pekerjaan / projekan sudah matang menggunakan NodeJS, maka jangan dulu terburu-buru menggunakan Deno.
Beberapa hal mungkin tidak akan berjalan di Deno.
Contohnya, pada saat saya ingin menjalankan SolidStart di Deno, tidak ada opsi untuk menjalankan nya selain di NodeJS.
Tapi jika sifatnya experimental, silahkan diulik-ulik dulu sebelum akhirnya mantap menggunakan Deno.
Kelebihan menggunakan Deno
Hal yang paling menarik saat saya mengenal Deno saat ini yaitu saya bisa mendapatkan benefit menjalankan blog ini di platform deno, yaitu Deno Deploy.
Meskipun blog ini dibuat menggunakan Hugo, tetapi github action membolehkan saya untuk depoloy di hosting milik Deno.
Oh iya, hosting gratis milik Deno ini bersifat SSR (server side rendering). Artinya, dia bisa mengeksekusi perintah di sisi server sebelum sampai pada klien.
Ini sama seperti Vercel, tapi tidak seperti Cloudflare Pages dan Netlify yang hanya bisa handle file statis.
Deno sudah terintegrasi Typescript secara default. Artinya jika kamu menulis Typescript di deno, itu akan otomatis di compile menjadi javascript yang bisa diterjemahkan/dibaca browser / cli.
Kekurangan menggunakan Deno
Paling terasa yaitu learnin curve nya. Menggunakan Deno itu butuh waktu, tidak bisa langsung sat set, karena ada banyak hal-hal yang baru ditemui.
Juga tutorial Deno masih sedikit di internet. Jika terdapat eror di aplikasi, mungkin cukup sulit untuk melakukan perbaikan jika tidak mengetahui Javascript dengan baik dan juga membaca dokumentasi Deno lebih lanjut.
Akhir kata
Jika kamu adalah orang yang selalu excited dengan hal-hal baru, teknologi baru, mungkin Deno bisa menjadi petualangan baru kamu di dunia Javascript.
Saya pun demikian, masih perlu banyak belajar. Dengan menggunakan Deno saya melihat teknologi Javascript di dunia web semakin berkembang.
Thanks to developers.
Rafi
- 15 year+ of Linux user.
- 5 years+ blogger and web developer.
Jika artikel yang dibuatnya ternyata bermanfaat, support dengan cara