写点什么

用于 Flex 和 Java 快速开发的 Flamingo 项目

  • 2008-06-04
  • 本文字数:1970 字

    阅读完需:约 6 分钟

Exadel 的 Flamingo 项目是一个快速启动后台使用 Java 构建的 RIA 应用的工具。在中间层,该工具对 Seam 和 Spring 都提供了支持。在 展现层,Flamingo 既支持 Flex 也支持 JavaFX。该工具启动应用程序开发的方式与 AppFuse 项目类似,后者可用于更传统的 Java Web 层框架。InfoQ 与 Exadel 的 Igor Polevoy 和 Fima Katz 进行了交谈以了解更多关于 Flamingo 的信息。

Igor 和 Fima 以分享 Flamingo 的特性细节作为开场白:

现在的特性可以被划分为三个逻辑分组: 1. 工具
Flamingo 提供了快速启动简单功能项目的能力。把一个项目组装在一起是一个费时费力的过程,这不是什么秘密了。此外,在 Java 界有许多不同的方法 来开发项目。我们意识到了这个问题并创造出了 Flamingo 工具作为解决方案。使用 Flamingo 工具,你不但可以快速地创建一个新项目,还能在开发 周期过程中随时产生应用的各个部分。
2. 集成类库
它就像是客户端和服务器代码间的粘合剂。我们只使用二进制协议,因为它们更加有效。所有配置(不管有多小)在项目创建时就已经配好了。因此,开发者只需将注意力集中在手头的业务问题上。
3. 客户端组件
Fiamingo 有一些非可视化组件,它们通过提供校验、将多个请求捆绑到一个请求中等等来简化开发过程。Flamingo 中比较有意思的特性之一是动态 持久化方法。这些方法可以使开发者以直观的、类英语的方式来查询数据库,而不是使用 SQL(实际上 SQL 是由 Flamingo 在运行时创建出来的)。这一 特性本身就可以极大地推进开发效率。

Igor 和 Fima 继续论述了它是如何工作的: > 我们用 Maven 来组织和创建项目。我们的 Maven 启动向导会询问关于项目不同方面的几个问题,比 如,服务器端技术(Seam/Spring)、客户端技术(Flex/JavaFX)、数据库类型、位置、证书、以及基于前面选项的一些其他问题。接着, 一个 Maven 项目就被创建了。这一项目包含了一个小项目必须的所有组件,如单元测试、持久化单元、以及工作屏(working screen)。这里使用的是标准 Maven 命令。这样,在几分钟之内,一个新的全配置项目诞生了。

InfoQ 询问了在结合 RIA 技术时 Spring 和 Seam 的对比: > Spring/Hibernate 和 Seam/JPA 组合都是使用 Flamingo 和 Flex/JavaFX 实现 RIA 应用的可行解决方案。选择哪一种后台技术通常取决于给定组织的文化及基础架构以及开发团队的偏好,而不取决于某些特定特 性。通常,Seam 和 Spring 是难于比较的,即使它们在某些方面是相互重叠的。它们被设计用于不同的目标。Flamingo 试图保持中立。无论选择了 哪种后台技术,Flamingo 都尽力给于同等的支持。我要说的是如果一个组织在选择 Java 企业平台的时候考虑的是丰富的支持,他们有选择 Seam 的自 由。否则,Spring/Hibernate 组合应当被考虑在内。

Igor 和 Fima 评述了谁应该考虑使用 Flamingo: > 目标客户是企业及企业级应用开发者。我们看到了 RIA 技术在企业级得到了广泛采用——比如不同风格的 AJAX。通常,AJAX 技术与基于 Java 的后台系统能够很好的集成。我们开发了一个这样的企业解决方案——RichFaces,它结合了 JSF (JavaServer Faces)和 AJAX。可是,虽然没有探究 AJAX 的利弊,我们还是明确地看到了企业开发组织中对另一套解决方案如 Flex 的巨大需求。 Flamingo 使得企业中从事 Java 工作的人们可以很容易地使用 Flex 和 Java 创建一个新的应用。

而且,在开源方面: > 我们已经从事开源事业很长时间了,已经看到了这一社区及这一方法的巨大力量。

InfoQ 询问了关于 Flamingo 如何支持敏捷开发的更多细节: > 1. 集成

这是今天我们所拥有的。它提供了使用 Flex 或 JavaFX 与 Seam 或 Spring 相结合的无缝开发过程,消除了不使用 Flamingo 时所需的所有手工编码。其结果是,开发过程更加容易、快捷及廉价。
2. 敏捷 RIA 平台包括一套高级工具
为了迎接“敏捷”或“快速”开发的挑战,像 Ruby on Rails 和 Grails 这样的技术解决方案出现了。尽管这些都是非常好的框架,但是它们对于 RIA 应用开发并不擅长。而这正是能产生项目及简单工作屏 (screen)的 Flamingo 代码向导的长项。Flamingo 的下一版将公布更加强大的工具。同样,所有由 Flamingo 产生的服务器和客户端 组件立马就可使用,减少了项目启动时间。Flamingo 第三个敏捷方面的内容是其客户端组件,这些组件有可以用客户端上极其简单的编码模式来创建访问数 据库的运行时请求。这一能力本身节约了大量时间,如果你将 Flamingo 的所有这些方面结合在一起,它绝对会为组织提供一个称心如意的敏捷开发平台。
3. 随取随用 RIA 开发平台
这包括提供一套预构建的组件(可视的和非可视的),以及一套预构建的应用程序组件(比方说,用于数据访问 / 导航的 dVersion)。

访问 Flamingo 项目主页可以获得更多关于 Flamingo 的信息。 查看英文原文: Exadel’s Flamingo Project for Rapid Flex and Java Development

2008-06-04 02:082367
用户头像

发布了 150 篇内容, 共 45.9 次阅读, 收获喜欢 10 次。

关注

评论

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

nodejs实现jwt

coder2028

node.js

js对象和原型、原型链的关系

hellocoder2029

JavaScript

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

ONES 出席产业互联高峰论坛,分享金融企业研发管理实践

万事ONES

JavaScript刷LeetCode拿offer-js版字典

Geek_07a724

JavaScript LeetCode

直播CDN调度技术关键挑战与架构设计

京东科技开发者

架构 系统架构 直播 CDN加速 CDN技术

零基础学习大数据培训难吗?

小谷哥

一文读懂NodeJs知识体系和原理浅析

coder2028

node.js

js异步编程的三种模式

hellocoder2029

JavaScript

大咖说·先临三维|高精度3D视觉技术商业应用与实践

大咖说

科技 高精度3D视觉

JavaScript刷LeetCode拿offer-二叉树层序遍历篇

Geek_07a724

JavaScript LeetCode

[力扣] 剑指 Offer 第一天 - 用两个栈实现队列

陈明勇

Go 数据结构与算法 力扣 11月月更

彻底搞懂nodejs事件循环

coder2028

node.js

分享一招应对BOM表的检查方法,摆脱被BOM支配的“恐惧”

华秋PCB

检查 PCB PCB设计

Python进阶(三十九)使用matplotlib进行绘图分析数据

No Silver Bullet

Python 绘图 matplotlib 11月月更

【Go电商实战05】结合项目解答使用Go中间件遇到的问题:中间件的概念和应用

王中阳Go

golang 学习方法 中间件 11月月更 电商实战

聚焦“教-学-评-测-练-管一体化”,推动新型人才培养!

华为云开发者联盟

云计算 后端 华为云

亚中医疗——数据驱动预算管理升级,引领业务发展

元年技术洞察

数据驱动

Python进阶(三十八)利用matplotlib 进行折线图,直方图和饼图的绘制

No Silver Bullet

Python matplotlib 11月月更

大数据培训学习的时候有什么方法吗

小谷哥

Nftea: 世界杯文化、 NFT与 期权的首度碰撞

股市老人

挖到宝了!2022阿里大佬手写“精品”Sping Boot学习笔记

小小怪下士

Java 程序员 阿里 springboot

前端leetcde算法面试套路之二叉树

js2030code

JavaScript LeetCode

元年科技:在数字化浪潮中,为企业建造一艘“方舟”

元年技术洞察

微服务 云原生 容器化 方舟企业数字化 PaaS 平台

js函数式编程讲解

hellocoder2029

JavaScript

还在为数据库事务一致性检测而苦恼?让Elle帮帮你,以TDSQL为例我们测测 | DB·洞见#7

腾讯云数据库

数据库 腾讯云 数据一致性 tdsql 腾讯云数据库

MASA MAUI Plugin (六)集成个推,实现本地消息推送[Android] 篇

MASA技术团队

blazor MASA MAUI Xamarin MASA Blazor

java Apache poi 对word doc文件进行读写操作

@下一站

编程 原创 word Java core 11月月更

Python进阶(三十七)Windows7使用nginx+apache部署django项目

No Silver Bullet

Python Apache nginx django 11月月更

用于Flex和Java快速开发的Flamingo项目_Java_Jon Rose_InfoQ精选文章