剖析短迭代
敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?
作者 Mirko Stocker译者 贾晓楠 发布于 2008年5月18日 上午8时59分
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的成功故事呢?
查看原文:Rails Cells: Component-Oriented Development for Rails
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。
InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!
在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。
通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。
本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。
InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。
没有回复
回复