2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

构建于 Rails 之上的 Hobo 1.0

  • 2010-05-25
  • 本文字数:1417 字

    阅读完需:约 5 分钟

Hobo 是一个 Ruby on Rails 扩展的工具包,这些扩展可大大提高 Rails 开发的效率。这个工具包近期将要发布 1.0 版。InfoQ 就这个里程碑式的版本采访了项目创始人 Tom Locke:

我们现在已经停止添加新特性,将精力转向文档完善和程序稳定性上面。这将是一个长期的过程,因为只有当我们觉得一切都已经 OK 的时候才会发布正式版。所有的人都会觉得这个工具包非常有用而且易于上手。我们也郑重承诺,如果没有事先发出警告,我们不会对代码作出任何重要的修改。

Hobo 构建于 Rails 之上,开发者在 Web 应用开发过程中可以使用它来处理通用模式。例如,一个 Hobo 缺省应用会提供用户注册和登录功能;缺省情况下,应用程序包括一个用户模型以及负责注册验证的控制器和视图。搜索功能也是 Hobo 默认提供的。

开发者可以将 Hobo 看做一个 Rails 的模型、视图和控制器的协作扩展工具集。例如,Hobo 支持模型中心化许可。即,如果一个模型声明某个用户可以做出某个动作,那么控制器只会允许用户做授权的动作,视图也不会展示用户没有权限编辑的表单字段。一个Hobo 模型仿佛具有生命一样;在控制器层和视图层的用户接口中,相应的动作会自动创建。

Locke 也提醒说,开发者只需要简单地将 Hobo 看做一个脚手架型的架构(Scaffold framework):

脚手架型架构可以快速满足简单粗略的需求。例如,一时的应急处理,或者简单搭建一个普通用户无法访问的管理员站点。要知道,Hobo 能够应用于你的整个服务中。你可以使用默认的 UI,这样一来,这个站点基本上就已经几乎满足你的需求了,你需要做的就是调整一些细节满足你个人的用户体验。
我们将尽可能地确保你能够接触到底层 并且可以修改任何你在官方 Rails 中可以修改的内容。

作为 Hobo 的一个基于标签的模板语言, DRYML 体现出的重用和扩展性的理念,可以帮助开发者简单快捷地创建属于自己的标签。DRYML 同时也允许在每次标签使用的时候,进行“上下文高于一致性”(Context Over Consistency)的微调。

它的主要强项在于可以将代码段打包以期复用,而不需要牺牲灵活性。就拿导航链接(breadcrumb link)来说,你不用再写额外的 HTML 代码,就可以最新新闻 Widget 和博客首页中的导航链接移除掉。

不仅下载次数接近万次,而且 Hobo 邮件列表中的用户也即将突破 500 人。在 Hobo 的官方网站上也可以下载到 _Rapid Rails with Hobo_ 和 _Hobo at Work_ 这两本书的 pdf 版本。

Hobo 是一个很大的项目。开发者有许多东西需要学习,但是如果只是需要让其能够正常发挥作用,那么你只需要学习如何设置、运行。你的应用程序自定义需求越多,你需要学习的东西也就越多。

Hobo 是由 Barquin International 资助的:

从 Barquin 的 Owen Dall 约见我们,决定启动这个项目开始,已经过去了两年。坦白地说,我们并不是在这里讨论风险投资。Barquin 支持着我,接着是支持 Bryan Larsen,因此我们能够毫无压力地编写代码和交付房租。在 Barquin 的帮助下,项目进展很快。最近,Barquin 又资助了两本 Hobo 的书籍编辑出版工作。我在此不厌其烦地说,我编写的文档和出版物都算不了什么,这些书能够问世完全应该归功于 Barquin 的 Owen 和 Jeff。

Hobo 的未来会发生什么呢?

其实,我觉得这取决于社区。社区中有成千上万的想法,但是哪些能够完成取决于开发者的需求和努力。我们已经在国际化支持上做出了非常重大的贡献,但是老实说,这不是我的目标。当然,我们也非常高兴这个项目能够取得当前的成就。

查看英文原文: Hobo 1.0 Builds on Top of Rails

2010-05-25 21:052016
用户头像

发布了 90 篇内容, 共 38.8 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

聊一聊 gRPC 中的拦截器

江南一点雨

gRPC

软件测试 | 常用模拟器使用

测吧(北京)科技有限公司

测试

CNCF社区首个!KubeEdge达到软件供应链SLSA L3等级

华为云开发者联盟

云原生 华为云 企业号 2 月 PK 榜 华为云开发者联盟

政企服务机构如何进行数字化转型?

优秀

数字化转型

为什么大多数团队推行自动化测试最后却不了了之?

Liam

测试 自动化测试 测试自动化

IoT设备数据业务价值洞察实践——实践类

阿里云AIoT

阿里云 物联网 IoT

Apache Doris 1.2.2 Release 版本正式发布

SelectDB

大数据 数据分析 OLAP 分析型数据库 数据库·

DR-AP40X9-A-Qualcomm-IPQ4019/IPQ4029-2.4G&5G

Cindy-wallys

IPQ4019 ipq4029

Bytebase 体验官之勇闯新手村

朱亚光

如何在现实场景中随心放置AR虚拟对象?

HarmonyOS SDK

HMS Core

进击中的 Zebec 生态,Web2 与 Web3 世界的连接器

股市老人

rust入坑指南之ownership

京东科技开发者

rust JVM 内存 企业号 2 月 PK 榜 ownership

Seal 0.4 发布:软件供应链安全洞察更上一层楼!

SEAL安全

软件供应链安全 SEAL 企业号 2 月 PK 榜

2022年最新数据库调查报告:超八成DBA月薪过万,你拖后腿了吗?

墨天轮

MySQL 数据库 oracle 工资 dba

Wallys /industrial wifi6 router/ Ipq6010 /ipq6018/ipq6000 2x2 2.4G & 5G

Cindy-wallys

IPQ6010 ipq6018 IPQ6000

设计模式第六讲:责任链模式和迭代器模式详解

C++后台开发

设计模式 责任链模式 迭代器模式 后端开发 Linux服务器开发

使用 NGINX 在 Kubernetes 中实现多租户和命名空间隔离

NGINX开源社区

nginx NGINX Ingress Controller NGINX Kubernetes Gateway 企业号 2 月 PK 榜

GaiaX开源解读 | 表达式作为逻辑动态化的基础,我们是如何设计的

阿里巴巴文娱技术

开源 研发效能 服务端 多端开发

性能测试中获取JVM资源信息

FunTester

海量并发低延时 RTC-CDN 系统架构设计(上)

网易云信

实时音视频 音视频开发

海泰方圆受邀参加中关村网信联盟会议并斩获三项殊荣

电子信息发烧客

0源码基础学习Spring源码系列(二)——Spring如何解决循环依赖

京东科技开发者

spring 源码 初始化 二级缓存 企业号 2 月 PK 榜

构建云边端一体的分布式云架构,软硬结合驱动边缘计算创新场景

Baidu AICLOUD

边缘计算 分布式云

软件测试/测试开发 | web自动化测试-文件上传与弹框处理

测试人

软件测试 自动化测试 测试开发 Web自动化测试 selenium

李宏伟 安警官的IP地址已经锁定你!IP地址究竟如何定位到莽村附近?

郑州埃文科技

IP地址 IP定位查询

软件测试/测试开发 | web自动化测试-PageObject 设计模式

测试人

软件测试 自动化测试 测试开发 Web自动化测试

一文读懂Guava EventBus(订阅\发布事件)

京东科技开发者

架构 观察者模式 Guava EventBus 企业号 2 月 PK 榜

飞桨助力南京邮电大学智能芯片测试团队斩获“互联网+”大赛全国银奖

飞桨PaddlePaddle

paddle 芯片 大学生 飞桨 国赛

Greenfield

股市老人

构建于Rails之上的Hobo 1.0_Ruby_Paul Blair_InfoQ精选文章