Sun刚刚发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。
JavaFX脚本是一种声明式、静态类型编程语言。它具有一等函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental dependency-based evaluation)等特征。JavaFX脚本为多种多样的操作提供了声明式、无中间程序逻辑的语法,这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。
在JavaFX中,类的成员函数和操作本身被模式化作为在目标类中的类,而形参和返回值被表示为属性。代表目标对象的属性名是“this”。代表返回值的属性名为“return”。代表形参的属性具有和形参相同的属性名。而目标对象则指使用成员函数和操作的对象。 从上例中可以发现,你也可以从Class对象中获取相同的、被反射的操作。 被反射的操作能够像函数那样通过将目标对象作为第一个参数、其它参数作为后面的参数的方式被调用:
AJAX,Flash,Silverlight,JavaFX到底选谁
事实上,像Adobe's Flex, Microsoft's Silverlight, 以及Sun 最近发布的JavaFX这样的计算技术,使得向量图形实质上优于AJAX提供的Dojo或者Yahoo图形实验室(YUI)这种构架.无论相信与否,在网络应用程序开发中,在基于网络的向量图形的应用方面存在巨大的商机,而这绝不仅仅是看起来比较诱人这么简单。需要注意到,无论是JavaFX, 还是Sliverlight现在都没有分享到被Adobe Flash Player占领的任何市场份额。
Ajax, Silverlight都是研发人员为开发用于网络冲浪的丰富互联网应用软件所使用的技术平台,SUN微系统公司最新揭晓的JavaFX看来是要与这些技术一争高下了。JavaFX的设计就是要为研发人员在浏览器内外使用的网络应用软件提供高保真音频和视频效果。但竞争对手的技术平台对研发人员的吸引力也是由来已久。
SUN公司想通过最新技术平台和移动设备,TV的解决方案来试图在快速发展的丰富互联网应用软件领域分一杯羹。JavaFX 1.0平台就是要帮助研发人员开发出集高保真音频和视频,丰富文档,矢量制图,动画和网络服务于一体的网络应用软件,正如SUN所强调的"显示屏上的一切都是最生动的"。
据估计Java应用占据了全球90%以上的台式机、笔记本市场和85%的移动设备,并且是下一代电视机、蓝光播放机和机顶盒的技术领导者,SUN公司表示JavaFX为研发人员和文本编辑建立了一个广阔的市场。
SUN微系统公司的首席执行官兼总裁乔纳森.施瓦兹强调说"互联网市场的发展不只是局限于传统的网络浏览器,从RIM的BlackBerry(黑莓手机)到亚马逊的Kindle(电子书阅读器),支持JAVA的智能手机和消费类电子产品的爆炸性增长又为互联网添了一把火"。
"SUN公司最新的JavaFX平台将Java技术应用到数百万这种的设备中去,它集易于使用,开源平台,提供高质量的视频和音频效果的特性于一体,目标用户是全世界所有使用互联网的消费者和文本用户",施瓦兹补充说。
拖拽安装(Drag-to-Install)
要得到用户的青睐,易于安装是非常重要的。SUN公司研发的易于安装特性能让终端用户轻松的将JavaFX应用程序的图标直接从浏览器上拖拽到桌面系统上。
对程序研发人员来说,JavaFX的设计降低了Java编程语言的复杂度,这样就极大的缩短了程序的开发周期,方便研发人员轻松的为桌面系统,浏览器和移动设备创建RIA。SUN公司表示他们还将推出最新的JavaFX移动平台,JavaFX移动平台预计将于2009年春向面向SUN的移动合作伙伴推出。
起步过晚
RedMonk的分析师米歇尔.科特表示"SUN目前面临的最大挑战是进入这个市场的起步太晚,让使用Java的研发人员从网络应用软件的习惯思维模式转向使用JavaFX来开发用户界面并非易事"。
"Adobe公司目前凭借他们的Flex受到Java研发人员的欢迎,但是它还没有达到Java的市场普及度。而纵观先今的RIA市场的竞争,就是Silverlight,Flash Platform,JavaFX,Ajax之间的对决"科特还强调说,Java的研发人员可能会对SUN有所偏爱。
"习惯使用Java的研发人员可能会对SUN情有独钟,但要想让某些研发人员从Ajax编译的网络应用程序转投VI的怀抱,SUN还有很多工作要做"。