6 puan yazan GN⁺ 2024-10-08 | 1 yorum | WhatsApp'ta paylaş
  • Ruby on Rails 8'in ilk beta sürümü resmen yayımlandı
  • Bu sürüm, Rails 7.2 temel alınarak yeni özellikler ve optimizasyonlar sunuyor; böylece Rails geliştirmeyi daha üretken ve keyifli hale getiriyor
  • Öne çıkan başlıklar
    • Kamal 2 ile entegrasyon
    • Yeni varsayılan varlık işlem hattı olarak Propshaft'ın sunulması
    • ActiveRecord için kapsamlı iyileştirmeler
    • SQLite entegrasyonundaki yükseltmeler sayesinde üretim kullanımına uygun bir seçenek haline gelmesi

Kamal 2 ve Thruster ile kolay dağıtım

  • Kamal 2 ve Thruster sayesinde uygulama dağıtımı basitleştiriliyor
  • Kamal 2, bulut VM'lerine, bare metal sunuculara veya VPS ortamlarına hızlı ve kolay dağıtım yapmayı sağlayarak yönetilen bulut hizmetlerine ve PaaS platformlarına bağımlılığı azaltıyor.
  • Tek bir kamal setup komutuyla standart bir Linux makinesinde üretime hazır bir Rails ortamı kurulabiliyor.
  • Ayrıca Thruster ile entegre çalışarak kesintisiz dağıtım, HTTP/2 desteği, Let's Encrypt üzerinden otomatik SSL, Gzip sıkıştırma ve tek bir sunucuda birden fazla uygulamayı kolayca barındırma imkanı sunuyor.

Solid Adapters ile sadeleştirilmiş Rails dağıtımı

  • Rails 8'deki başlıca iyileştirmelerden biri, tipik web uygulaması ihtiyaçlarını karşılamak için gereken ek servis sayısını azaltarak dağıtımı sadeleştirmesi.
  • Yalnızca SQLite ile, Solid Cable, Solid Cache ve Solid Queue adlı üç yeni veritabanı tabanlı adaptör üzerinden iş kuyrukları, önbellekleme ve pub/sub mesajlaşması yönetilebiliyor.

Üretime hazır SQLite

  • SQLite, hafif bir geliştirme aracından çıkıp üretim kullanımına uygun, güvenilir bir seçenek haline geliyor.
  • SQLite adaptörü ve Ruby sürücüsü üzerinde yapılan kapsamlı çalışmalar sayesinde SQLite artık Action Cable, Rails.cache ve Active Job'u etkili şekilde destekleyebiliyor.

Propshaft ile varlık işlem hattında yeni dönem

  • Propshaft, yeni varsayılan varlık işlem hattı olarak sunuluyor ve uzun süredir kullanılan Sprockets sisteminin yerini alıyor.
  • Propshaft, varlık yönetiminde modern geliştiricilerin temel ihtiyaçlarına uygun, sade ve çağdaş bir yaklaşımı yansıtıyor.

Basitleştirilmiş yerleşik kimlik doğrulama

  • Veritabanı tabanlı oturumlar ve parola sıfırlama özelliği içeren bir kimlik doğrulama sistemini kolayca kurmak için bir komut sağlanıyor.
  • Bu komut; model, controller, mailer, view gibi temel dosyaları oluşturarak güvenli ve üretime hazır bir kimlik doğrulama yapısını hızlıca kurmayı mümkün kılıyor.

Yeni script klasörü ve üretici

  • Veri migrasyonları, temizlik işleri veya diğer yardımcı görevler gibi tek seferlik ya da genel amaçlı script'leri saklamak için yeni bir script klasörü sunuluyor.
  • Yeni script üreticisi sayesinde script'ler kolayca oluşturulup çalıştırılabiliyor.

Çeşitli Active Record iyileştirmeleri

  • Performans artışı, migrasyonların sadeleştirilmesi, sorun giderme deneyiminin iyileştirilmesi ve karmaşık veritabanı kullanım senaryolarına destek sağlamak için Active Record'a önemli geliştirmeler ekleniyor.

GN⁺ özeti

  • Rails 8, geliştirici üretkenliğini artıran ve modern en iyi uygulamalarla uyumlu çeşitli güncellemeler getirerek, altyapı karmaşıklığıyla uğraşmak yerine uygulama geliştirmeye odaklanmayı sağlıyor
  • Kamal ve Thruster ile kolay dağıtım, Propshaft ile modern varlık yönetimi ve SQLite'ın üretime hazır hale gelmesi Rails 8'in öne çıkan avantajları arasında yer alıyor

1 yorum

 
GN⁺ 2024-10-08
Hacker News görüşleri
  • Ruby ve Rails son dönemde yeniden yükselişe geçmiş gibi görünüyor

    • Programming Ruby kitabının bu yıl Ruby 3.3'ü kapsayan yeni bir baskısı yayımlandı
    • The Rails Way, Rails 8'e uyumlu olacak şekilde güncelleniyor ve iki eşlikçi kitabın çıkması planlanıyor
    • PragProg'da Rails Scales adlı yeni bir kitap ön yayında
    • YJIT sayesinde Ruby çok hızlandı
    • Rails'e "orta ölçekli" başarı için yeni özellikler eklendi
    • Ruby'ye Data (değiştirilemez Struct), pattern matching, Fibers, Ractors gibi yeni özellikler eklendi
    • 2013'ten beri Ruby kullanmıyorum ama geri dönme ihtimali bana ilginç geliyor
  • Ruby'nin en büyük sorunu hâlâ dokümantasyon

    • Resmî dokümantasyon sitesinde eski kitaplarla API dokümanları iç içe duruyor
    • Dil özelliklerinin API'nin altında listelenmesi kafa karıştırıcı
    • Python dokümantasyonuyla kıyaslayınca sistemli bir içindekiler yapısı eksik
  • Rails ve mikroservis tabanlı mimari kullanan bir projede çalışıyorum

    • Monolitik mimariden kaçınılması yönünde bir eğilim var ama Rails'in sunduğu temel değeri çok yüksek görüyorum
    • Rails ekibinin sürekli değer katmasını ve iyileştirmeler yapmasını seviyorum
  • Rails, yeni web projeleri için üretkenlik ve istikrar sağlayan bir framework

    • Yeni büyük sürüm güncellemeleri, mevcut uygulamalarda büyük değişiklikler gerektirmeden yapılabiliyor
  • Bazen 10-15 yıl önce Node.js yerine Ruby/RoR seçmiş olmayı dilerdim diye düşünüyorum

  • Rails kullanmıyorum ama Solid Adapters etkileyici görünüyor

    • Tek bir veritabanıyla yeterince uzun süre idare edilebilir
    • Cache, pub/sub, full-text search gibi her alanın en iyi çözümünü kullanmak operasyonel karmaşıklığı artırıyor
  • Asıl olarak Go geliştiricisiyim ama Rails 7 çıktığında hobi projelerimde kullanmaya başladım

    • Karmaşık frontend araçları olmadan Dokku'ya deploy etmek keyifli
  • Rails'i birkaç kez denedim ama Node'u anlamak daha kolay gelmişti

    • Sadelik arıyorum ve Rails bunu sunmuyor
  • 20 yıllık bir Rails geliştiricisiyim ve tam zamanlı iş arıyorum

    • GitHub kullanıcı adım aynı
  • 2008'den beri RoR kullanıyorum ve hâlâ güçlü, esnek bir framework

    • Büyük uygulamaları tek başıma hızlıca geliştirebiliyorum
    • Deployment tarafında iyileştirme bekliyorum; Kamal v1 yerine Dokku kullanıyorum
    • Kamal 2'yi merakla bekliyorum