5 puan yazan GN⁺ 2025-07-31 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Ruby ekosistemi için “düşük soyutlama, düşük tören (low-ceremony)” odaklı basit ve güçlü bir web çerçevesi; kontrolör ve REST kaynağı kavramı olmadan sayfa, form ve tek eylem odaklı bir yapı sunar
  • Sunucu render'lı HTML, doğrudan yazılan JS/CSS, OpenTelemetry entegrasyonu, Sequel·OptionParser gibi modern Ruby araçları dahili olarak gelir; kurulum ve geliştirme dakikalar içinde yapılabilir
  • Sınıf tabanlı yapı, gerçek tip temelli oturum, form ve parametre yönetimi ile dinamik metot/hash kullanımını en aza indirerek net kod ve otomatik dokümantasyon hedefler
  • Modern web platformunun aktif kullanımı: sunucu-istemci doğrulamanın bütünleştiği form UX, BrutJS(Web Components), esbuild ile CSS paketleme ve hashleme, güvenlik politikaları ve DB tasarımındaki temel yapıların güçlendirilmesi
  • YAML'in minimuma indirilmesi, Ruby/Hash tabanlı ayarlar ve net adlandırma/rol ayrımıyla, gereksiz soyutlama veya desen dayatmadan Ruby ile tarayıcı teknolojilerini eğlenceli şekilde kullanmayı hedefler

Brut çerçevesinin ana özellikleri

Tamamen yeni bir yapı – kontrolör olmadan sayfa odaklı

  • Kontrolör, REST kaynağı ve route action yerine sınıf tabanlı sayfa, form, tek eylem işleyicileri ile oluşturulur
  • HTML doğrudan sunucuda üretilir, JS/CSS istediğiniz gibi yazılabilir
  • Örnek: Zaman gösterimi sayfası doğrudan TimePage < AppPage ile tanımlanır

Modern web platformunun aktif kullanımı

  • Sunucu ve istemci doğrulamasını bütünleştiren form UX
  • BrutJS(Web Components) ile HTML'in kademeli genişlemesi desteklenir
  • esbuild ile CSS paketleme ve hashleme; PostCSS veya SASS olmadan sade bir şekilde yapılır

Geliştirme verimliliği ve temel yetenekler dahili

  • OpenTelemetry tabanlı enstrümantasyon, Sequel tabanlı veri erişimi, OptionParser tabanlı komut satırı otomasyonu
  • Temel güvenlik politikaları, DB kolon/foreign key varsayılanları ve indeksler, her zaman timezone-aware zamanlar, kolay lokalleştirme (Localization)
  • RSpec testleri, Faker/FactoryBot ile veri üretimi, Phlex ile HTML üretimi

YAML dışlama, net ayar yapısı

  • I18n, Ruby Hash tabanlıdır; dinamik ayarlar dotenv ile yönetilir (YAML neredeyse hiç kullanılmaz)
  • docker-compose yalnızca istisna olarak YAML kullanır

Gereksiz soyutlama veya desen zorunluluğu yok

  • Açık adlandırma ve rol ayrımı (ör. WidgetsPage, /widgets adresine gider)
  • Veri katmanı (DB::Widget) ile alan katmanı (Widget) tamamen ayrılabilir
  • Kontrolör kavramı yok, iş mantığını istediğiniz şekilde uygulayabilirsiniz
  • Karmaşık fonksiyonel desenler, monadlar, Proc vb. zorunlu kılınmaz

Geliştirme deneyimi ve esneklik

  • RSpec gibi modern Ruby ekosistemi araçları temel olarak dahildir
  • Phlex(HTML), Faker/FactoryBot, Sequel, OpenTelemetry gibi ana kütüphaneler aktif şekilde kullanılır
  • Tekrarlayan boilerplate/ayar/karar süreçlerinden kurtulup, Ruby ve tarayıcı teknolojilerinin “zevkine” odaklanır

Neden Brut?

  • Rails gibi mevcut çerçevelerin tekrarlayan kurulumları, sürekli tasarım/ yapı tartışmaları ve gereksiz esneklik yerine kodun kendi keyfini hedefler
  • Hızlı bir şekilde inşa edilebilen, Ruby tabanlı bir web uygulaması çerçevesi olarak geliştirmeyi ve dağıtımı eğlenceli hale getirmek üzere verimlilik ve açıklıka odaklanır

Başlangıç ve gelecek yol haritası

  • Brut resmi Docker imajı, komut bazlı hızlı uygulama oluşturma ve çalıştırma desteği
  • ADRs.cloud gibi gerçek dünya örnek uygulamalar sunar
  • 1.0 sürümü ve resmi yol haritasının güncellemeleri düzenli olarak planlanıyor

Henüz yorum yok.

Henüz yorum yok.