开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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

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

关注

评论

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

一个数据库管理员的自我救赎之路

华为云开发者联盟

数据库 华为云 数据库迁移 企业上云 DRS

Java-技术专题-synchronized关键字

洛神灬殇

恢复青春气息,就靠这套人像美肤算法了

博文视点Broadview

算法 计算机视觉 图像识别 人像

低/零代码干掉了传统的开发模式

代码制造者

编程语言 低代码 零代码 信息化 编程开发

程序范式的意义

soolaugust

架构 程序设计

如果你每次面试前都要去背一篇Spring中Bean的生命周期,请看完这篇文章

程序员DMZ

spring 生命周期

区块链、人工智能……警惕非法金融借创新概念迷惑投资人

CECBC

区块链 金融

云上安全工作乱如麻,等保2.0来一下

华为云开发者联盟

安全 华为云 等保 云平台 多云服务

spring Cloud Eureka Rest接口重写

xcbeyond

Java SpringCloud Eureka

面试必杀技,讲一讲Spring中的循环依赖

程序员DMZ

spring

关于日期及时间字段的查询

Simon

MySQL sql查询

是时候学习Linux了

Simon

Linux

枚举算法练习例题(Python版)

罗罗诺亚

Python 算法 枚举

MySQL5.7升级到8.0过程详解

Simon

MySQL

ARTS week 4

锈蠢刀

跨域问题(CORS / Access-Control-Allow-Origin)

xcbeyond

Java CORS 跨域

易观郭炜:流动水系数造未来

易观大数据

操作系统bochs安装及使用

allworldg

操作系统

nginx 报错 accept4 () failed (24:Too many open files)

Java联盟

nginx

SpringCloud服务注册中心双节点集群(Eureka集群)

xcbeyond

Java 架构 微服务 Eureka 集群

海量并发也没那么可怕,运维准点下班全靠它!

华为云开发者联盟

容器 网络 并发 华为云

实践案例丨教你一键构建部署发布前端和Node.js服务

华为云开发者联盟

node.js 后端 服务器 代码 华为云鲲鹏

我的敏捷历程 —— 兼评《敏捷整洁之道 - 回归本源》

FollowFlow

敏捷开发 Agile 极限编程 XP

CRM往事丨三件事,所有SaaS的缩影

人称T客

MySQL关于日期为零值的处理

Simon

MySQL

为啥PHP in_array(0,['a', 'b', 'c']) 返回为true?

架构精进之路

php 弱类型语言

影响音视频延迟的关键因素(一):流媒体系统

ZEGO即构

TCP udp RTC HLS RTMP

MySQL索引问题探究手记

架构精进之路

MySQL 索引

钓鱼网站:详解hosts文件

xcbeyond

Java 域名解析 hosts

SWARM学习1——Kademlia分布式路由表协议

AIbot

区块链 DHT 分布式存储 分布式文件存储 分布式路由

面试官:你说你懂i++跟++i的区别,那你知道下面这段代码的运行结果吗?

程序员DMZ

JVM i++

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