【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Ruboss——面向 Rails 的 Flex 框架

  • 2008-12-07
  • 本文字数:1304 字

    阅读完需:约 4 分钟

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

2008-12-07 10:361388
用户头像

发布了 88 篇内容, 共 258.5 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

LeetCode-155. 最小栈(java)

bug菌

Leet Code 7月月更

基本磁盘与动态磁盘 RAID磁盘冗余阵列区分

Albert Edison

7月月更

CRMEB 商城系统如何助力营销?

CRMEB

使用标签模板解决用户恶意输入的问题

猪痞恶霸

前端 js ES6 7月月更

小程序在产业互联网中的作用

Geek_99967b

小程序 小程序容器

python 函数二三事

AIWeker

Python python小知识 7月月更

前端知识链条中少不了的一环--Ajax

是乃德也是Ned

ajax 前端 7月月更

分布式不来点网关都说不过去

zxhtom

7月月更

node の SQLite

空城机

sqlite Node 7月月更

猿桌派第三季开播在即,打开出海浪潮下的开发者新视野

融云 RongCloud

图解网络:TCP三次握手背后的原理,为啥两次握手不可以?

wljslmz

TCP 三次握手 网络协议 网络技术 7月月更

面试突击63:MySQL 中如何去重?

王磊

Java MySQL 面试

CSS 基于文字的图片马赛克你见过吗

南城FE

CSS 前端 马赛克 7月月更

Promise

Jason199

Promise 7月月更

看抖音直播Beyond演唱会有感

Empty

解构运算符的理解与运用

是乃德也是Ned

7月月更

中移动、蚂蚁、顺丰、兴盛优选技术专家,带你了解架构稳定性保障

博文视点Broadview

深入理解计算机系统(CSAPP)第1章计算机系统漫游

小明Java问道之路

计算机基础 csapp 计算机结构 7月月更 解读

详细页返回列表保留原来滚动条所在位置

小恺

7月月更

devkit入门

乌龟哥哥

7月月更

SAP UI5 框架的 manifest.json

Jerry Wang

SAP Fiori SAP UI5 ui5 7月月更

小程序容器可以发挥的价值

Geek_99967b

小程序 小程序容器

Android 无限循环ViewPager滑动空白Bug及报错跳坑

芝麻粒儿

android 手机 7月月更

C++|TCP 服务端中接收文件

中国好公民st

c++ TCP通信 7月月更

基于STM32+华为云IOT设计的智能路灯

DS小龙哥

7月月更

Python|数据结构——字典和集合

AXYZdong

Python 7月月更

Fedora/REHL 安装 semanage

HoneyMoose

在QWidget上实现窗口阻塞

小肉球

qt 7月月更

【LeetCode】装满石头的背包的最大数量Java题解

Albert

LeetCode 7月月更

面试突击62:group by 有哪些注意事项?

王磊

Java MySQL 面试

synchronized 和 ReentrantLock

zarmnosaj

7月月更

Ruboss——面向Rails的Flex框架_Java_Moxie Zhang_InfoQ精选文章