现在的位置: 首页 > 综合 > 正文

Merb将并入Rails 3!

2013年04月26日 ⁄ 综合 ⁄ 共 1728字 ⁄ 字号 评论关闭

 

这是给大家的圣诞礼物。这是结束MerbRails的争斗的最后一个弹壳:Merb会合并到Rails 3之中!

我们都认识到在一起合作以创造共同的伟大作品将比彼此重复对方的工作更加高效。就设计和感观上而言,Merb Rails已经共用了很多大家看起来很明显的选择,我们需要做的就是坐下来深入探讨一下,所以就这么做了。

这实际上意味着Merb团队将把所有关键的Merb思想带到Rails之中。Yehuda Katz将加入Rails核心团队Matt Aimonetti将工作在新的“传道团队”,Carl Lerche Daniel Neighman (hassox)将是推动所有这些工作的主角。我们已经为这个合并设置了固定的页面rubyonrails.org/merb

 

这带来了什么?

 

将要讨论的从Merb带入Rails的一些关键的思想:

  • Rails核心:是的,Rails是一个全功能框架并将继续如此,但没理由不把它做成可以在小于全配置下运行的。Rails将容易地以最小核心运行并允许你加入特定情形下需要的东西。试想“rails myapp -core”(以及“rails myapp -flat”)有多酷。

  • 性能优化:Merb重写了很多Rails的代码从而更快地运行。我们将把所有这些带过来。我们也会修改架构的某些可以带来很大收获的地方。简单点说,Rails 3会得到Merb社区出名的对于性能的关注。

  • 框架可塑Rails会保持对所有功能层的问题有缺省答案。如果你不在意使用哪个测试框架,你会得到test/unit。如果你不在意使用哪个ORM,你会得到Active Record。但有些人确实在乎并想用别的代替品。有人要用RSpec做测试,还有人要用Sequel Data Mapper ORM,另外有人喜欢用Haml 作为模板语言,还有人倾向jQueryAjax。所有这些人应当感到Rails张开双臂欢迎他们。是的,我们有缺省配置,但我们不应歧视替代组件。

  • 严谨的API:很多插件在Rails升级后不灵了,因为它们可以在哪里安全地接入底层不清楚。Merb社区使用了一个带有测试方法的公开API来保证插件的可用性。他们将把这类思想带过来并给Rails一个有测试方法与文档的API,来确保扩展的功能在升级后仍然可用。

 

并非大规模的重写


这个理解很重要,这不是大规模的重写Rails。我们距离可以抛弃一切重头再来的时刻已经太远了。这将是对Rails的一个渐进地改进,认真地判断新的改进点对反向兼容性的影响及其使用方式。

我确信Rails 3的一些部分会不兼容,但我们会尝试把不兼容的部分减到最小,并使Rails 2.x 应用转换到 Rails 3真的很容易。Merb的家伙们会努力使目前的Merb用户有一个可管理的升级到Rails 3的方法。我们有很多想法,包括允许现在的Merb控制器挂接到Rails 3上。我们会看看如何完成所有工作,但定会完成。

并且,Merb的家伙们不会放弃现存Merb用户群和他们的应用程序。他们会继续修改功能缺陷、安全缺陷,以及设计升级到Rails的方法。这些都会以一个好的、有序的方式完成。

 

时间估计

 

Rails 2.3 已经快了。我们希望一月发布。这是一个正在出库的重磅炸弹。但是一旦完成,我们所有的眼睛会盯在Rails 3上。

可能有点优化过头的目标是,至少在拉斯维加斯的RailsConf 2009大会上有个Beta版。谁知道是否能做到,但我们到时肯定会取得很多进展。

所有这些改变基本上立即生效。我们已经开始合作,我们将进行一系列公开行动, 结合Rails的里程碑宣布具体的工作要素。

 

不要难过

 

这是一个戏剧性的转折点。我们在不太久的时间里,从一个彼此气恼的关系走到了一起。但我已经被双方背后的不可置信的正面反应所震撼。我们谈得越多,越认识到我们要的是同样的东西。在某些情况下我们确实关注不同的方面,但总有互补的发现。

我真心希望在两个社区的每个人都象双方关键的贡献者那样优雅地对待这个消息。让我们把过去的责骂放到一边,放弃追求同样思想的不同道路,共同向统一迈进。

Rails 3会很棒。

 

参考Yehuda 的博客 Carl Lerche  Ezra,和 Matt

 

Rails之父DHH原文

 

抱歉!评论已关闭.