速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

JetPack现在都成了Android开发必备技能嘛?

android 程序员 移动开发

JNI 与 NDK 入门(一)

android 程序员 移动开发

HashMap源码分析 —— 一篇文章搞定HashMap面试

android 程序员 移动开发

IOC架构设计之Dagger2架构设计(三)

android 程序员 移动开发

Java 创建型模式:单态模式,原型模式,工厂方法

android 程序员 移动开发

Jetpack-在数据变化时如何优雅更新Views数据

android 程序员 移动开发

HTTPS工作原理以及Android中如何防止抓包

android 程序员 移动开发

Java之JNI初步认识

android 程序员 移动开发

Java线程(十):CAS

android 程序员 移动开发

hook(1)入门篇

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!

android 程序员 移动开发

JS Bridge实现

android 程序员 移动开发

hencoder学习自定义view(1)

android 程序员 移动开发

Java的Url编码和解码

android 程序员 移动开发

Koltin47

android 程序员 移动开发

Jetpack Compose 1

android 程序员 移动开发

Jetpack系列——ViewModel

android 程序员 移动开发

Kotlin Lambda巩固

android 程序员 移动开发

Http 状态码详解

android 程序员 移动开发

HTTPS详解

android 程序员 移动开发

Http详解

android 程序员 移动开发

IOS开发之——事件处理-hiTest(69)

android 程序员 移动开发

Koltin28

android 程序员 移动开发

JAVA-Android-多线程实现方式及并发与同步

android 程序员 移动开发

Jaxb2 实现JavaBean与xml互转

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!(1)

android 程序员 移动开发

Fabric.js 从入门到________

德育处主任

大前端 可视化 canvas 画布 FabricJS

IOS开发之——CABasicAnimation(95)

android 程序员 移动开发

Java 网络:InetAddress类的应用以及通过Socket实现TCP编程

android 程序员 移动开发

Jetpack系列(一) — Navigation

android 程序员 移动开发

Kotlin 协程使用手册

android 程序员 移动开发

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