Ruboss——面向Rails的Flex框架
Ruby on Rails(ROR)是一个基于Ruby的用于快速Web应用开发的开源框架。Rails和RIA社区目前都在积极地寻求两者的集成方案,而Flex框架Ruboss就是这样一个成果。InfoQ采访了Ruboss的联合创始人及CEO Peter Armstrong以更深入地了解该框架。
根据Armstrong所述,Ruboss框架是一种尝试以简化Flex应用和RESTful服务器端框架的集成。现在这些框架包括RoR和 Merb。Ruboss还提供了一个RESTful 接口以使其可以与Adobe AIR的嵌入式SQLite数据库进行通信。 Ruboss框架之于Rails和Merb的关系就好象Adobe LiveCycle Data Services ES之于J2EE应用的关系。
当被问到为何不利用现有的一些框架,如Cairngorm或PureMVC时,Armstrong解释到:
他们太简单了,无法满足我们的需要。Ruboss框架的架构与Cairngorm、Mate及PureMVC都不同。它是一个数据集成框架,专注于Flex与RESTful框架的集成。把Ruboss看作是“Flex + Rails”是很不错,但更加贴切的描述应该是“Flex + 简单的RESTful CRUD”,其中Rails只是最流行且目前集成的最好的一个框架而已。
我们所需要的东西应能无缝地集成Flex和RoR并且会将Rails开发上的一些设计原则和生产力带到Flex中。我们觉得Rails是最具有生产力的服务器端框架之一,而Flex是最好的客户端RIA技术之一。因此,自然而然地我们想将这二者结合起来。
因此,我们真的没有与Cairngorm、PureMVC或Mate进行竞争。例如,虽然你所编写的Flex代码会以类似于Cairngorm的方式(它通过命令模式对使用进行了简化)去使用Ruboss,但你还可以用比Cairngorm更简洁的方式去使用Ruboss。
Armstrong继续谈到Ruboss一些独特的特性:
首先,我们是唯一一个将RESTful CRUD作为通用接口的Flex框架,这一点与Rails、Merb及AIR中的SQLite是不同的。这种简化、优雅的设计使得大家可以对Ruboss 框架进行扩展以支持目前我们尚未提供的一些服务。例如,Ruboss的使用者可以将其连接到CouchDB上。因此,Ruboss就可以对服务进行扩展以达到与Flex的完美集成。
其次,你使用Ruboss编写的代码不仅对传输方式来说是抽象的,而且还非常简单和优雅。第三,你可以快速上手并运行起来。通过使用Ruboss,你可以在5分钟内创建一个完全的Flex+Rails应用。没有任何Flex框架能做到这一点,也没有任何Flex框架可以让你在这么短的时间内就完成从数据模型的编写到应用运行的整个过程。想知道怎么做吗,看看Ruboss“pomodo”指南吧。
最后,我们认识到没有任何一个框架能满足所有的数据集成需求或是解决所有应用的架构问题。因此,我们所做的就是尽力解决那80%的常见问题。
Armstrong又谈到了Ruboss框架的路线图:
对于该框架来说,我们打算在本地和远程服务提供商之间增加数据同步支持,因为目前这是应用开发者必须要自己解决的问题。我们还打算将对Merb+DataMapper的支持提升到Merb+Active Record上来。这之后,我们会考虑扩展Ruboss以支持更多的服务,如SimpleDB及Google AppEngine。
Peter Armstrong还是Flexible Rails一书的作者及Hello! Flex 4的主要编写者。
查看英文原文:Ruboss – A Flex Framework on Rails
来自:http://snowyrock.spaces.live.com/Blog/cns!B8CBEB7169880B1D!1236.entry