2 poin oleh GN⁺ 2026-03-13 | 4 komentar | Bagikan ke WhatsApp
  • Saat membuat aplikasi manajemen setlist (setlist.rocks) untuk band, penulis kembali menemukan kesenangan mengembangkan dengan Ruby on Rails setelah sekian lama
  • Rails 8 terbaru dimodernisasi sambil tetap mempertahankan struktur MVC tradisional, dengan frontend “no-build” berbasis Hotwire (Stimulus·Turbo) serta Solid Cache/Queue/Cable
  • SQLite telah dioptimalkan hingga cukup layak untuk layanan produksi hanya dengan konfigurasi bawaan, dan alat deployment Kamal mempermudah deployment tanpa downtime berbasis container
  • Berkat filosofi Rails “Convention over Configuration” dan ekosistem gem yang kaya, implementasi dari ide ke prototipe bisa dilakukan dengan cepat
  • Popularitas Ruby dan Rails memang menurun dibanding dulu, tetapi keduanya tetap menghadirkan kesenangan membangun sebagai framework OSS yang matang dan konsisten

Proyek sampingan dan kembali ke Rails

  • Untuk mengelola setlist dan catatan lagu band, penulis mengembangkan web app sendiri, mencari cara yang lebih efisien daripada spreadsheet atau chat yang ada
  • Dalam proses pengembangan, penulis kembali merasakan kesederhanaan dan produktivitas Rails, dan menyebut bahwa dibanding ekosistem web modern yang kompleks, Rails memberi “kesenangan murni dalam membangun”
  • Ruby tetap dinilai sebagai bahasa dengan sintaks alami dan daya ekspresif yang memudahkan menerjemahkan gagasan ke dalam kode
  • Menurut survei Stack Overflow 2025, popularitas Ruby dan Rails menurun, tetapi untuk proyek pribadi keduanya masih tetap disukai

Perubahan di Rails 8 dan frontend

  • Rails 8 tetap mempertahankan struktur MVC yang ada, sambil menyediakan integrasi frontend berbasis Hotwire (Stimulus·Turbo)
    • Turbo mencegat klik tautan dan submit form untuk menghadirkan responsivitas setara SPA
    • Stimulus menambahkan perilaku JS hanya pada bagian yang diperlukan sehingga UI interaktif bisa dibangun dengan penulisan JavaScript seminimal mungkin
  • Dengan hadirnya Importmap, library JS bisa dimuat langsung dari CDN tanpa Webpack atau npm
  • Penulis menggunakan alat AI untuk menghasilkan UI, tetapi juga mengungkap kegelisahan antara kreasi dan sisi artistik dari kode

Workflow pengembangan dan produktivitas

  • Dengan filosofi Rails “Convention over Configuration”, model, routing, controller, dan view bisa disusun dengan cepat
    • Sebagai contoh, artikel ini memperagakan proses membuat model Tag, mengotomatisasi RESTful routing, dan menangani respons JSON
  • Template ERB dan live reload memungkinkan prototyping cepat
  • Ekosistem gem yang kaya memudahkan integrasi berbagai fitur seperti CSV, PDF, dan lainnya

Peningkatan backend: seri Solid* dan SQLite

  • Solid Cache/Queue/Cable kini disertakan secara bawaan di Rails 8 sehingga cache, job queue, dan WebSocket bisa ditangani tanpa Redis
    • Solid Cache menggunakan caching berbasis DB untuk menghemat RAM dan menyederhanakan arsitektur
    • Solid Queue mengelola background job berbasis DB, dan cukup dijalankan dengan pengaturan SOLID_QUEUE_IN_PUMA=1
    • Solid Cable adalah adapter Action Cable berbasis DB untuk mendukung fitur real-time
  • SQLite kini memiliki optimasi default seperti mode WAL dan sinkronisasi NORMAL melalui pengaturan pragmas: di database.yml
    • Tanpa server DB terpisah pun, SQLite tetap praktis digunakan pada lingkungan produksi skala kecil

Otomatisasi deployment dan Kamal

  • Sambil menyinggung kerumitan deployment lama berbasis Capistrano dan Ansible, penulis memperkenalkan Kamal sebagai alat deployment bawaan Rails 8
    • Proses build container → push → deployment ke server → health check → pergantian tanpa downtime diotomatisasi
    • kamal-proxy menangani perpindahan traffic dan pemrosesan SSL
    • File .kamal/secrets mendukung pengelolaan secret yang aman berbasis environment variable
  • Dengan integrasi GitLab CI, deployment bisa dilakukan hanya dengan git push, menghidupkan kembali kesederhanaan Heroku di masa lalu

Autentikasi dan fitur lain

  • Rails 8 menyediakan auth generator bawaan sehingga sistem autentikasi yang lebih sederhana daripada Devise bisa dibangun
  • Devise tetap berguna berkat fitur dan dokumentasinya yang kaya, tetapi kesederhanaan autentikasi bawaan Rails juga dinilai menarik

Kondisi ekosistem Rails saat ini dan keberlanjutannya

  • Meskipun popularitas Ruby dan Rails menurun, layanan besar seperti Shopify·Basecamp·SoundCloud·GitHub masih terus menggunakannya
  • Banyak gem kini berada pada tahap pemeliharaan, tetapi Rails tetap menjaga siklus rilis tahunan yang konsisten
  • Rails dinilai sebagai “framework yang mungkin tidak banyak menarik developer baru, tetapi tetap menyenangkan untuk dipakai membangun”

Kesimpulan

  • Rails mungkin berjarak dari tren terbaru, tetapi ditekankan sebagai alat yang mengembalikan kesenangan dan kesederhanaan dalam membangun
  • Alih-alih mengejar popularitas, penulis menekankan kesenangan membuat dan kreativitas, lalu menutup dengan pesan untuk “mencoba Rails sekali lagi”

4 komentar

 
joyfui 2026-03-14

Kalau soal Rails, yang saya ingat bukan "configuration over convention" melainkan "convention over configuration"...

 
savvykang 2026-03-14

> most of the web frameworks I’d (...) memerlukan boilerplate XML yang tak ada habisnya dan konfigurasi lainnya untuk merangkai semuanya. Rails membuang semua itu dan memperkenalkan konsep “convention over configuration”

Tampaknya LLM mengeluarkan hasil persis mengikuti urutan input tanpa mengubah susunan kata. Di teks aslinya sudah benar.

 
xguru 2026-03-14

LLM juga bisa salah soal hal seperti ini. Sudah saya perbaiki. Terima kasih.

 
GN⁺ 2026-03-13
Opini Hacker News
  • Saya sangat menyukai Rails, tetapi setelah pernah bekerja di codebase besar tanpa tipe statis, rasanya sulit kembali ke Rails selain untuk proyek pribadi
    Codebase besar tanpa tipe adalah mimpi buruk untuk dipelihara, bahkan dengan IDE kuat seperti RubyMine
    Saya penasaran sejauh mana Sorbet sudah berkembang belakangan ini, terutama kecocokannya dengan RoR

    • Saat ini saya merasa Rust/Loco adalah framework yang paling menarik
      Ia mengikuti filosofi Rails dengan baik, sambil membuat pembelajaran Rust terasa lebih mudah
    • IHP adalah framework berbasis Haskell yang terinspirasi Rails dan mencoba menggabungkan kelebihan dari dua dunia
      Layak dicoba saat akhir pekan
    • Masalahnya bukan hanya ketiadaan tipe, tetapi juga struktur di mana fungsi atau properti didefinisikan saat runtime sehingga debugging hampir mustahil
      Kita harus menyalin data produksi yang sebenarnya ke lokal atau SSH ke server lalu memeriksa state lewat REPL
      Debugging di IDE adalah pengalaman seperti neraka
      Saya benar-benar mencintai Ruby, tetapi setelah mengalami debugging langsung, jadi sulit
    • Saya penasaran kenapa codebase besar tanpa tipe statis bisa jadi mimpi buruk seperti itu
    • Belakangan ini, berkat agentic coding, pentingnya bahasa atau framework makin berkurang
      Sekarang tidak ada alasan kuat untuk sengaja memilih Ruby atau Python
      Python mungkin akan bertahan sedikit lebih lama di bidang ML, tetapi pada akhirnya sepertinya akan menghilang
  • Saya juga senang ada yang mengungkapkan pemikiran seperti ini secara terbuka
    Akhir-akhir ini saya lelah dengan arsitektur microservices yang berlebihan
    Pada malam hari saya mengerjakan proyek yang sekadar menyelesaikan masalah tanpa struktur yang tidak perlu
    Dulu saya banyak berurusan dengan struktur PHP, tetapi baik Rails maupun PHP pada akhirnya hanyalah alat pemecah masalah

    • Sejak awal tahun ini saya memakai RoR untuk proyek baru, dan ini benar-benar terasa seperti udara segar
      Rasanya seperti semua berjalan “di dalam kotak”, seperti pengembangan desktop IDE zaman dulu
      Lepas dari kerepotan mengelola komponen kompleks dalam web development, saya merasa mendapatkan kembali kesederhanaan yang berfokus pada produktivitas
      Selain itu, senang sekali tidak perlu memakai TypeScript. Menurut saya TypeScript itu bertele-tele dan penuh boilerplate yang tidak perlu
    • Saya penasaran STOA itu singkatan dari apa
    • Ungkapan “terjemahan antara pikiran dan kode diminimalkan” terasa sangat tepat menggambarkan hakikat Ruby
  • Kami telah terus menjalankan aplikasi Rails di produksi sejak 2007
    Rahasia umur panjang Rails bukan pada usianya, melainkan pada stabilitas dan kepraktisannya
    Klaim bahwa memakai JavaScript di backend membuat efisiensi lebih tinggi sudah terbantahkan
    Sebagian besar perubahan tech stack terjadi karena optimasi CV atau kecemasan terhadap tren, bukan karena kebutuhan engineering yang nyata
    Rails diam-diam terus menjalankan bisnis sungguhan
    Tak ada yang benar-benar mengira 3,1 juta paket di NPM memberi lebih banyak fungsi daripada 190 ribu paket di RubyGems

    • Kami juga sudah memakai Rails di produksi sejak 2011 di dua perusahaan
      Kami sedang bermigrasi ke Inertia + Vue.js, dan kombinasi ini sangat kuat sampai-sampai hampir tidak perlu mengubah backend
      Kenaikan produktivitasnya bahkan menutupi sulitnya perekrutan
    • Banyaknya jumlah paket di NPM berarti jumlah penggunanya juga besar
      Semakin banyak pengguna, semakin sehat ekosistemnya
      Namun RubyGems juga punya banyak paket lama, jadi menurut saya sulit membandingkannya secara sederhana
  • Filosofi “batteries included” pada RoR atau Django itu bagus, tetapi pemeliharaan proyek lama memakan banyak waktu
    Untuk memperbarui proyek berusia 5–6 tahun, pengelolaan dependensi menjadi beban besar
    Karena itu belakangan ini saya lebih suka memakai framework sederhana dengan Go atau bahkan tanpa framework sama sekali

    • Saya mengelola codebase Django dengan lebih dari 300 ribu baris, dan dependensi langsungnya hanya 32
      Kalau hanya memakai library yang benar-benar perlu, pemeliharaannya mudah
    • Sepertinya masalah utamanya adalah churn yang terus-menerus
      Selain patch keamanan, saya mempertanyakan kenapa harus repot memperbarui
    • Di Laravel saya hampir tidak pernah mengalami masalah seperti ini
      Dalam satu setengah tahun terakhir saya menaikkan 5 versi mayor, dan tetap relatif sederhana
    • Pada akhirnya, tingkat sulitnya pemeliharaan bergantung pada strategi pengelolaan dependensi
      Jika disusun dengan hati-hati sejak awal, hampir tidak perlu banyak disentuh untuk waktu lama
    • Saya penasaran apakah “batteries included” justru membuat upgrade lebih sulit. Saya merasa malah sebaliknya
  • Menurut saya pengalaman upgrade sering diremehkan
    Next.js berubah total pada tiap versi mayor, tetapi Rails jauh lebih stabil karena siklus deprecation-nya lambat dan bertahap
    Saat produk terus dirilis, stabilitas antarmuka jauh lebih penting daripada paradigma terbaru

    • Hanya orang yang sudah lama menjalankan Rails yang benar-benar memahami poin ini
      Peralihan Next.js dari pages ke app router pada dasarnya adalah perubahan setara replatforming total
      Sebaliknya, Rails punya jalur upgrade yang terdokumentasi dan siklus deprecation yang bisa diprediksi
      Pengelolaan versi Ruby juga hampir menghilangkan masalah ketidakcocokan environment berkat rbenv/asdf
    • Peralihan Next ke app router adalah perubahan struktural besar, jadi pada titik ini layak mempertimbangkan alternatif yang kurang opinionated seperti TanStack Start
  • Saya sudah lebih dari 10 tahun memakai Rails untuk segala hal, dari DevOps sampai solo web developer, dan jika mengulang saya tetap akan memilih yang sama
    Rails adalah framework yang rapi dan produktif dengan semuanya sudah tersedia
    Di survei Stack Overflow pun masih masuk “Top 5 stack yang ingin dipakai di proyek berikutnya”

    • Sifat Rails sebagai “framework untuk satu orang” benar-benar menarik
      Hampir tidak perlu memikirkan pengaturan infrastruktur, dan deployment juga sederhana
    • Orang yang benar-benar bekerja dengan Rails mungkin memang tidak merasa perlu ikut survei
      Pada akhirnya yang penting bukan pandangan orang lain, melainkan memakai alat yang cocok untuk diri sendiri
    • Rails dirilis pada 2004 dan sekarang sudah menjadi framework berusia lebih dari 20 tahun
      Ia muncul satu tahun lebih awal daripada Django
    • Dalam survei Stack Overflow 2025, Rails berada di peringkat 10 pada kategori web framework “Admired vs Desired”
      Tautan survei
  • Dulu saya menganggap Ruby/Rails adalah solusi paling optimal untuk kebanyakan masalah, dan sekarang pun saya masih merasa begitu

  • Saya belum pernah memakai Rails, tetapi saya paham dengan kekacauan lingkungan web development saat ini
    Karena itu saya memilih Elixir dan Phoenix dengan melihat ke masa depan

    • Dalam beberapa hari terakhir, saat saya bilang sedang mengerjakan proyek dengan Ruby, ada lima orang yang merekomendasikan Elixir
      Saya pasti akan mencobanya di proyek berikutnya
      Saya penasaran apa yang membuat Elixir begitu menarik, dan hal apa yang sebaiknya diperhatikan saat pertama kali mempelajarinya
  • Sepuluh tahun lalu saya membangun frontend streaming untuk sebuah perusahaan penyiaran besar di Swedia dengan Rails
    Di Heroku kami menangani lebih dari 1 juta koneksi bersamaan, dan semuanya berjalan sangat baik
    Setelah itu saya pindah ke bidang lain seperti infrastruktur streaming, API, AI/ML, tetapi bukan karena Rails gagal, melainkan karena sifat masalahnya berubah
    Rails cocok untuk masalah yang berpusat pada model data dan business logic, sedangkan untuk masalah yang berpusat pada concurrency atau infrastruktur, bahasa lain lebih cocok
    Ruby masih terasa sebagai bahasa yang indah dan ekspresif, dan saya sangat merindukannya

    • Saya juga setuju dengan filosofi “memilih alat yang sesuai dengan masalah”
      Tetapi saya merasa sulit untuk sepenuhnya menghapus bias pribadi terhadap bahasa yang kita sukai
      Saya penasaran bahasa apa yang dipakai untuk proyek berikutnya
  • Bagi mereka yang menyayangkan ketiadaan tipe statis, ada solusi hebat seperti Sorbet
    Kita bisa menikmati produktivitas Ruby, tipe statis, dan integrasi LSP sekaligus
    Berkat Shopify, dukungan Sorbet di Rails juga sangat baik
    Saya sangat menyukai ekosistem ini sampai sekarang pun masih ingin bekerja dengan Rails
    Berkat kemajuan alat AI, saya merasa kini batasnya hanya sebesar imajinasi kita

    • Topik terpanas di dunia AI saat ini adalah OpenClaw
      Berdasarkan itu saya membuat agen e-commerce yang memantau toko 24 jam dan mengirim notifikasi Slack
      Jika mengerjakan proyek terkait AI, selzee.com/openclaw layak sekali untuk dilihat