写点什么

Merb 将被集成到 Rails 3.0 中

  • 2008-12-24
  • 本文字数:1622 字

    阅读完需:约 5 分钟

Ruby Web 框架世界中的大事件:Merb 将与 Rails 集成了。Merb 是由 Ezra Zygmuntowicz 创建的,他谈到了这个改变

我们两个团队已经开始讨论能否求同存异了。我们已经就如何将 merb 的最佳特性集成到 rails-3.0 中设定了一个路线图。我认为该计划会使 Rails 成为世界上最好的框架。它将是 merb 最佳实践的结合体,同时仍然会保持 Rails 的美感,这也是人们喜欢 Rails 的一个地方。 你将在今年春天看到这个有冲劲、快速、高效的 Rails(Merb)版本!

Rails 的创建者 David Heinemeier Hansson 说到 Rails 的下一个版本将是 Rails 2.3,之后就是 Rails 3.0 了

Rails 2.3 一触即发。我们希望它能在 1 月份发布。该版本有很多创新性。但当这个版本完成后,所有的注意力都将集中到 Rails 3 上。

InfoQ 最近采访了Yehuda Katz,他谈到了很多现在正在被集成到Rails 中的概念。David 的声明中谈到了将Merb 集成到Rails 3 中的具体变化,同时 Merb 的 Yehuda Katz 也声明了这一点,例如公共 API:

从 Rails 3 开始,Rails 将拥有一个定义好的公共 API,同时还带有一个测试套件。这是与 Merb 的一个主要差别。凭借该公共 API,用户和插件开发者将拥有一个更加干净、稳定的 API 进行构建。这也会在很大程度上降低版本与版本之间插件的崩溃次数。

David 还解释了这背后的原因:

严格的 API:当 Rails 更新后会有大量的插件崩溃,这是因为我们并不清楚插件应该深入到内核中的什么地方才是安全的,同时也不知道他们何时会 monkeypatching 及崩溃。Merb 开发者提交了一个公共 API 及其测试以确保插件不会崩溃。他们要向人们证明其想法并向 Rails 3 提供一个经过测试且文档化良好的 API 以进行扩展,这样插件就不会因升级而崩溃。

Rails 3 还会秉承 Merb 对模块化的专注,最近在 Merb 和 Rails 社区中已经对模块化进行了热火朝天的争论了。简言之,我们会创建 rails-core,它反映了 merb-core,正如 Yehuda 所述,它是 Web 框架的一个最小版本:

我们将对 Rails 进行翻新以使人们可以用一个“内核”来快速上手,该内核是 Rails 的一个版本(就像 Merb 现在的核心生成器),它启动时不带有任何模块,同时它只会选择那些对于你的应用来说重要的部分。当然,Rails 仍然会将“stack”版本作为默认的版本(就像 Merb1.0 之后所做的那样),但我们的目标是让人们像使用 Merb 那样来轻松使用 Rails。

David 说到 Rails 3 将继续提供默认子系统,但同时还会与其他系统协作良好:

框架不可知:在 stack 中 Rails 对每个问题总有一个默认的答案。如果你不介意测试框架,那么你会用到 test/unit。如果你不介意使用哪个 ORM,那么你会用到 Active Record。但有些人对此还是介意的并想用其他的实现。一些人想用 RSpec 进行测试,一些人想用 Sequel 或 Data Mapper 进行 ORM,一些人喜欢用 Haml 进行 templating,而有些人还喜欢用 jQuery 实现 Ajax。所有这些人都会感受到 Rails 正在张开双臂来拥抱他们。是的,我们有默认实现,但我们不应该歧视其他的选择。

接下来的变化会将 Merb 的性能带到 Rails 3 中。

现在的一个主要问题当然就是:开发者怎样使用 Merb 呢?Yehuda 说到:

特别地,我们会在 Merb 的发布中加上不建议使用的通知,同时还会加上迁移机制以帮助开发者跟踪将会出现在 Merb 1.x 与 Rails 3 之间的改变。我们希望大量过度期的发布会慢慢接近于 Rails 3,同时也期望 Merb 的一部分内容(特别是 helpers)可以移植到 Rails 3 上以便进一步减少移植的困难。 坦率的说:我们不会放弃 Merb 项目。有很多运行在 Merb 上的产品应用,因此我们还需要花时间修复其 bug 并对未来做好规划。

Ezra 还补充到,EngineYard(长期资助 Merb)对平滑迁移很感兴趣:

我们将为 merb 应用提供一个升级到 Rails 3.0 的指南。在 [EngineYard] 内部还运行着一些 merb 应用,因此我们自己的应用也需要这样一个指南。

Merbist 博客上也有一些关于该集成的信息

对于该集成,你是怎么看的呢?

查看英文原文: Merb Will Be Merged Into Rails 3.0

2008-12-24 12:261043
用户头像

发布了 88 篇内容, 共 273.3 次阅读, 收获喜欢 9 次。

关注

评论

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

Kyligence 入选 Gartner 2022 数据管理技术成熟度曲线报告

Kyligence

sql查询 Gartner

如何把css渐变背景玩出花样来

南极一块修炼千年的大冰块

7月月更

阿里云技术专家秦隆:可靠性保障必备——云上如何进行混沌工程

阿里云弹性计算

分布式系统 混沌工程 故障演练

Plus版SBOM:流水线物料清单PBOM

SEAL安全

开源 软件供应链 软件物料清单 SBOM 软件供应链安全

微软Azure和易观分析联合发布《企业级云原生平台驱动数字化转型》报告

易观分析

数字化转型

web前端开发技术学习比较靠谱

小谷哥

大数据课程培训和自学哪个比较适合?

小谷哥

2022秋招,Java岗最全面试攻略,吃透25个技术栈Offer拿到手软

程序猿阿宇

Java 面试题 面经 Java工程师 秋招

擎创科技加入龙蜥社区,共建智能运维平台新生态

OpenAnolis小助手

开源 操作系统 龙蜥社区 CLA 擎创科技

浅谈低代码技术在物流管理中的应用与创新

王平

Java & Go 专场 | 阿里云中间件开发者线下 Meetup 开启报名

阿里巴巴云原生

Java Go 阿里云 云原生 中间件

阿里云技术专家邓青琳:云上跨可用区容灾和异地多活最佳实践

阿里云弹性计算

异地多活 多活容灾

Java编程程序员怎么开发水平?

小谷哥

基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现

华为云开发者联盟

人工智能 推理 昇腾 处理器

基于Netty,从零开发IM(四):编码实践篇(系统优化)

JackJiang

网络编程 Netty 即时通讯 im开发 开源im

kafka的Docker镜像使用说明(wurstmeister/kafka)

程序员欣宸

kafka 7月月更

字节一面:TCP 和 UDP 可以使用同一个端口吗?

程序员小毕

Java 程序员 面试 TCP 计算机网络

想要做好软件测试,可以先了解AST、SCA和渗透测试

华为云开发者联盟

云计算 安全 软件测试 后端 开发

大数据开发课程怎么学?

小谷哥

【龙智技术指南】Helix4Git简明使用手册

龙智—DevSecOps解决方案

Helix Core Helix4Git

任何时间,任何地点,超级侦探,认真办案!

龙智—DevSecOps解决方案

Jira Atlassian Jira Jira插件

中文起,Python 字体反爬实战案例,再一点

梦想橡皮擦

Python 爬虫 7月月更

第五届数字中国建设峰会举行,每日互动发布每日治数平台DIOS创新成果

个推

大数据 数据中台 数据智能 每日治数平台

我写的dubbo扩展jar包如何无侵入的给别人使用

石臻臻的杂货铺

7月月更

看了这么多Python教程,最香的还得是……

博文视点Broadview

敞开大门的支付宝,是商家的新掘金地吗?

ToB行业头条

银行理财子公司蓄力布局A股;现金管理类理财产品整改加速

易观分析

金融 银行

创新突破!亚信科技助力中国移动某省完成核心账务数据库自主可控改造

亚信AntDB数据库

国产数据库

怎么才能提高自己web前端技术呢?

小谷哥

Merb将被集成到Rails 3.0中_Ruby_Werner Schuster_InfoQ精选文章