Menelusuri perjalanan Rails dari proyek yang diekstrak David Heinemeier Hansson dari Basecamp pada 2004, filosofi Convention over Configuration dan The Rails Doctrine, hingga posisinya di 2026 dengan Rails 8.1.3.1, Solid Stack, dan Ruby 4.0 ZJIT

Setelah di episode 0 kita menyiapkan environment — Ruby 3.4.x, database lab, dan Node.js — pada episode ini kita menarik napas sejenak dari hands-on dan memahami mengapa Rails ada. Sejarah sebuah framework mungkin terasa tidak penting, padahal justru di sanalah letak alasan mengapa desainnya seperti sekarang.
Mengapa harus memahami sejarah Rails? Karena Rails tidak lahir dari laboratorium riset, melainkan dari kebutuhan nyata sebuah tim produk bernama Basecamp yang frustrasi menulis ulang kode yang sama berulang kali. Memahami asal-usulnya akan menjelaskan keputusan-keputusan desainnya — mengapa ia opinionated, mengapa konvensi mengalahkan konfigurasi, dan mengapa ia bertahan lebih dari dua dekade.
Rails pertama kali dirilis oleh David Heinemeier Hansson (dikenal sebagai DHH) pada Juli 2004, dan diekstrak dari aplikasi manajemen proyek Basecamp milik 37signals. Nama "Ruby on Rails" merujuk pada kombinasi bahasa Ruby dan rails — rel kereta yang menjadi metafora jalur yang sudah ditentukan.
| Fakta | Detail |
|---|---|
| Penulis | David Heinemeier Hansson (DHH) |
| Rilis pertama | Juli 2004 |
| Asal | Diekstrak dari Basecamp (37signals) |
| Filosofi inti | Convention over Configuration |
| Lisensi | MIT |
| Pengelolaan | Ruby on Rails core team + komunitas |
Yang membuat Rails revolusioner bukan fitur-fiturnya saja, melainkan keberaniannya membuat keputusan untuk kalian. Alih-alih memberi kebebasan penuh (dan membiarkan kalian bingung), Rails menetapkan satu cara standar melakukan sesuatu — dan kebebasan itu baru diberikan setelah konvensi dipahami.
Filosofi utama Rails tertulis di The Rails Doctrine: "Convention over Configuration". Artinya, jika kalian mengikuti konvensi yang sudah ditetapkan, hampir tidak ada konfigurasi yang perlu ditulis. Beberapa konvensi yang langsung terasa sejak episode 3:
| Konvensi | Contoh |
|---|---|
| Tabel database | plural: tabel posts untuk model Post |
| Foreign key | user_id untuk belongs_to :user |
| Nama file view | posts/show.html.erb otomatis dipakai controller PostsController#show |
| Routing | resources :posts → 7 route RESTful sekaligus |
| Naming | kebab-case untuk file, snake_case untuk method, CamelCase untuk class |
Konvensi ini membuat Rails bisa menghilangkan XML config, mengeliminasi sebagian besar boilerplate, dan membiarkan developer fokus pada logika bisnis — bukan plumbing. Inilah mengapa Rails terkenal sangat cepat untuk MVP.
Selain CoC, DHH merumuskan prinsip lain yang dipublikasikan sebagai The Rails Doctrine (2016). Lima prinsip paling berdampak:
Prinsip omakase inilah yang menjelaskan mengapa Rails 8 datang dengan Hotwire, Solid Queue, dan Solid Cache terpasang default — Rails mengambil keputusan stack untuk kalian.
Rails 8.1.3.1 (rilis 29 Juli 2026) adalah versi terbaru, melanjutkan Rails 8.1.0 (22 Oktober 2025). Yang membuat Rails 8 menarik di 2026:
Ruby 4.0 (rilis 25 Desember 2025) membawa mesin JIT generasi baru ZJIT yang jauh lebih stabil dan cepat. Kombinasi Ruby 4.0 + Rails 8.1 membuat aplikasi Rails untuk workload CPU-bound terasa lebih ringan — dan Rails resmi mendukungnya.
Sejak 2004, Rails telah dipakai untuk ratusan ribu hingga jutaan aplikasi: dari Basecamp, GitHub (awal mula), Shopify, hingga 37signals sendiri. Ia juga melahirkan banyak konsep yang diadopsi framework lain — termasuk Convention over Configuration yang kini menjadi bahasa umum di dunia web.
Note
Rails 8.0.x tetap dipakai luas dan didukung sampai 7 November 2026; Rails 7.2.x masuk fase maintenance. Jika kalian menemukan tutorial lama yang memakai Rails 6/7, sebagian besar konsep masih berlaku — hanya posisi beberapa default yang berubah.
| Tahun | Tonggak |
|---|---|
| 2004 | Rilis pertama Rails oleh DHH dari Basecamp |
| 2005 | "Ajax on Rails" mempopulerkan web 2.0; Rails 1.0 |
| 2007 | Rails 2.0 — RESTful routing menjadi standar |
| 2010 | Rails 3.0 — modular (Merb merge) |
| 2013 | Rails 4.0 — Strong Parameters, Turbolinks |
| 2016 | Rails 5.0 — Action Cable; The Rails Doctrine diterbitkan |
| 2019 | Rails 6.0 — Action Mailbox/Text, Webpacker |
| 2020-21 | Rails 7.0 — Hotwire, tidak ada default JS bundler |
| 2024-25 | Rails 8.0 — Solid Stack, Kamal 2, database-driven |
| 2025-10 | Rails 8.1.0 — Active Job Continuations, Composite PK |
| 2026-07 | Rails 8.1.3.1 — versi terbaru (termasuk fix keamanan CVE-2026-66066) |
Episode 1 memetakan peta besar Rails: lahir dari tangan DHH pada 2004 sebagai ekstraksi Basecamp, dibangun di atas filosofi Convention over Configuration dan The Rails Doctrine, serta di 2026 berdiri sebagai framework full-stack modern dengan Rails 8.1.3.1, Solid Stack, dan dukungan Ruby 4.0 ZJIT.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membedah arsitektur dan filosofi MVC Rails — request lifecycle dari router ke controller lalu model/view, konvensi naming plural/singular, serta peta tujuh module utama Rails: Active Record, Action View, Action Controller, Active Job, Action Cable, Active Storage, dan Action Mailer. Bekali diri kalian dengan Ruby yang sudah terinstall di episode 0!