Rails 3,目前流行Web开发框架Rails的一个升级版本,正试图通过升级的方式实现与Merb框架的合并,这一切将包括在1月底的Beta版中。以上消息由Rails框架创始人DHH在1月4日下午透露。
Rails创始人DHH(David Heinemeier Hansson)说:“假如我们在1月底还未完成发布的话,那功能完整的Rails 3 Beta版将不迟于2月份完成。”Rails 3框架将在2010年第一季度大体上完成全部开发工作。随着Beta版本的发布,Rails开发者将努力确保对Rails之前版本的兼容性,并希望通过实 时应用程序完成升级更新。DHH透露此次合作的意向主要是来自Merb方面,合作后对于Rails的好处将是全方位的,例如在速度方面。
“程序员将注意到速度的提升,并且很愿意将任务交给Rails。”说这番话的DHH正是37 Sigals公司合作开发伙伴之一。
Rails的使用者将可以在Rails 3上使用jQuery JavaScript的库,就像他们在Merb上做的一样。JavaScript在Rails上的使用将通过动态更新的方式实现。
例如从Merb来的一个路由API,介绍了一个传入请求是如何经过路由传输到应用程序的。“好处在于这是一个更明显具有RESTful风格的 API,并具有Merb之前一系列特定功能,比如一个子域路由。”DHH说。比如一个应用程序中的一部分,只能从一个子域路由中访问,这样安全性就提高了 不少。
在未来通过Merb的灵感,一个API将会很方便的添加插件。“我们在Rails上有成百上千的插件可供选择,所实现的功能从分页到身份验证等 都有。”DHH说。另一个基于Merb的Rails 3能力是将不可知论融入到框架测试的过程中,开发者除了可以使用Rails测试单位框架外,还可以利用rSpec框架。他说“我们希望确保人们在开发 Rails时,使用rSpec如同使用测试单元一样的好。”
除开Merb的衍生功能,Rails 3还提供跨站点脚本攻击防护功能。此次升级还为Rails增加了通过关系代数进行活动记录的对象关系映射器。“他将使从多个不同地区建立一个查询更加方便。”DHH说。
Rails创始人 David Heinemeier Hansson
在Rails 3中可以从一个活动记录中提取一个起作用的模型,比如会话验证和回复功能,使他们成为任何non-SQL数据库的back end。例如,用存储一个关键值来取代数据库。
DHH表示Rails采用一种新的Bundler能力,提供了一种“全新的方法,为Rails应用提供可靠的依赖。”。如果一个应用程序依赖一 定数量的Gems——Rails类封装系统,Bundler将创建一个更加方便重构的环境。依赖将会被安装,比如某些版本的数据库适配器。
有了新的bundler,所有的一切都会变得清晰,完全可以复制。