写点什么

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

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

关注

评论

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

Java多线程基础(二)

爱好编程进阶

程序员 后端开发

5. helm charts 基础入门

ghostwritten

Kubernetes Helm

helm v2 公共源大全

ghostwritten

Kubernetes Helm

java SpringMVC Filter登录拦截器

爱好编程进阶

Java 程序员 后端开发

异构资源交付效率提升50%,这家头部券商是如何做到的?

BoCloud博云

证券 案例 云管理平台

Caddy VS Nginx,谁领风骚

码农大熊

api 网关 盘古开发框架 Caddy

汽车行业云,如何管“多云”?

BoCloud博云

案例 汽车 云管理平台

贡献者任务第三期精彩来袭!

第四范式开发者社区

人工智能 机器学习 数据库 开源 贡献者

JavaWeb期末复习

爱好编程进阶

Java 程序员 后端开发

Java多线程知识点总结(思维导图+源码笔记

爱好编程进阶

Java 程序员 后端开发

对代码不感冒, 我应该怎么办?

源字节1号

程序员人生 后端开发

java中调用js代码

爱好编程进阶

Java 程序员 后端开发

Java全栈开发---Java ERP系统开发:商业ERP(五

爱好编程进阶

程序员 后端开发

Java基础概念干货(字符、标识符

爱好编程进阶

Java 程序员 后端开发

4. helm 3.8.0 入门

ghostwritten

Kubernetes Helm

Java~异常Exception和异常习题“用户登录

爱好编程进阶

Java 程序员 后端开发

java三大特性之多态的认识,以及多态的实际应用(一

爱好编程进阶

Java 程序员 后端开发

Java中抽象

爱好编程进阶

Java 程序员 后端开发

Java内存区域和内存模型

爱好编程进阶

Java 程序员 后端开发

1. helm 目录

ghostwritten

Helm #Kubernetes#

2. helm 简介

ghostwritten

Kubernetes Helm

helm charts 内置函数

ghostwritten

Kubernetes Helm

Java Swing大神必经之路7:Swing 的任务线程与 EDT 事件分发队列模型

爱好编程进阶

程序员 后端开发

大数据培训Flink整合ElasticSearch

@零度

大数据 flink elasticsearch

AIRIOT物联网低代码平台如何配置db-driver驱动?

AIRIOT

低代码开发 驱动配置

web技术支持| 从视频元素流式传输到视频元素

anyRTC开发者

前端 Web 音视频 WebRTC 视频通话

巴延兴:从主导多个SIG组到OpenHarmony “代码贡献之星”,我是如何做到的?

OpenHarmony开发者

OpenHarmony sig

【Python】题集 of ③

謓泽

5月月更

helm 3.8 命令指南

ghostwritten

Kubernetes Helm

Java JVM知识汇总

爱好编程进阶

Java 程序员 后端开发

npm install过程中遇到typings deprecated的warning该怎么处理

华为云开发者联盟

typescript 前端 npm typings.json

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