Brut:一个用于 Ruby 的新 Web 框架

主要观点

  • 2025 年 7 月 08 日,介绍 Brut 这一简单且功能齐全的 Ruby 网络框架,它与其他 Ruby 网络框架不同,无控制器等概念,可写 HTML 并在服务器生成,能自由编写 JavaScript 和 CSS。
  • 以展示当前时间的网页代码为例,说明 Brut 的构建方式。
  • Brut 围绕低抽象和低仪式构建,有内置 OpenTelemetry 仪器、基于 Sequel 的数据访问层和基于 OptionParser 的命令行应用程序自动化。
  • 可立即安装 Brut,几分钟内就能构建并运行应用,还有全功能示例应用 [ADRs.cloud]。
  • 介绍 Brut 的一些亮点,如类实例化对象的核心设计、利用现代网络平台、设置良好实践默认值、使用优秀 Ruby 宝石、不使用 YAML 配置等。
  • 阐述创建 Brut 的原因是不想在 Rails 应用的繁琐事务中消磨乐趣,只想用 Ruby、HTML 构建有趣的网络应用。
  • 表示将继续致力于 Brut 的 1.0 版本,希望大家一起享受构建网络应用的过程。

关键信息

  • 日期:2025 年 7 月 08 日
  • 框架名称:Brut
  • 安装方式:可通过 docker 运行命令安装
  • 示例代码:展示生成时间页面的代码
  • 亮点:类实例化对象设计、利用现代平台、良好实践默认值、使用优秀宝石、不使用 YAML 等
  • 原因:不想在 Rails 事务中消磨乐趣,只想构建有趣应用
  • 后续:继续致力于 Brut 1.0 版本

重要细节

  • Brut 网页框架无控制器、动词或资源,可构建页面、表单和单动作处理程序。
  • 应用有内置 OpenTelemetry 仪器、Sequel 数据访问层和基于 OptionParser 的命令行应用自动化。
  • 示例应用 [ADRs.cloud]可运行查看工作方式。
  • Brut 的核心设计围绕类实例化对象,方法调用,避免过多 include 调用和动态定义方法。
  • 利用现代网络平台实现客户端和服务器端表单验证统一,有 BrutJS 库增强 HTML,用 esbuild 处理 CSS。
  • 默认设置良好实践,如合理的内容安全策略、非空数据库列、索引外键等。
  • 使用 RSpec 写测试,Faker 和 FactoryBot 设置测试和开发数据,Phlex 生成 HTML。
  • I18n 用 i18n 宝石的 Ruby Hash 进行翻译,动态配置在环境中用 dotenv 宝石管理。
  • Brut 不创建不必要的抽象,避免关于业务逻辑和 HTTP 方法的争论。
阅读 12
0 条评论