QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

EMQX在Kubernetes中如何进行优雅升级

EMQ映云科技

运维 物联网 IoT 节点 企业号 1 月 PK 榜

华为云大数据解决方案赋能金融行业发展,打造5G智慧银行营业厅

IT科技苏辞

告别“自建房”,华为云ECS为企业提供更优选

科技说

雄关漫道真如铁,而今迈步从头越 | 挥别2022,再战2023!

BoCloud博云

博云

一文读懂Go Http Server原理

捉虫大师

Go HTTP 1月月更

ScrollView(滚动条)

芯动大师

android ScrollView(滚动条) 滚动效果

华为云大数据赋能北港集团发展创新,数字化转型成效显著!

IT科技苏辞

华为云数字化解决方案激活企业市场空间,为企业稳健发展再加码!

IT科技苏辞

嗨 Jina,帮我画一幅高山流水图

Jina AI

图像生成 Diffusion

安全、高效、便捷,华为云CDN助力企业体验升级!

i生活i科技

CDN

深入思考 Schema 管理的几个基本问题

观远数据

华为云数据库GaussDB(for Redis),如何为人们日常生活保驾护航

科技怪授

数据库

万字技术干货 |YMatrix 高性能时序数据库引擎的技术实践

YMatrix 超融合数据库

性能优化 Clickhouse 时序数据 超融合数据库 YMatrix

扩展接口SmartInstantiationAwareBeanPostProcessor解析

石臻臻的杂货铺

接口

【深入浅出Seata原理及实战】「入门基础专题」带你透析认识Seata分布式事务服务的原理和流程(1)

码界西柚

分布式事务 seata Alibaba SpringCloud Alibaba Seata框架

dcm4che 依赖下载异常

JefferLiu

华为云OBS助力企业解决数据存储难题

科技说

使用 WebP 图像加速WEB加载

devpoint

Web 前端开发 网站优化 WebP

华为云CDN引领网站性能优化,助力企业更好发展

科技怪授

CDN

企业如何轻松上云?华为云弹性云服务器ECS给出答案

IT科技苏辞

华为云数据库,安全、专业,值得信赖

与时俱进的时代

华为云OBS对象存储,企业存储的好帮手

科技说

EfficientFormer 提升速度的同时保持性能,使 ViT 在移动端成为可能

Zilliz

拿下中国信通院多项测评的华为云数据库,究竟有多牛?

与时俱进的时代

企业优秀网络环境,为何离不开华为云CDN全站加速服务?

科技怪授

CDN

本地数据怎么备份上云?华为云对象存储服务OBS帮你实现

科技说

闲话 dubbogo 社区

阿里巴巴中间件

阿里云 云原生 dubbo

Frp流量隐匿对抗排查

领创集团Advance Intelligence Group

内网渗透 Frp 流量编排

今年大促季,阿里云容器服务有哪些技术和应用新突破?

阿里巴巴中间件

阿里云 容器 云原生

华为云ECS,专为您打造安全、灵活、高效的应用环境

与时俱进的时代

华为云云原生数据库,激发数据活力

与时俱进的时代

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