立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

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:361469
用户头像

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

关注

评论

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

【Vue2.x 源码学习】第十二篇 - 生成 ast 语法树-流程说明

Brave

源码 vue2 6月日更

HTTP 长连接和短连接

看山

TCP/IP HTTP协议 6月日更

Scrum Patterns : MetaScrum(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

内卷的出路是躺平?

Qien Z.

创新 内卷 6月日更 躺平

【21-5】Grafana 时间Panel 如何使用

耳东@Erdong

Grafana 6月日更 panel clock

【Flutter 专题】105 图解自定义 ACEPageMenu 滑动菜单 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Python——数值列表

在即

6月日更

模块六作业 - 拆分电商系统为微服务

张大彪

【译】JavaScript 中几种循环遍历方式对比

KooFE

6月日更

redis分布式锁原理

Skysper

redis 分布式锁

网络攻防学习笔记 Day43

穿过生命散发芬芳

网络攻防 6月日更

SpringCloud Gateway 路由数量对性能的影响研究

黄仲辉

性能优化 动态路由 SpringCloud Gateway JMH性能基准测试

架构实战营-作业六

大可

【LeetCode】重复的DNA序列Java题解

Albert

算法 LeetCode 6月日更

立flag(第………………次)

凯迪

随笔杂谈

「SQL数据分析系列」1. SQL背景知识介绍

Databri_AI

数据库 sql

分享8个可以提高开发效率的JavaScript库

devpoint

node.js axios 6月日更

未来,能源枯竭可以逆转吗?

白洞计划

话题讨论|如何看待腾讯试点强制6点下班

石云升

话题讨论 加班文化 6月日更

职场礼仪之坐车礼仪

石云升

6月日更 职场礼仪

雪花算法的原理及实现

架构精进之路

算法 6月日更

并发王者课-黄金2:行稳致远-如何让你的线程免于死锁

MetaThoughts

Java 多线程 并发

提升代码格调——JavaScript 数组的 reduce() 方法入门

编程三昧

JavaScript 大前端 数组 js ES6

【通俗易懂】虚拟DOM,如何更高效DIFF

蛋先生DX

Diff 6月日更

未来,能源枯竭可以逆转吗?

脑极体

TempDB 的使用和性能问题

悟空聊架构

sql 性能调优 6月日更 TempDB

Windows 10 如何设置网络属性为私有

HoneyMoose

贪心算法最优装载问题(Java代码实现)

若尘

数据结构 贪心算法 6月日更

MySQL基础之十:union与limit

打工人!

myslq 6月日更

一文带你深入了解 Java 字节码

mghio

技术 后端 Java 25 周年 基础

《原则》(十二)

Changing Lin

6月日更

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