Lewati ke konten

Filosofi

Membangun server seharusnya terasa ringan, bukan seperti memecahkan teka-teki sebelum rute pertama sempat berjalan. Perasaan itulah alasan Deserve ada.

Perjalanan

Seperti banyak pengembang, saya menghabiskan bertahun-tahun di ekosistem JavaScript, berpindah antar framework untuk setiap ide baru. Express jadi markas saya, sederhana dan familiar, dan saya merilis banyak proyek di atasnya. Lalu Deno datang, dan sesuatu terasa pas.

Deno memberi runtime native yang kaya, tapi kaya bisa diam-diam berubah jadi berat. File config di satu sudut, registrasi rute di sudut lain, perakitan middleware berserakan di mana-mana. Saya ingin cara membangun di atas Deno yang tetap sekecil masalah di depan mata, jadi Deserve bermula sebagai framework yang saya harap sudah ada.

Keyakinan Inti

Empat keyakinan ini membentuk setiap keputusan di framework, dan masing-masing terhubung ke fitur yang bisa dipakai hari ini.

Masing-masing dari empat keyakinan inti memetakan ke fitur konkret yang bisa dipakai hari ini, di mana lebih sedikit bagian bergerak menuju zero dependency, struktur adalah API menuju file-based routing, bangun di atas platform menuju HTTP dan stream native, dan pengalaman yang ikut tumbuh menuju dibangun untuk tim

Pandangan abstrak bagaimana keyakinan berpikir sebagai satu pikiran, di mana satu ide akar tetap sekecil masalah memberi makan keempat keyakinan, keyakinan saling menguatkan menyusuri rantai, dan bersama mereka menyatu pada kesimpulan bahwa sederhana itu aman sebab makin sedikit kode berarti makin sedikit yang bisa salah

Lebih Sedikit Bagian Bergerak

Pohon dependensi terkecil adalah yang tidak bisa rusak. Deno sudah membawa penanganan request, pemantauan file, dan primitif keamanan, jadi bersandar pada runtime lebih baik daripada menarik paket lain. Karena itu Deserve berjalan dengan zero npm dependencies, menjaga permukaannya cukup kecil untuk benar-benar dipercaya.

Struktur Adalah API

Susunan folder sudah menggambarkan maksud, jadi ia juga yang menentukan rute. Tanpa langkah registrasi, tanpa tabel pusat yang harus disinkronkan, hanya file yang memetakan langsung ke URL lewat file-based routing. Bentuk proyek adalah bentuk API.

Bangun di Atas Platform

Ketika runtime memberi sesuatu yang kokoh, pakai itu daripada membangunnya ulang. Deserve membungkus HTTP, stream, dan worker native milik Deno alih-alih menyembunyikannya, jadi platform tetap dekat dan mudah ditebak di bawah setiap handler.

Pengalaman yang Ikut Tumbuh

Kode harus enak dibaca, pola harus mudah ditebak, dan error harus menunjuk ke arah yang berguna. Perhatian itu bertahan baik saat satu orang ngoprek di akhir pekan maupun saat satu tim merilis bersama, dan itulah yang membuat Deserve dibangun untuk tim sejak commit pertama.

Aman Sejak Awal

Sederhana dan aman layak berada di kalimat yang sama. Router yang sedang melayani melindungi proses dari mati tak sengaja lewat proteksi proses, dan kegagalan ditangkap berlapis lewat defense in depth. Tetap kecil adalah bagian dari tetap aman, sebab makin sedikit kode berarti makin sedikit yang bisa salah.

Tetap aman juga berarti tetap terkini. Permukaan serangan terus bergeser, jadi setiap rilis mengikutinya dan menyertakan perbaikannya bersama fitur baru. Versi baru jarang sekadar membawa kemampuan baru, sebagian besar isinya justru perbaikan untuk celah serangan dari versi sebelumnya. Karena itu memakai versi terbaru adalah pilihan yang aman, bukan sekadar pilihan opsional. Satu perintah sudah cukup untuk menjaga dependensi tetap terkini melalui deno update, dan perintah deno update --latest menarik rilis terbaru dengan mengabaikan semver sehingga perbaikan keamanan langsung kamu terima begitu rilis tersedia.

Kecil karena Sengaja

Deserve tidak hadir untuk menggantikan framework besar atau memenangkan adu benchmark. Ini alat untuk pengembang yang menyukai betapa ringannya Deno dan ingin menjaga rasa itu sampai ke produksi.

Terkadang solusi terbaik adalah yang sederhana. Terkadang solusi sederhana itu belum ada, jadi layak untuk membangunnya dan membagikannya secara terbuka.

Dirilis di bawah Lisensi MIT.