写点什么

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

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

关注

评论

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

合合信息大模型加速器2.0:文档与图表解析全景评测

默语

《Operating System Concepts》阅读笔记:p495-p511

codists

操作系统

Java的IO模型、Netty原理详解

卷福同学

Java Netty nio 面试‘

性能测试与故障测试:求同存异与协同价值

FunTester

迈向群体智能 | 智源发布首个跨本体具身大小脑协作框架与开源具身大脑

智源研究院

Fabric8 Kubernetes 教程——PVC、PV、Network、PDB、Role、Cluster

FunTester

黑龙江信息安全等级保护测评

黑龙江陆陆信息测评部

CompletableFuture原理及应用场景详解

卷福同学

Java 面试 CompletableFuture

HarmonyOS NEXT AI基础视觉服务-人脸对比

zhousg

浪潮 KaiwuDB入选Gartner中国数据库管理系统代表厂商

KaiwuDB

数据库、 kwdb数据库

AigcPanel v0.9.0 震撼发布,功能全面升级!​支持快速一键合成

ModStart

久等!Rust官方著作The Rust Programming Language中文版第2版终于来啦!

博文视点Broadview

鸿蒙NEXT开发-ArkUI

东林知识库

HarmonyOS NEXT AI基础视觉服务-人脸识别

zhousg

大模型应用联网搜索:重塑智能时代的交互与决策

阿里巴巴云原生

阿里云 云原生

SvelteKit 最新中文文档教程(15)—— 链接选项

冴羽

Vue 前端 React Svelte SvelteKit

HarmonyOS:ArkTS Path 组件自学指南

李游Leo

鸿蒙

HarmonyOS:ArkTS RowSplit 组件自学指南

李游Leo

ArkTS

为什么现在的前端框架发展越来越复杂了?

网站,小程序,APP开发定制

全民AI时代,大模型客户端和服务端的实时通信到底用什么协议?

JackJiang

网络编程 即时通讯 IM

HarmonyOS NEXT AI基础视觉服务-背景替换

zhousg

从内核到可启动镜像:0到1构建你的极简Linux系统

Linux内核拾遗

ISO 镜像文件 Linux内核 Linux发行版

算力驱动的数字经济正向GDP10%的目标增长

PowerVerse

区块链 人工智能 去中心化 数字经济 算力

鸿蒙NEXT开发环境搭建

东林知识库

鸿蒙

鸿蒙NEXT开发-stage模型

东林知识库

鸿蒙NEXT开发-ArkTS

东林知识库

EasyRecovery免费版下载无需注册,easyrecovery激活码密钥

阿拉灯神丁

照片恢复 Easyrecovery破解 数据恢复软件 激活码生成器 EasyRecovery16

用友数智秘书来袭!懂管理更懂你的企业级AI助手

用友智能财务

人工智能 AI 财务 会计

零信任赋能社交化办公:企业数字化转型中的暴露面收敛与安全升级

权说安全

零信任 访问控制

夜莺监控新版,中心端连不通的时序库也可以告警了

巴辉特

HarmonyOS:ArkTS 多态样式自学指南

李游Leo

ArkTS

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