论文部分内容阅读
【摘要】2007年春季Sun发布了一个新的框架,叫做JavaFX,本文旨在对该新技术的起源、特点、现状、优势向读者作一个简要的介绍。
【关键词】JavaFX;RIA;富客户端;Web
引言:
今天的Internet为那些能够快速开发、部署富Internet应用(RIAs)的开发商提供了无限可能的世界。但只有Java平台称得上在移动设备和浏览器领域非常流行,将使用RIAs的基于浏览器的技术能够使应用无需实际改变就能应用在多种平台。JavaFX便是Sun定位于此市场的全新产品族。JavaFX脚本将是开发者更快速、轻松地开发RIAs和下一代能够被扩展到跨越任何设备的服务,从桌面浏览器到移动设备、机顶盒、Blu-ray光盘--安全而且无需本地安装。JavaFX Mobile软件使多种类型的应用在移动世界中成为了现实。[1]
1.RIA技术
所谓RIA,首先,它应该是一个网络应用程序;其次,它还要具有桌面应用程序的特征和功能。简单地说,如果你的桌面程序(比如说Word、Photoshop和Eclipse)能在网络上运行,并且能保持其原来的功能和特征,那么我们就可以称它们为RIA应用(富客户端应用)。
目前RIA主要四家技术为Flex / Silverlight /JavaFX /Curl,以下为其简介:
Flex:2004年由Macromedia产出Flex 1.0,当时是Flex Server架构,但现为Flex SDK(Open Source),开发工具是Flex Builder,目前最新是3.0版,利用Adobe AIR即能开发出窗口版的RIA系统,官方网址:http://www.adobe.com/devnet/flex/
SilverLight:为微软所发表的RIA产品技术,主要开发工具为Visual Studio 2008、Blend,作用也类似于Flex,官方网址:http://www.microsoft.com/silverlight/
JavaFX:由Sun Microsystems所设计,开发工具主要是NetBeans,首次在2007年5月Java one大会时展示,也是为建造RIA内容的技术,预计2009年第春季推出手机版应用。官方网址:http://www.sun.com/software/javafx/。
Curl:2002年就由Sumisho Computer Systems附属公司Curl所产出,主要开发工具为Curl,目前最新为Curl 6.0版,具有Client / Server与Web上的开发好处,目标也是在建造RIA系统,个人使用免费,但商业使用就要付费。官方网址:http://www.curl.com/。
最后,RIA是一个系统应用趋势,但也不是所有网站或内容全部都用Flex、Silverlight、JavaScript、Curl就适用于所有系统,全部摆平,也要端赖于使用者的目的与环境来相互搭配,RIA是一种精神,用任何工具、技术都可以,可别曲解原来的本意。[2]
2.JavaFX的起源
JavaFX是Sun公司2007年发布的,2008年5月6日,在美国旧金山 举行的JavaOne大会上,Sun公司副总裁Rich Green先生宣布了新的战略产品JavaFX,此前已经发布的JavaFX,将会在今年晚些时候正式发布1.0版本,其中不仅包括平台,而且还将发布新的JavaFXScript脚本语言以及相关工具。
继微软在Mix'08之后宣布其在互联网领域的战略布局之后,Sun也加入了下一轮互联网的角逐当中。JavaFX本身依托JVM,将成为一个真正意义上的跨平台产品。Sun公司JavaFX产品负责人Param Singh表示,目前JavaFX的发展还没有提供完整的技术发展线路图,也没有开放计划。但是在今年夏天到来的时候,将会进一步发布JavaFX产品线的开源策略。
Sun公司一向不缺乏功能覆盖性质的产品,对于这次新推出的JavaFX,Sun的说法是他们致力于简化开发过程的努力。然而,业内行家们却认为是Sun看到了RIA发展的势头,不愿丢失这一块的市场便迎头赶上,同时利用Sun在全球2亿的Java ME装机用户,因为JavaFx是一种可以运行在Java ME SDK上面的脚本语言,只要安装了Java ME,就可以运行JavaFX。
3.JavaFX的特点
JavaFX包括JavaFX脚本语言和JavaFx Mobile应用。JavaFX脚本是一种声明式、静态类型编程语言,其语法类似于SVG,用于快速开发图形用户界面。它具有一等函数、声明式的语法、列表推导及基于依赖关系的增量式求值等特征。JavaFX这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元。JavaFX和Java代码非常不同,但是却与Java类保持了高度的交互性,设计人员和开发人员可以用来为桌面、移动设备、电视和其它平台快速构建和发布下一代富交互式应用程序,这些特性使得使用Java技术创建和管理大型程序变为可能。
4.JavaFX的发展现状
在宣布JavaFX技术15个月之后,Sun公司发布了针对Windows和Mac OS X平台的JavaFX公共预览版,JavaFX预览版包含以下组件:
JavaFX预览版 SDK
集成了JavaFX插件的NetBeans(TM) 6.1 IDE:提供了一个构建、预览和调试JavaFX应用的先进的开发环境。
Nile:一个非常方便的工具,它可以从Adobe Photoshop和Adobe Illustrator导出一些创造性的资源到JavaFX应用。
Java(TM) Runtime Environment 6 Update 10 Beta: 提供了一个高性能运行时环境,带有一个新的浏览器插件,能够把一个正在运行的applet从网络浏览器中直接拖拽出来,并动态转化成一个运行在桌面系统的程序。
根据2008年JavaOne大会公布的时间表,1.0版本将会在今年秋天发布,随后是2009年的JavaFX移动版和TV版。
5.JavaFX的优势
面对RIA技术中实力强劲的Flex/Flash以及后发致人的Silverlight,JavaFX的优势何在呢?它主要体现在以下五个方面[3]:
1、产品本身的跨平台特性。JavaFX与其它两个产品最大的不同在于其跨平台的特性,并兼容于各种不同的手持终端设备。除iPhone外,主流的手持终端设备都能良好支持JavaFX,而JRE的运行环境,已经部署在了85%的移动终端设备上。Sun公司副总裁,Java创始人James Gosling表示,iPhone不兼容Java以及Flash,并非技术问题,而是业务问题。
2、JavaFX的开发将会和Java语言的开发极为类似,这大大方便了目前超过600万的开发者用户参与到JavaFX应用的开发上来,同时,这也能进一步协助Sun尽快推广JavaFX。
3、除了平台本身之外,新的JavaFX语言将在尽可能段的时间内得到Sun公司提供的开发工具上的支持,新的JavaFX开发工具将会通过插件形式提供在NetBeans当中,协助开发者快速开发RIA应用。
4、JavaFX的性能将会超过目前主要的竞争对手Flash和Silverlight,在JavaOne开幕式的主题演讲中,Sun公司的主管掩饰了可以同时运行200个视频文件的JavaFX应用,这对于目前的其它RIA产品来说都具有非常大的挑战。
5、足够准确的定位。JavaFX将会专门RIA应用的开发者,而Sun所提供的工具,也仅仅从开发者的角度考虑,这将会把产品定位的模糊性问题彻底屏蔽掉。
【参考文献】
[1]http://club.0312.net/viewthread.php?tid=42750
[2]http://forum.j2eemx.com/showthread.php?t=1929
[3]http://tech.it168.com/zt/javafx/index.html
作者简介:王镇西(1962--),男,副教授,硕士研究生,研究方向:分布式处理
【关键词】JavaFX;RIA;富客户端;Web
引言:
今天的Internet为那些能够快速开发、部署富Internet应用(RIAs)的开发商提供了无限可能的世界。但只有Java平台称得上在移动设备和浏览器领域非常流行,将使用RIAs的基于浏览器的技术能够使应用无需实际改变就能应用在多种平台。JavaFX便是Sun定位于此市场的全新产品族。JavaFX脚本将是开发者更快速、轻松地开发RIAs和下一代能够被扩展到跨越任何设备的服务,从桌面浏览器到移动设备、机顶盒、Blu-ray光盘--安全而且无需本地安装。JavaFX Mobile软件使多种类型的应用在移动世界中成为了现实。[1]
1.RIA技术
所谓RIA,首先,它应该是一个网络应用程序;其次,它还要具有桌面应用程序的特征和功能。简单地说,如果你的桌面程序(比如说Word、Photoshop和Eclipse)能在网络上运行,并且能保持其原来的功能和特征,那么我们就可以称它们为RIA应用(富客户端应用)。
目前RIA主要四家技术为Flex / Silverlight /JavaFX /Curl,以下为其简介:
Flex:2004年由Macromedia产出Flex 1.0,当时是Flex Server架构,但现为Flex SDK(Open Source),开发工具是Flex Builder,目前最新是3.0版,利用Adobe AIR即能开发出窗口版的RIA系统,官方网址:http://www.adobe.com/devnet/flex/
SilverLight:为微软所发表的RIA产品技术,主要开发工具为Visual Studio 2008、Blend,作用也类似于Flex,官方网址:http://www.microsoft.com/silverlight/
JavaFX:由Sun Microsystems所设计,开发工具主要是NetBeans,首次在2007年5月Java one大会时展示,也是为建造RIA内容的技术,预计2009年第春季推出手机版应用。官方网址:http://www.sun.com/software/javafx/。
Curl:2002年就由Sumisho Computer Systems附属公司Curl所产出,主要开发工具为Curl,目前最新为Curl 6.0版,具有Client / Server与Web上的开发好处,目标也是在建造RIA系统,个人使用免费,但商业使用就要付费。官方网址:http://www.curl.com/。
最后,RIA是一个系统应用趋势,但也不是所有网站或内容全部都用Flex、Silverlight、JavaScript、Curl就适用于所有系统,全部摆平,也要端赖于使用者的目的与环境来相互搭配,RIA是一种精神,用任何工具、技术都可以,可别曲解原来的本意。[2]
2.JavaFX的起源
JavaFX是Sun公司2007年发布的,2008年5月6日,在美国旧金山 举行的JavaOne大会上,Sun公司副总裁Rich Green先生宣布了新的战略产品JavaFX,此前已经发布的JavaFX,将会在今年晚些时候正式发布1.0版本,其中不仅包括平台,而且还将发布新的JavaFXScript脚本语言以及相关工具。
继微软在Mix'08之后宣布其在互联网领域的战略布局之后,Sun也加入了下一轮互联网的角逐当中。JavaFX本身依托JVM,将成为一个真正意义上的跨平台产品。Sun公司JavaFX产品负责人Param Singh表示,目前JavaFX的发展还没有提供完整的技术发展线路图,也没有开放计划。但是在今年夏天到来的时候,将会进一步发布JavaFX产品线的开源策略。
Sun公司一向不缺乏功能覆盖性质的产品,对于这次新推出的JavaFX,Sun的说法是他们致力于简化开发过程的努力。然而,业内行家们却认为是Sun看到了RIA发展的势头,不愿丢失这一块的市场便迎头赶上,同时利用Sun在全球2亿的Java ME装机用户,因为JavaFx是一种可以运行在Java ME SDK上面的脚本语言,只要安装了Java ME,就可以运行JavaFX。
3.JavaFX的特点
JavaFX包括JavaFX脚本语言和JavaFx Mobile应用。JavaFX脚本是一种声明式、静态类型编程语言,其语法类似于SVG,用于快速开发图形用户界面。它具有一等函数、声明式的语法、列表推导及基于依赖关系的增量式求值等特征。JavaFX这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元。JavaFX和Java代码非常不同,但是却与Java类保持了高度的交互性,设计人员和开发人员可以用来为桌面、移动设备、电视和其它平台快速构建和发布下一代富交互式应用程序,这些特性使得使用Java技术创建和管理大型程序变为可能。
4.JavaFX的发展现状
在宣布JavaFX技术15个月之后,Sun公司发布了针对Windows和Mac OS X平台的JavaFX公共预览版,JavaFX预览版包含以下组件:
JavaFX预览版 SDK
集成了JavaFX插件的NetBeans(TM) 6.1 IDE:提供了一个构建、预览和调试JavaFX应用的先进的开发环境。
Nile:一个非常方便的工具,它可以从Adobe Photoshop和Adobe Illustrator导出一些创造性的资源到JavaFX应用。
Java(TM) Runtime Environment 6 Update 10 Beta: 提供了一个高性能运行时环境,带有一个新的浏览器插件,能够把一个正在运行的applet从网络浏览器中直接拖拽出来,并动态转化成一个运行在桌面系统的程序。
根据2008年JavaOne大会公布的时间表,1.0版本将会在今年秋天发布,随后是2009年的JavaFX移动版和TV版。
5.JavaFX的优势
面对RIA技术中实力强劲的Flex/Flash以及后发致人的Silverlight,JavaFX的优势何在呢?它主要体现在以下五个方面[3]:
1、产品本身的跨平台特性。JavaFX与其它两个产品最大的不同在于其跨平台的特性,并兼容于各种不同的手持终端设备。除iPhone外,主流的手持终端设备都能良好支持JavaFX,而JRE的运行环境,已经部署在了85%的移动终端设备上。Sun公司副总裁,Java创始人James Gosling表示,iPhone不兼容Java以及Flash,并非技术问题,而是业务问题。
2、JavaFX的开发将会和Java语言的开发极为类似,这大大方便了目前超过600万的开发者用户参与到JavaFX应用的开发上来,同时,这也能进一步协助Sun尽快推广JavaFX。
3、除了平台本身之外,新的JavaFX语言将在尽可能段的时间内得到Sun公司提供的开发工具上的支持,新的JavaFX开发工具将会通过插件形式提供在NetBeans当中,协助开发者快速开发RIA应用。
4、JavaFX的性能将会超过目前主要的竞争对手Flash和Silverlight,在JavaOne开幕式的主题演讲中,Sun公司的主管掩饰了可以同时运行200个视频文件的JavaFX应用,这对于目前的其它RIA产品来说都具有非常大的挑战。
5、足够准确的定位。JavaFX将会专门RIA应用的开发者,而Sun所提供的工具,也仅仅从开发者的角度考虑,这将会把产品定位的模糊性问题彻底屏蔽掉。
【参考文献】
[1]http://club.0312.net/viewthread.php?tid=42750
[2]http://forum.j2eemx.com/showthread.php?t=1929
[3]http://tech.it168.com/zt/javafx/index.html
作者简介:王镇西(1962--),男,副教授,硕士研究生,研究方向:分布式处理