Episode terakhir seri ini meninjau ekosistem modern: Rails 8.x, Sinatra, Hanami, dan tooling Rake, Puma, serta Foreman, implementasi alternatif JRuby dan TruffleRuby, perbandingan Ruby dengan bahasa lain, plus rekap dan checklist aplikasi production-grade.

Selamat — kalian sudah sampai di episode terakhir seri Belajar Ruby. Dari pre-requisites di episode 0 hingga fitur Ruby 4.0 di episode 21, kalian telah melewati hampir seluruh peta perjalanan: sintaks, OOP, concurrency, web, keamanan, performa, tipe, testing, dan metaprogramming.
Episode 22 merangkum semuanya. Kita meninjau ekosistem web Ruby secara utuh, implementasi alternatif JRuby dan TruffleRuby, perbandingan Ruby dengan bahasa lain, lalu rekap lengkap dan checklist production. Ini adalah kesempatan untuk melihat gambaran besar sebelum menerapkan semuanya.
Rails 8.x tetap pilihan utama full-stack: solid-cache dan solid-queue menggantikan kebutuhan Redis di banyak kasus, Kamal menyederhanakan deployment, dan Propshaft menjadi asset pipeline modern. Sinatra tetap unggul untuk service kecil. Hanami adalah framework MVC yang menekankan struktur dan arsitektur bersih:
gem install hanami
hanami new aplikasi --database=sqlite
cd aplikasi
bundle exec hanami serverhanami new aplikasi membuat project Hanami baru, dan bundle exec hanami server menjalankannya. Hanami menawarkan alternatif yang lebih modular dan ringan dibanding Rails untuk tim yang ingin kendali lebih besar atas arsitektur.
Tooling melengkapi ekosistem. Rake adalah task runner universal — daftar task dengan rake -T. Puma adalah web server thread-based default. Foreman menjalankan banyak proses sekaligus dari Procfile:
gem install foreman
cat > Procfile <<EOF
web: bundle exec puma -p 3000
worker: bundle exec sidekiq
EOF
foreman startforeman start membaca Procfile dan menjalankan web serta worker bersamaan. bundle exec puma -p 3000 menjalankan Puma di port 3000. Kombinasi Rake untuk task, Puma untuk server, dan Foreman untuk orkestrasi lokal adalah standar workflow pengembangan Ruby.
JRuby menjalankan Ruby di atas JVM. Ia memberi akses ke seluruh ekosistem Java dan threading yang sebenarnya, tanpa GVL. Gunakan ketika project membutuhkan library Java atau performa JIT JVM:
gem install jruby
jruby app.rbjruby app.rb menjalankan script dengan runtime JRuby. Keuntungan: integrasi Java yang mulus, garbage collector JVM yang matang, dan true parallelism. Kekurangan: startup lebih lambat dan sebagian C extension mungkin tidak kompatibel.
TruffleRuby berjalan di atas GraalVM dan mengejar performa ekstrem lewat Graal JIT. Ia cocok untuk workload yang sangat CPU-bound:
gem install truffleruby
truffleruby app.rbtruffleruby app.rb menjalankan script dengan TruffleRuby. Untuk kompatibilitas terbaik, tetap targetkan CRuby — itu versi referensi yang paling banyak dipakai di production. Pertimbangkan alternatif hanya bila ada kebutuhan spesifik: JVM, true parallelism, atau performa ekstrem.
Setiap bahasa punya posisinya. Python kuat di data science dan Django untuk kecepatan pengembangan; Node.js unggul di I/O intensif dan ekosistem frontend yang sama; PHP tetap dominan di hosting murah dan WordPress. Ruby bersinar lewat produktivitas, DSL yang ekspresif, dan ekosistem Rails yang sangat kohesif.
Pilih berdasarkan konteks, bukan popularitas. Untuk REST API dan aplikasi web yang ingin dikembangkan cepat dengan tim kecil, Rails adalah pilihan rasional. Untuk microservice ringan, Sinatra atau Hanami memberi kendali. Trade-off Ruby adalah performa eksekusi dan banyaknya pilihan typing, tetapi YJIT dan Ruby 4.0 terus memangkas gap performa itu.
Dari episode 0, kalian menyiapkan rbenv dan IRB; melalui episode 1-8 menguasai sintaks, control flow, method, OOP, error handling, dan string; episode 9-12 menangani file, collections, concurrency, dan Bundler; episode 13-16 membangun web dan mengamankannya; episode 17-21 mengoptimasi, mengetik, menulis test, dan pindah ke Ruby 4.0. Tidak ada lompatan yang sia-sia — semuanya tersambung.
Sebelum deploy aplikasi Ruby, pastikan checklist ini lengkap:
rbenv versions
bundle exec rspec
bundle audit check
brakeman --exit-on-warn
RUBY_YJIT_ENABLE=1 bin/rails serverbundle exec rspec dan bundle audit check memvalidasi test serta dependency. brakeman --exit-on-warn memastikan tidak ada peringatan keamanan baru. RUBY_YJIT_ENABLE=1 mengaktifkan YJIT di production. Lengkapi dengan secrets di environment, monitoring, backup database, dan rencana rollback.
Komunitas Ruby sangat terbuka. Pelajari lebih lanjut dari ruby-lang.org, docs.ruby-lang.org untuk API, rubygems.org dan bundler.io untuk dependency, serta repo github.com/ruby/ruby untuk NEWS.md. Bergabunglah dengan komunitas lokal atau conference untuk tetap mengikuti arah bahasa ini.
Success
Kalian telah menempuh 23 episode penuh, dari pre-requisites sampai Ruby 4.0 dan production readiness. Yang membedakan sekarang bukan jumlah materi yang dibaca, melainkan praktik yang kalian bangun di atasnya.
Inti yang harus dibawa pulang:
Seri Belajar Ruby selesai. Ini bukan akhir, melainkan titik awal: ambil satu ide kecil dari setiap episode — misalnya mengaktifkan YJIT atau menulis test pertama dengan Minitest — lalu terapkan di project kalian hari ini. Bangun sesuatu, ulangi, dan bagikan hasilnya kepada komunitas. Selamat berkoding, dan sampai jumpa di seri berikutnya.