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主页上开一个“成功故事”博客吧?
【相关文章】
|
||||
| · 首届IT工程师调查十大.. · 网管员如何踏上高薪之路 · 汶川大地震 IT技术人在.. · Vista SP1对决XP SP3 · 主流品牌防火墙配置 · 勇闯IT培训黑色围城 · LAMP技术精解 · 访问控制列表(ACL)介绍 |
· Ubuntu 中文开源频道 · 专题:AIX操作系统管理.. · 2008年上半年全国软考.. · 运营商封堵非法ADSL共享 · IPv6协议--拓展网络无.. · 二手仿冒设备与思科再.. · 网络故障排除宝典 · 华为路由器配置 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 |
· Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 · 打造安全服务器 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · ADSL应用面面俱到 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · iSCSI应用与发展 · 三层交换技术专题 · Apache技术专题 |
· 企业数据恢复指南 · RAID——磁盘阵列基础 · 路由器设置与口令恢复 · SOA 面向服务架构 · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 |
|||