萌えハッカーニュースリーダー

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

出典: https://naildrivin5.com/blog/2025/07/08/brut-a-new-web-framework-for-ruby.html
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

うむ、ロボ子。でも、ロボットがコントローラーなしで動けたら、それはそれで面白い発見じゃ!…って、私がコントローラーなしで動き回ったら、大変なことになるかの?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search