【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

构建于 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:051456
用户头像

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

关注

评论

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

7. ✎会查新华字典不?会。Python字典已经掌握了

梦想橡皮擦

Python 爬虫 2月春节不断更 python入门

8. ㊙ Python 集合三板斧,滚雪球学 Python

梦想橡皮擦

Python 2月春节不断更 python入门

职场心得

时间是一个人最好的证明

职场

第四周作业

Ashley.

【LeetCode】杨辉三角Java题解

Albert

算法 LeetCode 2月春节不断更

走进 Tokio 的异步世界

lipi

rust 异步 tokio

定投,积沙成塔的财富增长方式

boshi

理财 七日更

并发编程系列:阻塞队列的实现原理

程序员架构进阶

jdk 阻塞队列 七日更 28天写作 2月春节不断更

Elasticsearch query string 分词

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

前端冲刺必备指南-this/call/apply/bind(万字长文)

我是哪吒

学习 程序员 面试 大前端 2月春节不断更

千行百业中的我们,数字山河间的中国速度

脑极体

书画装裱物料与选择参考

boshi

业余爱好 七日更

GitHub 上的优质 Linux 开源项目,真滴牛逼!

JackTian

GitHub Linux 开源 运维工程师 2月春节不断更

微信限量纪念版code封面来啦,速看领取方式

孙叫兽

视频号 2月春节不断更 孙叫兽 微信红包封面 纪念版

12周架构

FreeOcean

hadoop mapreduce YARN

日记 2021年2月12日(周五)

Changing Lin

2月春节不断更

【LeetCode】找到所有数组中消失的数字Java题解

Albert

算法 LeetCode 2月春节不断更

Python优化机制:常量折叠

Python猫

Python

LeetCode 数据库刷题 - 596. 超过5名学生的课

小马哥

七日更 二月春节不断更

备战春招/秋招,开源社区系统 Echo,基于目前主流 Java Web 技术栈,并提供详细的开发文档和配套教程

飞天小牛肉

Java 开源 后端 springboot 2月春节不断更

这段时间学习机器学习的感受

Nydia

为您收录的操作系统系列 - 进程管理(加餐)

鲁米

线程 进程 同步 生产者与消费者

写一个用例(第四周)

mas

Ray 1.0 架构解读

lipi

分布式计算 Apache Arrow ray

聊聊金钱

熊斌

2月春节不断更

翻译:《实用的Python编程》01_02_Hello_world

codists

Python

手摸手Go 深入剖析sync.Pool

Leo叔叔

Go Concurrency Patterns sync.pool Go 语言

第四周笔记

Ashley.

gradle中的build script详解

程序那些事

maven Gradle 程序那些事 构建脚本 构建程序

Elasticsearch 分词器

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

【STM32】5分钟了解STM32的串口通信

AXYZdong

硬件 stm32 2月春节不断更

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