6 poin oleh GN⁺ 2024-10-08 | 1 komentar | Bagikan ke WhatsApp
  • Versi beta pertama Ruby on Rails 8 telah resmi dirilis
  • Versi ini dibangun di atas Rails 7.2 dan menghadirkan fitur baru serta optimisasi yang membuat pengembangan Rails menjadi lebih produktif dan menyenangkan
  • Sorotan utama
    • Integrasi dengan Kamal 2
    • Pengenalan Propshaft sebagai pipeline aset default yang baru
    • Mencakup berbagai peningkatan besar pada Active Record
    • Peningkatan integrasi SQLite menjadikannya opsi yang layak untuk penggunaan produksi

Deployment yang mudah dengan Kamal 2 dan Thruster

  • Deployment aplikasi dibuat lebih sederhana melalui Kamal 2 dan Thruster
  • Kamal 2 memungkinkan deployment yang cepat dan mudah ke cloud VM, server bare metal, atau lingkungan VPS, sehingga mengurangi ketergantungan pada layanan cloud terkelola dan platform PaaS.
  • Dengan satu perintah kamal setup, lingkungan Rails yang siap produksi dapat disiapkan di box Linux standar.
  • Selain itu, integrasi dengan Thruster memungkinkan zero-downtime deployment, dukungan HTTP/2, SSL otomatis melalui Let's Encrypt, kompresi Gzip, dan hosting banyak aplikasi dengan mudah di satu server.

Deployment Rails yang disederhanakan melalui Solid Adapters

  • Salah satu peningkatan utama di Rails 8 adalah penyederhanaan deployment dengan mengurangi jumlah layanan tambahan yang diperlukan untuk mengimplementasikan kebutuhan umum aplikasi web.
  • Hanya dengan SQLite, job queue, caching, dan pub/sub messaging dapat ditangani melalui tiga adapter berbasis database baru: Solid Cable, Solid Cache, dan Solid Queue.

SQLite yang siap untuk produksi

  • SQLite diubah dari alat pengembangan ringan menjadi pilihan yang andal dan cocok untuk penggunaan produksi.
  • Berkat pekerjaan ekstensif pada adapter SQLite dan driver Ruby, SQLite kini dapat mendukung Action Cable, Rails.cache, dan Active Job secara efektif.

Era baru pipeline aset dengan Propshaft

  • Propshaft diperkenalkan sebagai default baru untuk pipeline aset, menggantikan sistem Sprockets yang telah lama digunakan.
  • Propshaft mencerminkan pendekatan yang sederhana dan modern dalam mengelola aset, sesuai dengan kebutuhan inti developer masa kini.

Autentikasi bawaan yang lebih mudah

  • Disediakan perintah untuk menyiapkan sistem autentikasi secara sederhana, lengkap dengan session berbasis database dan fitur reset password.
  • Perintah ini membuat file-file utama seperti model, controller, mailer, dan view sehingga autentikasi yang aman dan siap produksi dapat dibangun dengan cepat.

Folder script dan generator baru

  • Diperkenalkan folder script baru untuk menyimpan skrip sekali pakai atau skrip serbaguna seperti migrasi data, tugas pembersihan, atau pekerjaan utilitas lainnya.
  • Dengan generator skrip baru, pembuatan dan eksekusi skrip menjadi lebih mudah.

Berbagai peningkatan pada Active Record

  • Active Record menerima peningkatan besar untuk menghadirkan performa yang lebih baik, penyederhanaan migrasi, pemecahan masalah yang lebih baik, serta dukungan untuk use case database yang kompleks.

Ringkasan GN⁺

  • Rails 8 menghadirkan berbagai pembaruan yang meningkatkan produktivitas developer dan selaras dengan praktik terbaik modern, sehingga mereka dapat fokus membangun aplikasi alih-alih menangani kompleksitas infrastruktur
  • Deployment yang mudah melalui Kamal dan Thruster, pengelolaan aset modern melalui Propshaft, serta kemampuan SQLite yang siap produksi merupakan keunggulan utama Rails 8

1 komentar

 
GN⁺ 2024-10-08
Opini Hacker News
  • Ruby dan Rails belakangan ini sedang mengalami kebangkitan

    • Buku Programming Ruby tahun ini terbit dalam edisi baru yang membahas Ruby 3.3
    • The Rails Way sedang diperbarui untuk Rails 8, dan dua buku pendamping dijadwalkan terbit
    • PragProg sedang menerbitkan lebih awal buku baru berjudul Rails Scales
    • Berkat YJIT, Ruby menjadi sangat cepat
    • Fitur-fitur baru untuk kesuksesan di "tahap menengah" ditambahkan ke Rails
    • Fitur baru seperti Data (Struct immutable), pattern matching, Fibers, dan Ractors telah ditambahkan ke Ruby
    • Saya meninggalkan Ruby sejak 2013, tetapi merasa tertarik dengan kemungkinan untuk kembali lagi
  • Masalah terbesar Ruby tetap dokumentasinya

    • Situs dokumentasi resminya mencampur buku-buku lama dan dokumentasi API
    • Fitur bahasa dicantumkan di bawah API sehingga membingungkan
    • Dibandingkan dokumentasi Python, Ruby kurang memiliki daftar isi yang terstruktur
  • Saya bekerja di proyek yang menggunakan Rails dan arsitektur berbasis microservices

    • Ada tren untuk menghindari arsitektur monolitik, tetapi saya sangat menghargai nilai inti yang ditawarkan Rails
    • Saya suka bagaimana tim Rails terus menambah nilai dan melakukan perbaikan
  • Rails adalah framework yang memberikan produktivitas dan stabilitas untuk proyek web baru

    • Pembaruan major version baru dapat dilakukan pada aplikasi yang ada tanpa perubahan besar
  • Kadang saya berpikir seandainya 10-15 tahun lalu saya memilih Ruby/RoR alih-alih Node.js

  • Saya tidak memakai Rails, tetapi Solid Adapters terlihat keren

    • Satu database saja bisa cukup untuk waktu yang sangat lama
    • Menggunakan solusi terbaik untuk cache, pub/sub, full-text search, dan sebagainya menambah kompleksitas operasional
  • Saya pada dasarnya developer Go, tetapi mulai memakainya untuk proyek hobi saat Rails 7 dirilis

    • Menyenangkan bisa deploy ke Dokku tanpa tool frontend yang rumit
  • Saya sudah beberapa kali mencoba Rails, tetapi Node terasa lebih mudah dipahami

    • Saya mencari kesederhanaan, dan Rails bukan itu
  • Saya developer Rails dengan pengalaman 20 tahun dan sedang mencari pekerjaan full-time

    • Handle GitHub saya sama
  • Saya sudah menggunakan RoR sejak 2008, dan ini masih framework yang kuat serta fleksibel

    • Saya bisa membangun aplikasi besar sendirian dengan cepat
    • Saya berharap deployment-nya membaik, dan saat ini memakai Dokku alih-alih Kamal v1
    • Saya menantikan Kamal 2