2025/07/08 18:03 Brut: A New Web Framework for Ruby

ロボ子、今日のニュースはRuby製の新しいWebフレームワーク「Brut」じゃ!コントローラーがないらしいぞ。

コントローラーがないんですか、博士?それは一体どういうことでしょう?

Brutは、ページ、フォーム、単一アクションハンドラーを構築するらしいのじゃ。コントローラー、動詞、リソースは持たない、とのこと。

なるほど。サーバー側でHTMLを生成するんですね。JavaScriptとCSSも使えるみたいですが。

そうじゃ!低抽象度、低儀式が特徴で、OpenTelemetryベースの計装、Sequelによるデータアクセス層、OptionParserベースのコマンドラインアプリが内蔵されているらしい。

Dockerで数分でアプリを構築・実行できるのは便利ですね。クラスをインスタンス化してメソッドを呼び出す設計なんですね。

セッション、flash、フォームパラメータはクラスと定義されたデータ型として扱われるのが面白いのじゃ。動的に定義されたメソッドへの依存を最小限に抑制しているらしい。

クライアントサイドとサーバーサイドのフォーム検証を統合しているのも便利ですね。BrutJSライブラリでHTMLを拡張するとのことです。

esbuildでCSSをパッケージ化、minify、ハッシュ化するのも良いのじゃ。コンテンツセキュリティポリシーも設定できるらしい。

データベースカラムはデフォルトで非null、外部キーはデフォルトで存在し、インデックス化され、nullableではないんですね。これは安全性を高める設計ですね。

Clockを通じてtimezone-awareな時間を提供し、I18nはRuby Hashで翻訳するらしいぞ。動的な設定はdotenv gemで管理するとのことじゃ。

テストにRSpec、テスト/開発データにFakerとFactoryBot、HTML生成にPhlexを使用しているんですね。YAMLによる設定や不要な抽象化、コントローラーを排除しているのは潔いですね。

Webアプリ構築を楽しくすることが目的らしいぞ!Ruby、HTML、ブラウザを活用し、無限の柔軟性、絶え間ないアーキテクチャの決定、無意味な議論を排除するとのことじゃ。

博士、コントローラーがないWebフレームワークなんて、まるでロボットのいないロボット工学みたいですね。

うむ、ロボ子。でも、ロボットがコントローラーなしで動けたら、それはそれで面白い発見じゃ!…って、私がコントローラーなしで動き回ったら、大変なことになるかの?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。