写点什么

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:29843
用户头像

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

关注

评论

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

爆肝一月!527页文档详解SpringCloud微服务和分布式系统实践

Java你猿哥

数据库 分布式 SSM框架 微服务设计

华为云智能编程助手赋能高校,揭示行业发展新动向

爱尚科技

【Meetup回顾第1期】竟是这样的国产数据库,YashanDB技术内幕曝光

YashanDB

用低代码平台可视化设计表单

力软低代码开发平台

架构训练营模块九作业

gigifrog

架构训练营

技术分享 | 如何迅速将分布式政企应用转型为云原生微服务架构

IT科技苏辞

2023最新整理上千道Java面试攻略,近500页PDF文档

会踢球的程序源

Java 面试 找工作 java面试 应届生

2023 Java面试题短期突击攻略,已帮助400+位程序员成功拿到offer

小小怪下士

Java 程序员 面试 后端

集简云软件连接器,实现业务流程自动化

集简云开放平台

低代码开发 低代码平台 数据集成平台

SOA/ESB架构升级之路:从微服务到ServiceMesh,再到Sermant

IT科技苏辞

华为云智能编程助手助力哈尔滨工业大学(深圳)学子,引领软件研发新趋势

爱尚科技

搭建数据驱动的技术底座,助力企业数智化变革

用友BIP

技术大会 用友iuap 用友技术大会 升级企业数智化底座

阿里,快手,拼多多等 7 家大厂 Java 面试真题,Java 笔试题及答案详解

三十而立

第二届“鼎新杯”数字化转型应用大赛申报通道正式开启

信通院IOMM数字化转型团队

数字化转型 鼎新杯

分布式政企应用如何快速实现云原生的微服务架构改造

IT科技苏辞

全面拥抱Serverless,腾讯云大数据Elasticsearch开启云原生新范式

科技热闻

谈一谈 SAP 企业管理软件里那些真假 Fiori 应用

汪子熙

SAP Fiori 企业管理软件 思爱普 三周年连更

华为云智能编程助手助力哈尔滨工业大学(深圳)培养新时代软件研发人才

爱尚科技

崖山科技通过CMMI3级认证,研发管理能力获国际权威认可!

YashanDB

袋鼠云春季生长大会最新议程来啦!4月20日我们云上见

袋鼠云数栈

大数据 数字化转型

2023 寻找企业出海“新势力”

Jessie

企业出海 出海

白嫖!字节跳动 Java岗顶级面试解析(2023版),GitHub巅峰神作!

三十而立

升级企业数智化底座,以技术重构企业发展力

用友BIP

技术大会 用友iuap 用友BIP 用友技术大会

听说谛听闹退休?感知网络接班啦!

白洞计划

感知网络

五一临近,赋能乡村振兴,低代码也有话讲!

加入高科技仿生人

低代码 数字化 乡村振兴 乡村旅游

仅凭这份 Java 大纲笔记,我如愿拿到了阿里 offer。

三十而立

总结年初到 10 月底 Java 基础、架构面试题,共计 1327 道!涵盖蚂蚁金服、腾讯、字节跳动、美团、拼多多等等一线大厂!

三十而立

selenium源码通读·6 |webdriver/common/alert.py-Alert类分析

Python 源码 自动化测试 selenium

数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年3月刊

墨天轮

MySQL 数据库 oracle postgresql 国产数据库

Mysql分页 vs Oracle分页|非常详细,建议收藏

bug菌

MySQL oracle 三周年连更

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