写点什么

Ezra Zygmuntowicz 访谈:通向 Merb1.0 之路

  • 2008-02-02
  • 本文字数:2153 字

    阅读完需:约 7 分钟

Merb 已接近 1.0 发布里程碑,开发团队为此时正在使用 Merb 以及计划在新项目中采用 Merb 的人们带来了一些巨大的变化。

InfoQ 有幸采访了 Merb 的缔造者和 Engine Yard 的创始人——Ezra Zygmuntowicz。

Robert Bazinet (RB): 对于那些不熟悉 Merb 的朋友来说,来介绍一下 Merb 以及 Merb 和 Ruby on Rails 之间的差别?

Ezra Zygmuntowicz (EZ): Merb 是一个和 Rails 很相似的 Web 应用开发框架。较之 Rails 框架,其主要侧重于增强框架的可理解性、规则化以及快速编码的辅助。严密的核心框 架可以用于构建高性能的网络服务,还有插件和附加功能可供随意选择。这使得 Merb 核心小而快,而且依然可以构建成熟的应用。Merb 同时也支持 ORM、 Javascript 以及测试框架。它拥有官方的插件可以使用 ActiveRecord、DataMapper 和 Sequel ORM’s,可以轻易的使用 CouchDB、ThruDB 以及其他数据存储。

RB: Merb 是为哪一类开发者或者哪一类项目所设计的?

EZ: 在这一点上我会说 Merb 更针对于中到高级的开发者。Merb 并不如 Rails 般易于学习,但是它也在努力试图吸引 ruby 初学者和在试图个性化的时候遇到麻烦的人。Merb 的目标是在服务器资源上比 Rails 更加有效率,目前它可以节省大约一半内存,而在分派(dispatch)和渲染的时候会快上约 2-5 倍。

RB: Merb 0.5 最近发布了;这个发布版的里程碑是什么?

EZ: 这个发布版有着很多优雅的新特性。虽然它仍然是一个开发版本,但是它已经在很多产品中使用了。

RB: Merb 0.9 作为下一个官方发布版,将会分解为一个 Merb-core 的 gem 和一个由其他 gem 所组成的包。这样做对开发者的好处是什么?

EZ: 这样做的好处是可以保持核心框架精简、益于理解且速度快。这意味着 你将可以触及核心并可以做到对 Web 服务和 SOA/REST 类型后端的快速响应。和 Rails 那种大而全又不能精简的类型不同的是,Merb 可以很小并让 你可以根据你的应用程序的需求来仅仅拣选那些需要的特性,当你要将你的应用程序部署到一个产品环境中的时候,这样做可以降低花销并提高性能。

我们将会有一个 Merb 的元 gem,可以安装 Merb-core 和一个插件集合,所以你仍旧可以通过一个快速启动的全栈框架来搭建原形系统。但是我认为保持模块化是非常重要的,这样可以避免 Rails 因为累积而导致的臃肿。

RB: 为什么团队要开发一个 0.9 的发布版和一个 1.0 的发布版,而不是直接发布 1.0 呢?

EZ: 0.9 基本上就是 Merb 1.0 的 RC 版本,我们已经做了主要的重构,并希望大家可以暂时使用 Merb 0.9 并在我们开始 Merb 1.0 以前提出更多的问题。

RB: Merb 已经开发了一阵子而且马上将要到达 1.0 版本,这很令人欣慰吧。在 Merb 就要到达 1.0 的时候你的感觉如何呢?当这个项目启动的时候你又是怎么设想 1.0 版本的呢?

EZ: Merb 0.0.1 的第一个发布是在 2006 年十月。在那以后 Merb 就有组织有计划的稳步增长,从一个小玩具变成了一个完全成熟的框架。我们马上就要达到 1.0 版本十分令人欣慰,我非常兴奋的看到人们用 Merb 来创建平台。我觉得对于 Ruby 来说 Merb 1.0 作为一个 Web 平台是一个重要的里程碑。我希望能够最终去除 Ruby 通常很慢的这个毒瘤。Ruby 只要适当注意编码规范是可以很快的。

RB: 除了 0.9 或者 1.0 的 API 文档以外,开发团队在教程、视频以及文档方面都做了些什么?在帮助开发者入门方面我们有什么可期待的?EZ: 是的,在 0.9 发布后、正在通往 1.0 的路上,我们已经拥有了一个带有 Wiki、论坛等等的社区文档和集中插件网站。也有一些 Merb 的书籍正在编写中。一些社区成员也正在制作一些教学视频。

预期扩展的集中文档和技术指南会在 Merb 1.0 发布之时或之前被发布。我们对于 Merb 的代码采用了一种新的文档规范并在 Merb-core 中广泛使用,在 1.0 发布以前我们也会将同样的规范应用于 Merb-more 和所有的插件中。

RB: Merb 1.0 在我看来是非常关键的。一个 1.0 版本的发布通常意味着产品的到来,作为一个 Ruby on Rails 的开发者,Merb 开发团队会怎样帮助我转换到 Merb 呢?

EZ: 随着 1.0 发布我们也会带来丰富的、专业的文档和技术指南。我们当然也考虑到了很多人将会从 Rails 迁移到 Merb,所以我们会确保有足够的信息来让这种迁移更加容易。

一个关键的思路就是保持框架代码的简单、精简和一致性。这样可以使开发变得容易,因为框架并不是一个完全的黑箱。 它能够熟悉并修改来让你做你想做的事。很多次当我为了去修复 Rails 中的一些错误来读 Rails 框架的代码的时候我都会感觉很痛苦,我希望能够引导 Merb 的方向,使它不仅仅是一个可扩展的框架,更拥有对未来可扩展的代码库。

我们在代码库中采用一种 @public、@semipublic 和 @private 的标准规范。在 1.0 以后我们 将不会修改 @public 的 API,而 @semipublic 将可能会作一些修改,但是我们会试图保持修改的最小化。@private 的 API 在不破坏 @public 和 @semipublic 标准的情况下是可以任意重构其内部实现的。我们希望这样可以帮助我们去避免那些 Rails 在向后兼容性上所带来的 阻碍创新和扼杀代码库的问题。

RB: Ezra,感谢你在百忙之中抽出时间来和我们来聊 Merb。

Engine Yard 的新工程师 Yehuda Kats 在他的博客更新的文章中给出了关于下个版本 Merb 的信息,其中对于一些 Ezra 谈到的要点给出了更加详细的说明。

他对于新 Merb-core 的 gem 的一些重要的细节给出了解释:

2008-02-02 00:291204
用户头像

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

关注

评论

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

聚焦采购痛点:中烟创新采购文件编制与审核系统如何精准破局

中烟创新

面试完第一反应是想笑

王中阳Go

Go 面试 后端 大厂

从 Python 演进探寻 AI 与云对编程语言的推动

阿里巴巴云原生

Python 阿里云 云原生

等保测评常见的安全产品

等保测评

AI 背单词 App 的核心功能

北京木奇移动技术有限公司

软件外包公司 AI英语学习 APP开发公司

三维模型展UV工具 RizomUV 2023破解版资源-mac/win

Rose

官宣|矩阵起源官网「体验中心」正式上线,文档解析能力开放试用!

MatrixOrigin

让大模型更懂你,京东零售的算法工程师做了这些事

京东零售技术

智慧菜场系统(源码+文档+讲解+演示)

深圳亥时科技

BandiZip (解压缩软件),适用于多核心压缩、快速拖放、高速压缩等

Rose

Maxon Cinema 4D S24中文激活版_c4d详细安装教程

Rose

什么是等保一体机?

等保测评

自6月首次公开募股(IPO)以来,Circle股价涨幅达472%,超越比特币表现

PowerVerse

ICML 2025 高分论文!快手&南开提出:模块化双工注意力机制,显著提升多模态大模型情感理解能力!

快手技术

多模态 快手 情感理解

TiDB 社区第四届专栏征文大赛联合墨天轮火热开启,TiDB 业务场景实战、运维开发攻略两大赛道,BOSE 降噪耳机、大疆手持云台、投影仪、运动手环、礼品卡等重磅礼品等你来拿!

TiDB 社区干货传送门

社区活动

CommunityOverCode Asia 2025 Messaging 专题预告,RocketMQ 邀您共探相关议题

Apache RocketMQ

开源 云原生 消息队列 Asia

数字资产支付 App 的技术框架

北京木奇移动技术有限公司

数字资产 区块链技术 软件外包公司

TablePlus(数据库管理工具) v6.6.1 破解版

Rose

Dimension 2023中文直装版+安装教程(3D设计工具)

Rose

强大CAD绘图软件 Bricsys BricsCAD 25浮动许可证-mac/win

Rose

Try Hack Me SOAR 实战演练:安全编排、自动化与响应技术解析

qife122

安全运维 蓝队

AI赋能灯塔低代码平台,AI应用落地“加速器”

中烟创新

留个VKProxy性能测试记录

八苦-瞿昙

Proxy

大数据-37 HBase Java API POM 增删改查 详细代码

武子康

Java 大数据 hadoop 分布式 HBase

折叠屏进入智能体时代:解构三星Galaxy AI的多模态进化

Alter

信创适配、迁移、改造|中烟创新怀信创初心,赴数字之约

中烟创新

照片经典胶片效果和风格DxO FilmPack 7-mac/win

Rose

Autodesk Maya 2025(玛雅2025)中文激活详细图文安装教程

Rose

sublime text 中文设置教程 及sublime text 激活码分享

Rose

Topaz Video AI Pro(去隔行,放大和运动插值) v7.0.1汉化特别版

Rose

数据智能化管理技术创新|PingCAP 合作论文入选 SIGMOD 2025,引领下一代数据基础设施发展方向

TiDB 社区干货传送门

Ezra Zygmuntowicz访谈:通向Merb1.0之路_Ruby_Robert Bazinet_InfoQ精选文章