BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Mirko Stocker 关注 1 他的粉丝 ,译者 杨晨 关注 0 他的粉丝 发布于 2008年10月21日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT