写点什么

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

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

关注

评论

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

谈 C++17 里的 Visitor 模式

hedzr

c++ 设计模式 Design Patterns GoF设计模式

网络攻防学习笔记 Day135

穿过生命散发芬芳

网络基础 9月日更

MQ是一种新的通信模式

风翱

MQ 9月日更

oh,我的老伙计,你看看这近五十个dapr视频

newbe36524

k8s dapr

Python——lambda 函数

在即

9月日更

密码学系列之:海绵函数sponge function

程序那些事

密码学 程序那些事 海绵函数

16. 奇点来临?

Databri_AI

人工智能

2021年区块链被列为“七大重点产业之一”

CECBC

手撸二叉树之左子树之和

HelloWorld杰少

9月日更

【Vuex 源码学习】第一篇 - Vuex 的基本使用

Brave

源码 vuex 9月日更

linux之dos2unix命令

入门小站

Linux

移动WEB开发会用到的 5 个API

devpoint

WebGL canvas Fetch 9月日更

敬自由:破壁人华为,开启PC的无界探索

脑极体

潜入培训机构,顺出来一份价值 2.2W 的 Python 人工智能大纲

梦想橡皮擦

9月日更

在线JSON转io-ts工具

入门小站

工具

聊聊新工具Hutool

卢卡多多

POI 数据导入 9月日更

macOS 制作 linux 启动盘

耳东@Erdong

Mac 软件 9月日更

音视频剪辑DIY:用Python快速入门音视频剪辑

老猿Python

Python 音视频 视频剪辑 Moviepy 引航计划

计算机操作系统学习笔记 | 操作系统功能

Regan Yue

操作系统 9月日更

数据规范的重要性

奔向架构师

数据治理 9月日更

[资源收藏]高质量外文博客(持续更新)

baiyutang

9月日更

☕【JVM技术指南】「理论总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】

洛神灬殇

JVM GC 垃圾回收算法 9月日更

Kafka 常用工具脚本总结

Se7en

硬核!4396万字神文精解高并发高可用系统实战,分布式系统一致性文档一经面试震惊寰宇!

Java 编程 架构 面试 程序人生

翻转未来!钢铁之城重添色彩

脑极体

源码解读Dubbo分层设计思想

vivo互联网技术

Apache dubbo 服务器 spi

【Flutter 专题】47 图解新的状态管理 Provider (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

“融合创新”是区块链的应用发展趋势吗?

CECBC

Rust 与 C++:深入的语言比较

奔着腾讯去

c++ rust 安全 编程语言 并发

成熟的区块链技术是解决供应链金融痛点问题的根本出路

CECBC

【LeetCode】栈的最小值Java题解

Albert

算法 LeetCode 9月日更

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