Stephan Janssen谈Parleys.com和RIA的前景
作者 Jon Rose译者 王丽娟 发布于 2008年4月1日 下午7时23分
InfoQ.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-04-02 09:37
- 浏览 1390
- 评论(1)
- 论坛回复 / 浏览 (1 / 1692)
- 查看更多
相关推荐
5. **Stephan Hub**:可能是报告的作者或机构,可能在报告中提供了专业的视角和深度研究。 对于这样的报告,通常会涉及农业经济学、国际贸易理论、农业政策、农业技术等多个领域的知识。例如,它可能会讨论关税对农...
离线安装包,亲测可用
离线安装包,测试可用
spl2015.stephan.mielke ======================== 选项: --client,-c 开始客户 默认值:true -命令 支持的命令(客户端)示例:“ nick”“ names”“ get” 默认: [] -数据库,-db 用数据库启动服务器 ...
Athan, Stephan Peter, John Edward PuIse oximeter probe.pdf
**jBox by Stephan Wagner** 是一个基于jQuery的高级提示通知插件,旨在为网页开发者提供更强大、更灵活的提示和通知解决方案。这个插件由Stephan Wagner开发,旨在增强用户体验,通过丰富的自定义选项和功能,使得...
Lawrence、Marta Milo、Mahesan Niranjan、Penny Rashbass 和 Stephan Soullier Neil D. Lawrence、Marta Milo、Mahesan Niranjan、Penny Rashbass 和 Stephan Soullier 的的作者:Jaco Vermaak、Neil D. Lawrence ...
JMX Viewing实用程序可轻松将启用JMX的应用程序集成到诸如nagios之类的工具中。
- [http://brosinski.com/stephan/archives/000028.php](http://brosinski.com/stephan/archives/000028.php) 12. **JasperAssistant**: - [http://www.jasperassistant.com/](http://www.jasperassistant.com/)...
"PrimerPlus:斯蒂芬·普拉塔(Stephan Prata)的“ C ++ Primer Plus”中的示例和练习文件"这个压缩包文件很可能是书中示例程序和习题解答的集合,旨在帮助读者巩固学习成果。 在C++的学习过程中,了解并掌握以下几...
**下载地址**:[http://brosinski.com/stephan/archives/000028.php](http://brosinski.com/stephan/archives/000028.php) --- ##### 11. Jasper Assistant - **功能**:Jasper Assistant 是一款用于 ...
**下载地址**:[http://brosinski.com/stephan/archives/000028.php](http://brosinski.com/stephan/archives/000028.php) #### 11. JasperAssistant (Commercial) - **JasperAssistant**:一款用于设计和管理 ...
exp userid=stephan/password file=stephan_objects.dmp owner=stephan imp userid=kenny/password file=stephan_objects.dmp fromuser=stephan touser=kenny ``` #### 四、总结 通过使用 Oracle 10g 的 Export 和...
a_little_order_delving_into_the_stl_sorting_algorithms__fred_tingaud__cppcon_2018.pdf C++ Costless Abstractions - the ...STL Features And Implementation Techniques - Stephan T. Lavavej - CppCon 2014.pptx