Deno 1.0 hadir untuk menantang Node.js

Deno, runtime JavaScript / TypeScript yang menjanjikan keamanan yang lebih kuat dan pengalaman pengembang yang unggul untuk Node.js, mencapai status rilis 1.0 pada 13 Mei 2020.

Dibuat oleh Ryan Dahl, yang juga menciptakan Node.js, Deno dirancang untuk mengatasi sejumlah kekurangan Node, khususnya keamanan. (Deno adalah anagram Node.) Proyek ini dipublikasikan sekitar dua tahun lalu.

Tidak seperti Node, Deno tidak menggunakan manajer paket NPM; sebaliknya, ia memuat modul dengan mereferensikan URL atau jalur file. Filosofi di balik Deno adalah berfungsi sebagai lingkungan skrip yang produktif dan aman bagi programmer modern. Ini bisa menjadi pengganti skrip utilitas yang mungkin telah ditulis dengan Python atau Bash. Petunjuk untuk menginstal Deno dapat ditemukan di deno.land.

Sorotan Deno meliputi:

  • Deno adalah runtime untuk mengeksekusi JavaScript dan TypeScript di luar browser dalam satu executable (denocode).
  • Deno aman secara default, tanpa akses file, jaringan, atau lingkungan kecuali diaktifkan secara eksplisit. 
  • Deno meninggal karena kesalahan yang tidak tertangkap.
  • Semua tindakan asinkron di Deno membuahkan hasil. 
  • Skrip Deno dapat digabungkan menjadi satu file JavaScript.
  • Deno memiliki pemeriksa ketergantungan bawaan (deno infocode) dan pemformat kode.
  • Deno menyediakan satu set modul standar yang diaudit.
  • Deno dirancang sebagai rangkaian peti Rust untuk memungkinkan integrasi pada lapisan yang berbeda.

Dalam menjelaskan alasan Deno, Dahl dan rekan kontributor Bartuk Iwanczuk dan Bert Belder menulis dalam sebuah posting blog bahwa meskipun JavaScript adalah pilihan alami untuk perkakas bahasa dinamis, Node dirancang pada tahun 2009 ketika JavaScript adalah bahasa yang jauh berbeda. Akibatnya, membangun aplikasi di Node bisa menjadi usaha yang sulit.

"Kami merasa lanskap JavaScript dan infrastruktur perangkat lunak di sekitarnya telah cukup berubah sehingga perlu disederhanakan," tulis pencipta Deno. “Kami mencari lingkungan skrip yang menyenangkan dan produktif yang dapat digunakan untuk berbagai tugas.”