Menelusuri perjalanan Axum dari proyek resmi tim tokio-rs pada 2021 hingga menjadi web framework Rust paling populer di 2026, memahami filosofi library-oriented vs monolitik, serta alasan memilih Axum di atas Actix-web, poem, dan rocket.

Setelah di episode 0 kita menyiapkan environment — toolchain Rust ≥ 1.80 dan editor dengan rust-analyzer siap — pada episode ini kita menarik napas sejenak dan memahami mengapa Axum ada. Sejarah sebuah framework mungkin terasa tidak penting, padahal di sanalah letak keputusan desain yang akan menemani kalian menulis ratusan handler.
Mengapa harus memahami sejarah Axum? Karena Axum lahir dari ekosistem, bukan dari ruang rapat pemasaran. Ia ditulis oleh tim yang sama yang memelihara tokio — fondasi async Rust itu sendiri. Memahami asal-usulnya akan menjelaskan mengapa Axum memilih pendekatan library-oriented modular, mengapa ia terintegrasi begitu dalam dengan tower, dan mengapa di 2026 ia menjadi pilihan utama backend Rust.
Axum dibuat oleh tokio-rs — tim resmi di balik tokio async runtime dan tower — dan dirilis pertama kali pada tahun 2021. Posisinya unik: bukan framework komunitas yang dibangun di atas tokio, melainkan framework resmi ekosistem tokio/tower.
| Fakta | Detail |
|---|---|
| Pengelola | Tim tokio-rs (Rust Async Ecosystem WG) |
| Rilis pertama | 2021 |
| Nama asal | "axum" — diambil dari nama pohon Axum (maple) / kota Aksum |
| Fondasi | tokio + hyper + tower |
| Versi di series ini | 0.8.9 (14 April 2026) |
| MSRV | Rust 1.80 |
Keputusan strategis ini penting: karena axum dikelola oleh pemelihara tokio, siklus rilisnya selalu sinkron dengan async ecosystem. Ketika tokio merilis versi baru, axum mengikutinya cepat — kita lihat nanti di episode 26 bahwa tokio 1.53.1 (April 2026) dan axum 0.8.9 dirilis berdekatan.
Perbedaan terbesar Axum dibanding framework mainstream adalah filosofinya. Rails dan Laravel bersifat batteries-included monolitik: mereka membawa ORM, template engine, session, mailer, dan autentikasi sekaligus. Axum sebaliknya — library-oriented dan modular:
Artinya, kalian merakit stack sesuai kebutuhan, bukan menyesuaikan diri dengan apa yang dipaksa framework. Konsekuensinya: lebih banyak keputusan di tangan kalian, tetapi setiap lapisan bisa dipertukarkan tanpa pindah framework. Inilah mengapa Axum nyaman dipakai untuk microservices — tiap service hanya mengambil komponen yang ia butuhkan.
Note
Jangan salah paham: "library-oriented" bukan berarti "kurang lengkap". Artinya komponen-komponennya hidup sebagai crate terpisah yang bisa dipilih satu per satu. Stack yang dirakit dari axum + tower-http + sqlx + utoipa sama lengkapnya dengan framework monolitik — hanya lebih transparan.
Di 2026, Axum telah mencapai versi 0.8.x dengan kematangan yang tinggi. Beberapa alasan ia menjadi pilihan utama:
| Keunggulan | Arti Praktis |
|---|---|
| Type-safe routing & extractors | Route, state, dan body divalidasi compiler saat build — banyak bug tertangkap sebelum runtime (zero-cost) |
| Performa tinggi | Berjalan di atas hyper; overhead sangat rendah, cocok untuk workload performa kritis |
| Integrasi tower penuh | Setiap middleware tower bisa dipakai langsung; tower-http menambah puluhan middleware siap pakai |
| Composability via traits | Router, Handler, Service semuanya trait — mudah di-layer, diuji, dan di-extend |
| Realtime native | WebSocket (axum::extract::ws) dan Server-Sent Events (SSE) didukung di inti framework |
| Ekosistem satu keluarga | Tokio, hyper, tower, tonic (gRPC) — semua dari vendor yang sama, kompatibilitas terjamin |
Fitur WebSocket bahkan berkembang cepat: versi 0.8.9 (14 April 2026) menambahkan dukungan subprotocol pada WebSocket serta perbaikan multipart body limit — contoh nyata bahwa fitur production-critical terus masuk ke rilis minor.
Agar keputusan memilih Axum berimbang, bandingkan dengan pesaing utamanya:
| Aspek | Axum | Actix-web | Poem | Rocket |
|---|---|---|---|---|
| Fondasi | tokio + hyper + tower | actix runtime sendiri | hyper + tower | hyper |
| Filosofi | library-oriented, modular | framework mandiri | library-oriented | batteries-included |
| Ekosistem tower | Penuh (native) | Sebagian (via adapter) | Penuh | Terbatas |
| Keunikan | Type-safe routing & state | Ekosistem besar, sangat cepat | Middleware generik via generic fn | Macros ergonomis |
| Kurva belajar | Sedang (butuh paham traits) | Sedang | Sedang | Rendah |
Semua framework di atas mampu production. Poin pembeda Axum bukan sekadar benchmark, melainkan keterpaduan ekosistem: karena satu keluarga dengan tokio/hyper/tower, komponen saling "tahu" dan kombinasi jarang menimbulkan konflik versi. Ini nilai yang sulit diukur di benchmark tetapi sangat terasa saat membangun sistem besar.
Di 2026, Axum diadopsi luas di ekosistem backend Rust:
Intinya: belajar Axum di 2026 berarti belajar bagian dari standar de facto backend Rust, bukan bahasa yang terpinggirkan.
Pada episode 1 ini, kalian telah menelusuri perjalanan Axum dari proyek 2021 tim tokio-rs hingga menjadi web framework Rust paling populer.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya, kita akan membedah arsitektur dan konsep utama Axum — alur Handler → Router → Service, peran hyper dan tokio, serta bagaimana extractor, responses, dan middleware stack bekerja di balik layar. Sampai jumpa di episode 2!