RIA技术选择

  
Arjaan Peree
翻译时间:2007-5-24
译者:相信面对众多的RIA技术,开发人员不免有选择的困难。因此我翻译一篇相关的文章,了解一下国外开发人员的观点,希望能够有所帮助。在SUN发布JavaFX后,作者针对混乱的RIA技术市场表达了自己的看法,其观点仅仅代表作者本人。
 
Sun 在JavaOne 2007大会上发布了JavaFX,之前它被称为F3( http://blogs.sun.com/chrisoliver/。其目的是创建可视化的富互联网应用程序(RIA, rich internet applications),JavaFX的实现基于标准的Java SE。
我第一个反应是,哦, Flex要完了。除了Ajax外,RIA市场上已经有两个重量级厂商: Adobe的Flex以及Microsoft的Silverlight(WPF/E)。对于Flex,Java开发人员还是持有较多谨慎的怀疑。主要有两个原因:Flex没有使用Java,而且不是开源的。第二个问题随着Adobe宣布Flex开源计划而被消除了,但是第一个依然存在。当面临针对.net开发人员的微软,以及针对Java开发人员的Sun在市场两端的双面夹击的时候,Adobe将无立锥之地。除非……,他们有更好的产品。继续下面的内容,你将了解更多关于JavaFX的特点以及本人的观点。
JavaFX系列始于两个产品:JavaFX脚本和JavaFX移动(JavaFX mobile),我会另找时间讨论JavaFX移动,这里只探讨一下JavaFX脚本以及如何使用JavaFX脚本创建RIA。
JavaFX 脚本是一种全新的脚本语言,用于创建Java Webstart应用程序,使用Swing和Java 2D技术,并运行在Java SE基础上。(引用Sun的介绍)
让我们深入研究一下:
  • l         JavaFX脚本不是 Java,是一种全新的脚本语言。你不能重用以前的Java代码,包括你的JavaScript脚本技能。
  • l         应用程序使用 Java Webstart发布,不能在浏览器中运行,而是下载到客户端并在本地运行。
  • l         可以使用 Swing和Java 2D技术创建用户界面。
  • l         必须在客户端安装 JRE以运行JavaFX应用程序。
对我来说这些都不是革命性的创新。唯一新鲜的是脚本语言,可以用来更轻松的创建 Swing应用程序。但依然存在几个理由,让我们不选择使用Swing创建RIA应用,以及使用已经存在的Webstart技术进行发布。其中一个是创建Java GUI应用程序或小应用程序时曾经遭遇的老问题:需要安装一个大的JRE运行环境。
在 JavaFX中,用于创建用户界面的代码十分混乱,你可以使用MVC模式,但仍然不是很简洁。Sun没有选择使用类似MXML或XAML语言描述用户界面,而必须使用脚本描述。这样做可能有利于绑定,将你的模型绑定到你的视图上,从而有利于产品的竞争。
    Sun到底是如何考虑的呢?下面是他们的回答,可能有些令人吃惊。演示活动中, James Gosling在台上讲:“脚本语言从未触及的领域是创建交互式的图形,并带来真正的动态和灵活的体验。各种媒体使用各种奇特和奇妙的方式组合在一起”。
    立刻我想他将提到 Flex,但他只是暗示了一下。我不知道是不是他的互联网连接最近有问题,但在这个领域确实已经有一些开发进展了。也许他应当看一下Bruce Eckel (Thinking in Java的作者)的blog中的一篇文章 (http://www.artima.com/weblogs/viewpost.jsp?thread=193593),了解一下为什么他不喜欢Java WebStart而钟爱Flex。同时也可以了解到他也许不怎么喜欢Silverlight:它的跨平台性还不够。
    你可以使用 Swing和Java 2D创建看上去很酷的应用程序。你也可以在Chris Oliver博客中找到一些很好的例子。但这些并不能消除以下的缺陷:
  • l         需要下载大的 JRE
  • l         全新的语言
  • l         目前没有工具支持。
  • l         最小的安装覆盖率( 86%的个人计算机)
  • l         无法在浏览器中运行
而 Flex和Silverlight在这些方面做的更好:
  • l         下载量小: 1M左右的sliverlight 或 Flash播放器
  • l         使用熟悉的 JavaScript或C#
  • l         强大的工具: Eclipse或Visual Studio
  • l         较大的安装覆盖率: Flash为98%,而Windows占据了97%的个人计算机份额,因此对于Silverlight运行环境的安装只是时间问题。
  • l         可以同时在浏览器和桌面运行( Adobe Apollo和Microsoft .Net)
对于 Silverlight,Flex和JavaFX有两个优势:开源和跨平台。
    Sun宣称第一次发布仅仅是整个产品系列的一部分。我希望他们能够克服某些缺陷,从而取得成功。而现在,如果作为一个 Java开发人员,我会选择Flex开发RIA应用,如果是.net开发人员,我会在Silverlight和 Flex之间根据具体情况进行选择。总体来说,我还会是一个Flex的支持者。
    如果你想开始了解文章中提到的各种技术,可以访问以下网址。
Microsoft Silverlight:
http://www.microsoft.com/silverlight/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值