随着 javaFX 1.0 的推出,RIA 领域战事越来越有趣了。vivizhyy 突然想把自己知道的做一个归纳,也算是今天的思考吧。
市场基础
Flex 需要 flash 运行时环境的支持,据有关报道,电脑里 flash 装机率高达 98%(zeze~ 乖乖,很庞大的数据量啊~)
SilverLight 需要 SilverLight 运行时环境。我想对于普通用户而非开发者来说,没事去装个 SilverLight 运行时环境的应当相当少(虽然装起来简单易行),以后会不会像 flash 那么高的装机率就不得而知了。
JavaFX 需要 java jdk, 在智能移动设备中,80%+ 都装了 java jdk. 根据 sun 的官方说法,JavaFX 的市场定位便是“ 移动设备和浏览器领域”。
从上面的比较可以看出,Flex 的推广要相对容易,在互联网应用方面将会有更大的发展空间和潜力。SilverLight 凭借 windows 操作系统的支持(现在已经可以支持 Linux 了,呵呵),也会有比较大的前景。而且可以看出微软在推广 SilverLight 方面下的功夫可是不少,再不行就拿出惯用的“流氓绑定法”,绑定在 windows 操作系统中去。(不过目前我还没听说即将发布的 windows7 会绑定 SilverLight)。虽然 windows mobile 也支持 SilverLight 2.0,但是 windows mobile 的市场占有率在全球也就那么一些(虽然在中国市场的表现还是不错的,vivizhyy 个人更倾向 Symbian,嘿嘿)。对于移动设备来说,JavaFX 得天独厚,毕竟相当一大部分的程序都是用 java 写的,也就是说,绝大部分的智能手机都装有 java jdk.
基础架构
![]()
SilverLight 基本架构
![]()
![]()
JavaFX 基本架构
需要说明的是,几个架构图的粒度并不是在一个层次上。(部分因为自己懒得画,更大部分因为是画不出)
支持的脚本语言
Flex: ActionScript
SilverLight: JavaScript
JavaFX: JavaFX
(其实几个语言都是亲戚,呵呵)
开发工具
Flex: 推荐 Flex Builder. 这个不是免费的,官网上有 60 天的试用版下载。(怎么把它弄成免费的大家都知道,不说了。)
SilverLight: Expression Blend + Visual Studio. (xaml 和事件相应需要在 Visual Studio 中完成)。
JavaFX: netBeans 或 eclipse + JavaFX 插件。
虽然开发工具只是个工具,但是 3 者比较而言,SilverLight 的开发环境显得略有些过于繁杂,毕竟像我这样电脑时不时喜欢卡机(比如现在)的来说,最不爽的事情莫过于……玩着玩着就卡掉了…… JavaFX 的我还没玩过,不知道感觉如何。
就 vivizhyy 对 Flex 和 SilverLight 的了解来说,相比于 SilverLight, Flex 的组件机制更为简洁,更容易理解和上手。(其实习惯了都一样,呵呵)