5 poin oleh GN⁺ 2025-07-31 | Belum ada komentar. | Bagikan ke WhatsApp
  • Untuk ekosistem Ruby, kerangka kerja web sederhana dan kuat berbasis "abstraksi rendah, low-ceremony", yang menyediakan struktur yang berfokus pada halaman, form, dan aksi tunggal tanpa konsep controller dan sumber daya REST
  • Server-rendered HTML, penulisan JS/CSS secara langsung, integrasi OpenTelemetry, Sequel·OptionParser, dan alat Ruby modern sudah terintegrasi, membuat instalasi serta pengembangan bisa dilakukan dalam hitungan menit
  • Struktur berbasis kelas, manajemen sesi, form, dan parameter berbasis tipe nyata, serta minimnya penggunaan dynamic method dan hash untuk mengarah pada kode yang jelas dan dokumentasi otomatis
  • Pemanfaatan platform web modern: integrasi validasi server-klien, BrutJS (Web Components), hash dan bundel CSS lewat esbuild, serta penguatan kebijakan keamanan dan desain database dasar
  • Minimisasi YAML, konfigurasi berbasis Ruby/Hash dengan penamaan dan pemisahan peran yang jelas, dengan tujuan memanfaatkan Ruby dan teknologi browser secara menyenangkan tanpa memaksakan abstraksi atau pola yang tidak perlu

Fitur utama kerangka kerja Brut

Struktur yang benar-benar baru – berfokus halaman tanpa controller

  • Dibangun dengan kelas halaman, form, dan handler aksi tunggal berbasis kelas sebagai pengganti controller, sumber daya REST, dan route action
  • HTML dibuat langsung di server, JS/CSS dapat ditulis sesuka hati
  • Contoh: halaman penampil waktu didefinisikan langsung sebagai TimePage < AppPage

Pemanfaatan aktif platform web modern

  • UX form dengan validasi server-klien yang terintegrasi
  • Dukungan untuk perluasan bertahap HTML dengan BrutJS (pustaka Web Components)
  • Aplikasi esbuild untuk bundel dan hashing CSS, diproses ringkas tanpa PostCSS atau SASS

Produktivitas pengembangan dan fondasi bawaan

  • Instrumentasi berbasis OpenTelemetry, akses data berbasis Sequel, otomatisasi baris perintah berbasis OptionParser
  • Kebijakan keamanan dasar, nilai default kolom DB/kunci asing, indeks, waktu yang selalu timezone-aware, dan lokalisasi yang sederhana
  • Pengujian RSpec, pembuatan data dengan Faker/FactoryBot, generasi HTML dengan Phlex

Eliminasi YAML, struktur konfigurasi yang jelas

  • I18n berbasis Ruby Hash, konfigurasi dinamis dikelola lewat dotenv (hampir tidak ada penggunaan YAML)
  • Hanya docker-compose yang menggunakan YAML secara eksklusif

Tidak ada pemaksaan abstraksi atau pola yang tidak perlu

  • Penamaan dan struktur yang jelas (contoh: WidgetsPage diakses lewat /widgets)
  • Lapisan data (DB::Widget) dan lapisan domain (Widget) dapat dipisahkan sepenuhnya
  • Tidak ada konsep controller, logika bisnis dapat diimplementasikan sesuai kebutuhan
  • Tanpa pemaksaan pola fungsional kompleks, monad, Proc, dan seterusnya

Pengalaman pengembangan dan fleksibilitas

  • Alat utama ekosistem Ruby modern seperti RSpec sudah tersedia secara bawaan
  • Pemanfaatan aktif library utama seperti Phlex (HTML), Faker/FactoryBot, Sequel, OpenTelemetry
  • Berfokus pada “keseruan” Ruby dan teknologi browser, keluar dari boilerplate, konfigurasi, dan pengambilan keputusan yang berulang

Mengapa Brut?

  • Alih-alih setup berulang pada framework lama seperti Rails, perdebatan desain dan struktur yang tiada henti, serta fleksibilitas yang tidak perlu, Brut mengejar kesenangan dari kode itu sendiri
  • Berfokus pada produktivitas dan kejernihan sebagai kerangka kerja aplikasi web berbasis Ruby yang memungkinkan Anda membangun, mengembangkan, dan deploy dengan cepat

Memulai dan roadmap ke depan

  • Dukungan image Docker resmi Brut serta pembuatan dan eksekusi aplikasi cepat berbasis perintah
  • Menyediakan contoh aplikasi nyata seperti ADRs.cloud
  • Rencana pembaruan versi 1.0 dan roadmap resmi akan terus hadir

Belum ada komentar.

Belum ada komentar.