写点什么

Merb 1.0 即将发布,RC1 现已可用

  • 2008-10-19
  • 本文字数:1858 字

    阅读完需:约 6 分钟

Merb 1.0 的 RC1 版本现在已经提供给开发者使用了。如其网站所述,这个工具提供一个小巧但是功能强大的内核,当要扩展这个内核的时候,开发者可以开发各种插件,而不是试图在内核中生成一个能够做所有事情的巨大的库。

InfoQ 对 Merb 的维护者 Yehuda Katz 进行了采访,在采访中,他勾勒出了 Merb 的一个大致景象:

我们关注 Merb 的一个主要因素就是它提供了一个庞大的核心特性集合,但是只提供了很少的 Assumption 机制。另外,我们添加了一系列能够被细粒度删除的缺省特性。我们花了大量的时间确保这些缺省特性不会造成混乱,而且能够在当你需做和内置的不同的 Assumption 的时候,很容易被删除掉。 这个因素使得采取新的技术或者范型(例如云计算,JavaScript 技术的变更,Ruby 数据库支持的改善等)更加的容易。

以我们的观点来看,Merb 和 Rails 的最大的不同之处在于选择整合进入缺省包的特性的时候,因为 Merb 提供了高粒度的选择,所以只需要做一些很少的操作,而 Rails 需要做出相当多的选择操作。Merb 的栈就像是用乐高积木搭起来的,而 Rails 的栈则像是用 Duplo 积木一样(如果你需要选择一个比较大的 Assumption 机制是否进入缺省包,因为 Rails 的细粒度选择,那么你会需要作出相当多的选择操作)。

如上所述,Merb 在配置会话方面与 Rails 的想法是完全一样的。我们希望那些使用 Merb 的开发者能够在一些固有并且相似的 Assumption 机制集合的帮助下大幅度地缩短从启动到部署上线运行的开发周期。

在架构之间转换通常会很花时间和精力,所以我们希望知道 Merb 怎样帮助一个 Rails 开发者完成迁移:

好消息是在 Merb 下,你仍然能够使用你的 ActiveRecord 模型,而且控制器和视图因为和 Rails 足够相似,所以很容易地修改。也就是说,在 Merb 和 Rails 之间仅仅存在一些句法和概念上的差别,在月末发布最终的 1.0 版的时候,我们应该已经在 Merb Wiki 上列出来了这些差别。

这里有两本将要出版的关于 Merb 的书:

我现在为 Manning 出版社的 Merb 专题写一本书,作为他们 MEAP 项目的一部分,这本书马上就要付梓了。 Foy Savas 也在为 Addison Wesley 出版社写一本关于 Merb 的书。

InfoQ 一月份的采访中,“集中插件站”曾经被提及过,现在情况如何?

1.0 版与开发 Merb 项目有关的部分包含了相当一部分通用插件,例如认证,缓存,异常通知,这些插件都是一流的。当然,某些情况下,我们也许会需要重新地访问集中的插件库以获得改良的插件。

Yehuda 最近写了一篇关于改良 Merb 服务器的博文,所以我们希望他能够精心地为我们介绍一下:

Merb 和 Rails 都有能够快速启动和管理页面的机制。在 Rails 中,这个机制是脚本 / 服务器。而在 Merb 中则是 merb 命令。在 1。0 版本中,我们大量地改进了 merb 的 server 版本,添加了 0.9 版中缺少的大量重要的特性。 例如:

  • 启动一个 Merb 服务器簇实例与已经被使用的端口进行绑定不会造成 Merb 崩溃。相反地,Merb 会提示端口被占用然后一直等待直到端口可用。这个特性允许这样的部署解决方案:(1)在服务器中加入新的代码。(2)启动新的 merb 服务器簇。(3)优雅地杀掉旧的服务器簇。
  • 如果没有添加额外的特性或者修改 init.rb,即使是在工作时间,Merb 服务器也将会快速,简易并且安全地重新载入你的代码。在目录中运行“merb --fast-redeploy”命令,所有的代码都会重新载入。
  • 如果一个 merb 工作进程被杀掉(即使是被 kill -9 命令给杀掉的),它会在很短的时间内重新启动。这个特性允许你能够没有任何顾虑地杀掉臃肿的进程而不用担心服务器罢工。

在未来的日子里,我们将会深度改进 merb 部署解决方案。

现在 1.0 将要出来了,那么对于 Merb2 有什么计划吗?

我们计划在下一年的时候发布若干个 1.x 的版本,在 1.x 版本中添加的新特性将会包含在 2.0 里面。当然我们不会释放一个包含所有新特性的臃肿的 2.0 版本,我们会本着敏捷开发的精神,增量地开发 1.x 版本,使开发者能够在 1.x 版本中熟悉 2.0 的特性。 Merb 2.0 的一个振奋人心的消息便是将会改进对快速原型的支持,并且从 Python 社区和其他编程语言吸取精华来持续改进构架,使得开发者能够利用 Merb 迅速开发和部署程序。我们计划提供更深层次与 JavaScript 的集成,以使得能够尽可能方便地安装诸如 jQuery 等库以及其相关的插件,CSS 和图片。

我们也计划深度改善 Merb 服务器,优化 Merb 应用的内存使用,减少 merb 进程簇的总开销,并且可能实现运行中 merb 进程簇的自由伸缩。

Merb 1.0 将会在几个星期内发布,它的网站有安装说明

查看英文原文: Merb 1.0 Coming Soon, RC1 Available Now

2008-10-19 23:321292
用户头像

发布了 90 篇内容, 共 38.7 次阅读, 收获喜欢 5 次。

关注

评论

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

什么才是“应用拓扑”?

小清新同学

运维 监控

虚拟卡兑换架构设计

孙志平

程序执行太慢?快来学习SIMD加速技术,这个案例下的加速效果我也没想到(附带动手实验)

Optimize-Lab

优化代码 优化技巧 开源社区 simd Go 语言

如何快速制造OOM

Since

JVM OOM

java安全编码指南之:可见性和原子性

程序那些事

Java java安全编码 java编码指南 java安全编码指南

高难度对话读书笔记—认知篇2

wo是一棵草

缓存解决方案-技术专题-Caffeine Cache

码界西柚

自己动手写SQL执行引擎

无毁的湖光

Java MySQL 数据库 Linux 算法

MySQL varchar类型最大值,原来一直都理解错了

架构精进之路

MySQL varchar

从大数据的角度来谈谈运维监控这件事儿

小清新同学

运维 监控

收藏+下载!Flink 社区最全学习渠道汇总

Apache Flink

flink

关于Java 编译Servlet或者自定义Tag,引入包的问题

谷鱼

Java

监控应用,应该监控什么?

小清新同学

云计算 运维 监控

不一样的面向对象(二)

书旅

php 面向对象

项目实战,动态增删form表单

麦洛

jquery 克隆

如何设计Go语言中的channel

soolaugust

channel goroutines Go 语言

架构师训练营第 2 周作业

netspecial

极客大学架构师训练营

架构师训练营第二周作业

尹斌

刷爆朋友圈的字节跳动编码题,今天把解析思路分享下!

Java架构师迁哥

传销资金盘挂靠区块链热点 肃清整顿热潮拉开帷幕

CECBC

区块链 金融

架构师训练营第二周学习总结

尹斌

架构师训练营第 1 期第二周课后练习题

Leo乐

极客大学架构师训练营

Python 自动化测试全攻略:五种自动化测试模型实战详解

葡萄城技术团队

自动化测试

Go中的HTTP请求之——HTTP1.1请求流程分析

Gopher指北

HTTP Go web Go 语言

架构师训练营第 1 期第 2周作业

owl

极客大学架构师训练营

保留时序数据波动细节的一种采样算法

小清新同学

监控 时序数据库

2B还是2C,这真是个问题

MavenTalker

SaaS

难得干货,揭秘支付宝的2维码扫码技术优化实践之路

JackJiang

支付宝

架构师训练营第 1 期第 2 周学习总结

owl

极客大学架构师训练营

Dolphinscheduler系统架构设计

dll

Apache DolphinScheduler

RN运行项目报错:Unable to resolve module `./debugger-ui/debuggerWorker.js` from ``

凌宇之蓝

ios android React Native

Merb 1.0即将发布,RC1现已可用_Ruby_Mirko Stocker_InfoQ精选文章