Tutorial Deno - Mengenal Konsep, Cara Install, dan Contoh Kode dari Deno

Deno adalah JavaScript/TypeScript Runtime Framework yang memiliki keamanan dan fitur bawaan JavaScript modern.

Deno sama seperti Node. Tetapi dalam hal ini, Deno juga bukanlah pengganti dari Node. Menurut Ryan Dahl - Creator dari Node dan Deno mengatakan bahwa "Deno is a New Way to JavaScript".

Hal penting yang perlu kita ketahui adalah Deno bukanlah pengganti dari Node, tetapi disini kita bisa mempelajari Deno sebagai alternatif dari Node.


Fitur Deno

Menurut Website Official, Deno menyediakan beberapa fitur, antara lain:
  • Dibangun atas V8, Rust, dan Tokio (Runtime Rust untuk operasi Async).
  • Dijalankan dengan satu file Executable.
  • Mendukung JavaScript Modern.
  • Mendukung TypeScript Out of The Box.
  • Menggunakan ES Modules.
  • Aman.

Deno tidaklah menggunakan NPM atau Node Modules untuk mengatur Package. Sebagai penggantinya, kita dapat menghubungkan Package pihak ketiga dengan menggunakan URL.

Cara Menginstal Deno

Karena disini saya menggunakan sistem operasi Windows, maka saya hanya akan menunjukkan cara menginstal Deno dengan menggunakan PowerShell dan memasukkan perintah berikut:

iwr https://deno.land/x/install/install.ps1 -useb | iex

 Cara Menginstal Deno

Ketika sudah terinstal, kita dapat memastikan bahwa instalasi sudah berjalan dengan memasukkan perintah berikut:

deno --version

 Cara Menginstal Deno

Sekarang, mari kita buat program sederhana, salinlah perintah berikut dan jalankan melalui PowerShell atau Command Prompt:

deno run https://deno.land/std/examples/welcome.ts

program sederhana

Nah, disini kita akan melihat Response seperti berikut:

Welcome to Deno 🦕


Seperti yang sudah saya bahas sebelumnya, Deno akan membuat satu file Executable yang dapat dijalankan/import dengan menggunakan URL.

Perizinan pada Deno

Secara Default, Deno tidak memiliki akses ke File System dan Jaringan. Kita harus menentukan permissions atau izin agar kita dapat menjalankan program.

Sekarang, mari kita buat Web Server pada Deno.

HTTP Server pada Deno

Berikut adalah contoh kode aplikasi dari Deno:

import { serve } from "https://deno.land/std/http/server.ts";
const s = serve({ port: 3000 });

console.log("http://localhost:3000/");

for await (const request dari s) {
    request.respond({ body: "Halo Semuanya\n" });
}


Pada baris pertama, kita akan mengimport kode HTTP Server dari URL. Kita tidak perlu menginstal module dengan npm install.

Pada baris kedua, kita akan membuat sebuah server dan menyediakan Port pada konfigurasi. Kemudian, kita akan menjalankan Loop untuk menyediakan Request yang berasal dari Browser.

Satu hal yang perlu diperhatikan adalah kita menggunakan await tanpa membungkusnya dengan async karena Deno menyediakan fungsi Top Level Await.

Simpan kode diatas dengan nama app dan ekstensi .ts. Untuk menjalankannya, gunakanlah perintah berikut:

deno run app.ts


Deno akan mendownload module dan meng-compile kode TypeScript. Tetapi hasilnya akan Error.

mendownload module dan meng-compile kode TypeScript

Disini, kita harus memberikan izin pada program untuk mengakses Port jaringan pada sistem. Sekarang, jalankan perintah dengan Flag berikut:

deno run --allow-net app.ts

mengakses Port jaringan pada sistem

Sekarang, buka Browser dan buka halaman localhost:3000. Kita akan melihat pesan berikut pada Browser:

localhost:3000
Berikut adalah Flag yang dapat kita gunakan untuk memberikan izin pada Deno:
  • -allow-env : Perizinan akses Environment
  • -allow-net : Perizinan akses Jaringan
  • -allow-plugin : Perizinan akses Plugin
  • -allow-read : Perizinan akses Read (Membaca) File sistem
  • -allow-write : Perizinan akses Write(Membaca) File sistem
  • -allow-run : Perizinan untuk menjalankan Sub-proses
  • -allow-all : Perizinan untuk mengaktifkan semua akses

Deno memuat modul sekali dari URL dan menyimpannya (Cache) kedalam sistem. Untuk menjalankan ulang modul, kita harus menyertakan Flag -reload sebelum menjalankan program. Contoh:

deno run --reload --allow-net app.ts


Modul pada Deno

Deno menyediakan beberapa modul standar. Kalian dapat melihat semuanya disini.

Selain itu, kita juga dapat menggunakan modul pihak ketiga (Third Party). Kalian dapat melihat semuanya disini.

Kesimpulan

Kesederhanaan ada pada Deno dan semuanya itu menyenangkan (Mudah). Mungkin pada artikel selanjutnya, kita akan membahas lebih dalam lagi tentang Deno.

0 Komentar