Rails 2.3将优化性能和记忆存储
随着本月Rails多种功能的升级和与Merb网络框架合并。相信对于Ruby on Rails Web应用开发架构来说,2009年是忙碌的一年。
首先是开源Rails架构2.3版本的发布,该版本优化了定制模板和存储量性能,并且能够用Ruby写性能最依赖部分。Rails 2.3还具有HTTP摘要式身份验证,一个API身份验证。
Rails 2.3及早地利用了Merb长处,Rails 3.0预计在五月左右成形,作为合并后的Merb-Rails发布,2.3版本在某些方面是3.0版的前奏,其性能提升带来了从Merb。
例如,Rails 2.3的respond_to阻止功能,允许一个应用程序响应单独的HTML,XML或JavaScript的请求,而这比原来的版本要快百分之八。
2.3版本的其他变化与Merb无关。例如,新的模板功能中添加了许多模板创建的具体功能,如插件,而不是仅仅空有一个架子。可以增加一个插件,例如,为确保由RSpec框架而不是默认的单元框架测试应用程序,页码标注插件也可以添加在模板中。
2.3版本的机架功能充当共享基础结构,这使不同的Ruby架构更易于同时运行。例如,开发人员可以Rails项目中添加一个建立在更轻巧的Sinatra架构上的应用程序。
2.3版本的Rails Metal功能让开发人员可以直接用Ruby编写应用程序的某部分以提高性能。Rails Metal基本上是Rails的汇编程序,你可以丢弃所有的预置功能,这样你通常可使用[it]来为一小部分应用程序加速。
Rails 3.0 将吸收Merb的优点
和2.3版本的一些卓越功能一样,Rails 3.0看起来会有更大的升级。5月,在拉斯维加斯举行的RailsConf上预计会发布一个候选的版本。
Rails 3.0将充分利用Merb的努力。Rails与Merb的合并也是因为他们意识到彼此的目标都是一致的。
所有的Merb成员都曾是Rails的开发者,他们创建Merb ,因为他们有一系列感兴趣的问题,如性能优化和有关Rails架构的不可知论。例如,Rails对对象关系映射使用活跃记录,而Merb支持者希望使用DataMapper或Sequel。
Rails 3.0将给Merb带来改变,如架构不可知论将融合Rails侧重于强效默认设置理念。 Merb希望通过插件扩展Rails而发布API的想法也将是合并内容之一。
现在,对于Rails插件来说,不良生态系统已经令人难以置信。就是因为缺乏明确的API ,所以Rails更新的时候,插件往往违规。Merb所带来的还有映射浏览器请求的路径选择。Merb在这方面提供的选择比Rails要多。
Merb致力于Rails栈。最初创建Merb架构的目的是为解决Rails中异步处理的问题。 当时,Rails是一个单线程应用程序,使用Rails的进程来处理,所以例如文件上传这样的操作是不允许的。Merb最初创立时,专门为解决文件上传的问题,随后它迅速成为其他不满足于Rails的人的一种共识。
基本上,Rails与Merb的发展方向是一致的(Merb和Rails都由Ruby分化而来,两者都是开源项目)。现在的合并是Merb成员选择加入到Rails的团队中。两队合并将更有助于我们创建一个架构,且该架构将兼具Rails和Merb的优点。
Rails与Merb合并带来的连锁反应
有一些在线评论,对这种竞争性质的合并给予了一些批评。但是Rails的顾问Jade Meskill却支持两大架构的合并,他强调这样的结合为Ruby社区带来了团结。竞争肯定是有价值的,特别是对于这个领域,对于这一特殊的技术。
Meskill预计合并所带来的好处之一就包括,作为开发语言之一的Ruby和作为Web平台的Rails都将获得更广泛的认可。“合并确实提供统一,但有可能会出现和形成的又一类似的项目”,IDC的应用软件开发项目负责人兼分析师Al Hilwa称,“有可能是Merb的一种增值”。
【编辑推荐】