「如何实现流动式软件发布」线上课堂开课啦,快来报名参与课堂抽奖吧~ 了解详情
写点什么

Stephan Janssen 谈 Parleys.com 和 RIA 的前景

2008 年 4 月 01 日

Parleys.comInfoQ.com 和 Stephan Janssen 坐在一起讨论,向他了解了 Parleys.com 的相关情况,并问了他对新兴的 RIA 平台的看法。Stephan 创建了每年于比利时举办的 JavaPolis 大会。JavaPolis 是目前仅次于 JavaOne 的第二大 Java 会议。Stephan 还是 Parleys.com 的创始人和工程师主管。Parleys.com 是一个 RIA 平台,用来发布视频、播客、幻灯片等诸如此类的在线学习资料。除了讨论 Parleys.com,Stephan 还跟 InfoQ.com 的读者分享了他对 Adobe Flex/AIR、JavaFX、Google Web Toolkit(GWT)、以及 Silverlight 的看法。 你能概述一下Parleys.com 吗?

Parleys.com 是下一代的 RIA 电子学习平台,在这个平台上,人们能在浏览器里或是在桌面上观看视频讲座。现在,Parleys.com 的默认频道提供来自 JavaPolis、SpringOne、BeJUG、JavaBin、Jazoon、EclipseCon 的一些优秀技术演讲视频。顶级品质的 Java 内容总共将近有 200 个小时。Parleys.com 观众也能把这些讲座下载到本地磁盘离线观看,这是一个使用得越来越多的优秀特性。浏览器和桌面应用程序都能让你用全屏模式观看演讲,甚至能在观看时动态调整播放模板。播放时间轴可以让我们的观众添加注释、标签,并在需要的地方跳过幻灯片。你能在菜单栏选择自己喜欢的幻灯片演示设置(我自己喜欢 3D Cube),或在自己的收藏列表中添加某个演讲、查看其它相关的演讲。

浏览器和桌面应用程序之间无缝集成是一个很好的特性。比如说,你能从浏览器中启动桌面应用程序。桌面应用程序启动之后,如果你在浏览器下载某个演讲,它会被添加到桌面应用程序的下载队列中。这样当你从浏览器中观看演讲的时候,如果该演讲已经下载过,流数据就会由桌面程序负责从本地磁盘中取得。这会节省你的(还有我们的)一些带宽。

另一个顶好的特性是后退按钮能正常工作,你还能对演讲中的某个特定的幻灯片进行深度链接。

构建应用使用的技术是什么呢?架构是什么样的?> 浏览器版本我选的是 Adobe Flex3,桌面客户端选用 AIR。但由于服务器端设计为使用 REST 的服务层,所以我们可以很容易地添加其它技术类型的客户端。目前,我们正在并行地开展 JavaFX 客户端(它看起来非常有发展前景)、GWT、Silverlight 的工作。对比较不同技术来说,这是一种有趣而有根据的检验。

Parleys.com 的架构是如何发展的?> 目前公布的 Parleys.com 版本(我们的第一个版本)是一个使用轻量级 AJAX 的 Web 应用,其中 Flash 和 JavaScript 在一起无缝协作。我们超过十万的用户很快提出了更多的 RIA 特性需求,像在全屏模式下观看演讲、观看过程中更换播放器模板、甚至下载演讲并离线观看。用 DHTML 和 Ajax 满足不了更进一步的需求,对此类客户端来说,考虑像 Flex/AIR、JavaFX 这类 RIA 技术会更有意义一些。在我必须决定选择哪种 RIA 技术的时候(2007 年 6 月),JavaFX 语言才刚刚发布。于是,合理而实际的选择就是从 Adobe 工具开始。

你对 Adobe AIR/Flex 的总体印象是什么样的?> 作为一个 Java 开发人员,学习面向对象的 ActionScript 和 UI 标记语言实在是像公园散步般简单。但问题是(Java)开发人员不是设计人员,而设计人员需要这两项技能来使用 RIA 技术。这就是我对 Adobe 的 Thermo 项目感到非常兴奋的原因。它能在 Photoshop 设计人员和开发人员之间的鸿沟上架设一个桥梁(很令人兴奋的东西)。Flex 和 AIR 的另一个优点是,你能选择不同的通讯策略——比如 XML、JSON、AMF(二进制格式)——容易地与 Java 后端协同工作。Adobe 甚至(在 07 年的 JavaPolis 大会上)开源了他们名叫 BlazeDS 的远程产品(用 Java 开发),BlazeDS 允许你从 ActionScript 访问服务器端 Java 服务。

与 Java 比起来,Flex 和 AIR 的不足之处是质量保证方面的工具不足。例如,ActionScript 代码的静态分析(像 FindBugs、PMD、Simian 等)还不可用。 Jetbrains 最近在 IDEA 7.0.3 中添加了对 Flex 的支持,我觉得是个惊喜。它让你使用代码分析器分析 ActionScript 代码,这是一个好的开始。不过,现在我还不确定是否要用 Flex 去开发一个超过 500 个屏幕显示的 ERP 应用。JavaFX 对企业世界有很大影响也在于此。

对嵌入式 RIA 应用来说,另一个机遇是要便于搜索引擎搜索。RIA 内容能被搜索引擎索引是非常重要的,这样人们才能通过 Google、Yahoo 等搜索引擎查找到你的站点。你可以用一个并行的静态站点来方便搜索引擎,不过这样工作量太大了。我更喜欢用 RSS Feeds 或 Atom Publisher 协议的优势来达成一样的效果……等我们试验成功之后我再告诉你。

Flex 和 Java 之间的“交叉授粉作用”说起来也很有意思。Annotation 在 Java 中是主流。你能观察到 Flex 阵营也露出了类似的端倪。比如说,Flex 的元数据标签就用于与 Annotation 类似的行为。因此可以想象注解过的 Java EE 5 实体通过类似技术被重用为 ActionScript 实体,并在客户端映射进 SQLlite。

我对 Flex/AIR 较高的期望有:

  • 就个人而言,我希望在 AIR 未来的版本中能出现 Socket 监听器,因为如果不这样,AIR 应用中要实现完全的 P2P 功能也许只能使用 Hack。
  • 通过 AIR 文件部署 Java 应用也许会非常棒。这可以让我利用在 Java 中的投入。在我们头脑风暴的时后,还想过用 Java 语言开发 Flex 和 AIR 应用呢。
  • 让签名的 Flex 应用摆脱 Flash 沙箱的束缚。

作为一个 Java 的长期倡导者,社区是如何认可你对Adobe AIR/Flex 的深入研究?> Parleys.com 的 Flex/AIR 版本已在去年 12 月的 JavaPolis 2007 大会上发布。在那个主题演讲中,我说明了技术难题,但也解释了我们的观众要求的功能。2007 年 6 月我们决定开发 Parleys.com 的一个 RIA 版本。我本来可以继续 DHTML/AJAX 路线,但我对版本 1 已经觉得非常痛苦了,我对 Ajax 的求知欲消失殆尽。2007 年 6 月,选择 JavaFX 做为技术路线为时太早,而且由于我在 Mac 上开发,Silverlight 也不可用。所以,合理的选择就是考虑 Adobe Flex/AIR。服务器端仍然使用 WebWork/Velocity、Spring 和 Hibernate 来保持 100% 的 Java。

这一选择带来的好事儿就是我的一些 Java 同僚震惊于 Flex 版的发布,于是他们决定重用相同的后端开发一个 JavaFX 和 GWT 客户端。我必须要说这看起来非常有发展前景。我会在一场非正式的 JavaOne 技术讨论会中介绍这些不同的 Parleys.com 策略。


你可以观看 Parleys.com 的主题演讲。

JavaFX 发布已经将近一年了,你有哪些与此相关的经验 **** 呢?> JavaFX 的工具支持仍需要加强,但更重要的是,我希望 Sun Microsystems 也能着手处理 Photoshop 和 JavaFX 之间的鸿沟,以便开发人员和设计人员能够协作(就像 Adobe 正在计划做的那样)。支持主流的音频、视频编解码器是 JavaFX 获取成功的另一个重要特性。JavaFX 要是想在 RIA 领域分一杯羹,把 JavaFX 应用作为 Applets 部署(运行在 JRE update N)、具有与 Flash 一样的(冷 / 热)启动体验也是至关重要的。希望下一届 JavaOne 大会上能提供相关信息。

作为一个平台,**** 你认为 JavaFX 在正确的轨道上吗?它要取得成功必须实现的关键项目是什么?> JavaFX 的优势当然是成熟的 Java 平台和快速的运行时环境,尤其是 JavaFX 代码编译之后。我发现重新设计现有的(企业)Swing 应用有巨大的商机,MVC 中的视图部分可以使用更好看的 JavaFX 皮肤来替换。如果 JavaFX Mobile 允诺的那些都能实现,JavaFX 也能得到巨大的推进。Java(FX)、AIR、Silverlight,谁第一个应用于 iPhone,让我们拭目以待。

你对 GWT 的印象如何?你对于把 Java 编译成 JavaScript 有什么疑虑吗?> 体验了 DHTML/Ajax 处理多浏览器 / 多操作系统的痛苦之后,我越来越欣赏 GWT 的策略。我们已经有了 Parleys.com 客户端的第一个 GWT 原型。它看起来很不错,而且在不同的浏览器和操作系统上不需要调整。Google 的确实现了他们的承诺,以 Google 中汇集的脑力是理所当然的。

开发新的组件有点儿挑战,我希望活跃的 GWT 社区能继续成长并发布更多的 UI 组件。发布 GWT 版本之后我们会关注观众们更喜欢哪一个客户端。我会让你保持消息灵通的。

你花时间研究过 ****Silverlight 吗?对它的总体印象如何?> 我安装过 Silverlight 的版本 1 和版本 2 早期的一个 Beta 版。Demo 确实能在 Mac 上的 Firefox 中运转,除此之外就没什么值得提的了。看看 Dolmen 公司中负责 Microsoft 技术的同事能给我带来什么惊喜吧……我可没给你们压力啊 ;)

你认为,或者说希望 **** 一年半之后 RIA 领域会怎样呢? > 看 DHTML/Ajax 阵营是否能像 RIA 那样进取。GWT 将会在这场较量中扮演重要的角色。一年半之后,我们也许就有了 Flex4 和 AIR2。到那个时候,Photoshop 设计人员先绘制出原型,Flex 开发人员在上面添加一些逻辑就可以收官了。由于未来因特网和电视之间的趋同,我们将能制造类似 iTunes 的应用,在各种操作系统(包括 Linux)上在线或离线播放 HD 交互式视频。一年半之后,我应该已经知道 Adobe AIR 和 / 或 Java(FX)是否运行在 iPhone 上,还有 JavaFX Mobile 的承诺能不能落实……美妙的时刻!

Parleys.com 是一个真正的 Web 2.0 应用。希望 InfoQ.com 社区能借鉴 Parleys.com 构建过程中的经验,因为它就像领先的 RIA 平台相互较量的一个实验台。让我们看看什么技术能使 Stephan 成功,还有他的团队最终会为 Parleys.com 选择什么技术做为他们的主平台。
查看英文原文: Stephan Janssen On Parleys.com And The RIA Landscape

2008 年 4 月 01 日 19:23554
用户头像

发布了 151 篇内容, 共 53.9 次阅读, 收获喜欢 16 次。

关注

评论

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

知识点梳理:聊聊iOS SDK数据采集那点事儿

易观大数据

面试官问:僵尸进程和孤儿进程有了解过吗

Java小咖秀

Linux 学习 面试 进程 经验

揭秘淘宝平台广告策略,拆解最佳投放实践

华为云开发者社区

数据分析 广告 用户增长 淘宝 电商

轻量级BI应用-Superset实践

Jackchang234987

BI 数据产品

架构师训练营week08 作业

GunShotPanda

JVM详解之:HotSpot VM中的Intrinsic methods

程序那些事

Java JVM GC

Java中的模板设计模式,太实用了!

BUZHIDAO

Java

架构师培训 -08总结 数据结构算法,网络通信协议,非阻塞网络 I/O,数据库原理

刘敏

架构师训练营第8周学习总结

TH

架构师训练营week08 学习总结

GunShotPanda

视频丨包不同的沙雕敏捷之砸锅卖铁买兰博

华为云开发者社区

程序员 运维 敏捷 敏捷开发 技术人

BFC "苦"前端久矣!

大导演

CSS 前端进阶训练营

第8周回顾

慵秋

单向链表合并算法

走过路过飞过

要都练基本功

架构师

第八周总结

LEAF

Java SSM 框架常见面试题

老大哥

Java

Developer 转型记:一个开发平台的“魔力”

华为云开发者社区

华为 AI 开发者 开发者工具 华为云

2行代码搞定一个定时器!

简爱W

【解构系统设计面试】什么是系统设计?以及如何设计一个新鲜事系统?

罗远航

系统设计

判断两个链表是否合并

Acker飏

使用Spring Validation优雅地校验参数

Java课代表

springboot

一次线上JVM Young GC调优,搞懂了这么多东西!

南方有乔木兮

信创舆情一线--50多家科技公司源代码泄露

统小信uos

京东T8连夜肝出的《JVM性能优化知识点》吊打所有提问的面试官

互联网架构师小马

Java 性能优化 JVM 虚拟机 垃圾回收

wordpress迁移+更换域名

wood

WordPress

该学一学了!零基础入门Docker

程序员的时光

Docker

判了!中科大博士写游戏外挂赚了12万获刑,被抓才知道帮团队赚了300万……

程序员生活志

游戏开发 游戏 游戏外挂 新闻

第八周总结

Acker飏

一图看懂华为云DevCloud如何应对敏捷开发的测试挑战

华为云开发者社区

微服务 敏捷开发 测试 云服务 华为云

百万并发「零拷贝」技术系列之经典案例Netty

码农神说

Java Netty 零拷贝

Stephan Janssen谈Parleys.com和RIA的前景-InfoQ