写点什么

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

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

关注

评论

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

面向全球市场,PlatoFarm今日登录HUOBI等全球四大平台

小哈区块

Go 学习笔记——Switch(我不是游戏机)

为自己带盐

Go 学习笔记 4月月更

目前国产电脑硬件的现状是怎样的?

InfoQ IT百科

全网征集!说说你跟宜搭之间的故事吧

一只大光圈

阿里 低代码 数字化 钉钉宜搭 宜搭

2022年,5G芯片会有哪些值得期待的发展趋势?

InfoQ IT百科

2022年,网传苹果即将发布的新机型iPhone 14 Pro和iPhone 14 Pro Max将会是全新屏幕造型,不再是刘海屏,你对新屏幕造型的iPhone 14期待吗?

InfoQ IT百科

手机运行内存应该怎么选?

InfoQ IT百科

电脑上怎么快速切换显示不同的软件界面

InfoQ IT百科

众妙之门玄之又玄,游戏系统中的伪随机(Pseudo-Randomization)和真随机(True-Randomization)算法实现Python3

刘悦的技术博客

算法 游戏 Python3 算法实践 随机数

悟空的私藏「架构』书籍推荐

悟空聊架构

4月日更 悟空聊架构

坚持做正确的事情

FunTester

我国有哪些完全自研的电脑硬件?

InfoQ IT百科

Rust异步框架的性能评估

非凸科技

tokio Zenoh 异步框架 async_std smol

CrashSight 常规功能&特色功能介绍

WeTest

APP应该关注哪些数据指标?

InfoQ IT百科

电脑硬件都有哪些?

InfoQ IT百科

开源大数据OLAP引擎最佳实践

五分钟学大数据

数仓 4月月更

优麒麟 22.04 LTS 版本正式发布 | UKUI 3.1开启全新体验!

优麒麟

Linux 开源 操作系统 优麒麟 22.04

秒云助力中电科32所发布“基于拟态应用集成框架的SaaS云管理平台解决方案”

MIAOYUN

内生安全 拟态应用集成框架 网络空间内生安全大会

如何彻底删除电脑上的文件?

InfoQ IT百科

为什么智能手机传感器市场一直是索尼占主导

InfoQ IT百科

你知道你的手机上有多少传感器吗?

InfoQ IT百科

rm格式的文件怎么打开?

InfoQ IT百科

对线郭老师职业发展,记下自己的心得体会

北洋

面试 职业规划 程序猿 4月月更

报名开启|QKE 容器引擎托管版暨容器生态发布会!

青云技术社区

这个API Hub厉害了,收录了钉钉企业微信等开放Api,还能直接调试 !

Liam

前端 Postman API OpenAPI 开放api

面向全球市场,PlatoFarm今日登录HUOBI等全球四大平台

西柚子

科创人·派拉软件CEO谭翔:零信任本质是数字安全,To B也要深研用户心智

科创人

敏捷实践 | 提高小组可预测性的敏捷指标

LigaAI

敏捷开发 敏捷度量

如何通过云效Codeup完成代码合并 | 云效

阿里云云效

云计算 阿里云 代码管理 Codeup 代码合并

设计千万级学生管理系统的考试试卷存储方案

哈喽

「架构实战营」

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