大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 常见问题

让Rails支持面向组件的开发

作者:billionnet 发布于:2012/6/29 17:32:27 点击量:

Rails Cells的目标是“把面向组建开发的优势带进Ruby on Rails网络应用程序平台”。单元(cell)就像是一个轻量级的控制器以及与其相关的可以嵌入网站的视图(类似于Smalltalk的网络应用程序框架Seaside)。

那么Rails现在的功能有什么问题呢?Mike Pence的博客里是这么说的:

很多Rails项目通常用before_filters和子视图(partials)来填补空缺,但是这种方法本身有些问题。共享的子视图有许多初始化代码,这使application_helper变 得肿胀不堪。由于他们能看到所有先前的控制器方法的实例变量——我觉得这是个不幸的设计——它们会非常依赖于最初引发它们的控制器、最初包含它们的视图, 还有它们所依靠的辅助器(helper)。从我的经验来看,很少见到大量的子视图能够容易地共享,而不需要人们通过相当痛苦地调试把它们从自己编织的依赖 网中解救出来。

与控制器和其视图之间的关系不同,控制器的实例变量并不会自动地分享给cell,而必须要明确地传递。这就使得Cells能够独立于某个特定的控制器,从而既可以重用也可用共享了。

我们访问了Cells的开发者之一Nick Sutterer,谈了关于Cells项目开发的情况: 

我们正在写Cells的增强版,可是日常工作还是很忙的(开源开发者的经典理由)。幸运的是,社区上有 人已经提交了一些补丁,并帮助做了些文档——特别是Mike Pence。在1.0发布时,我们希望这个插件是好用、著名的,其API应是稳定可靠的,并且将来不应有大的改动。
下一个版本将会完全兼容Rails 2.0。现在辅助器(helper)还有一些问题。另外一个问题就是Cells的引擎(Engines插件用来增强Rails自身的插件框架,使得更容易 在插件中共享控制器、辅助器和模块等)支持。我们其实很喜欢引擎。干得漂亮,James。然而人们好像都害怕它,因此我们只好把它变成用户可选的。我非常 喜欢把cells注入引擎的想法,这有助于把我的应用程序在很大程度上实现模块化。与AJAX结合时,cells中的冒名保护(forgery protection)仍有一些问题。由于cells非常合适于AJAX来使用,我们将十分关注这点,并在下一个版本中解决这个问题。我保证。

我们还有兴趣听听,到目前为止,Cells在Rails社区中被接纳的如何了:

Rails社区对cells非常感兴趣。人们来到我们的聊天室或者使用邮件列表来询问怎样把cells 集成到他们的项目中。Cells把面向组件带进了rails——然而要让开发者都了解到它的能量并且在大项目中使用它还需要一段时间。我的合作开发者 Peter Bex已经开始使用cells了。他把cells集成到了一个叫做formbuilder的项目中。我现在忙于即将发布的基于cells的Apotomo插件。它用来把状态(stateful)组件引入Rails,现在很热门。我敢肯定会有越来越多的好项目使用cells的。也许我应该在cells主页上开一个“成功故事”博客吧?

要详细了解Cells,请参看Cells网站,或者看一看Cells文档

你使用过Cells吗?有没有关于Cells的成功故事呢?



分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明