概述
Rich Internet Applications是那些提供与桌面应用程序类似的功能和体验的Web应用程序。 与用户的普通Web应用程序相比,它们提供了更好的视觉体验。 这些应用程序作为浏览器插件或虚拟机提供,用于将传统静态应用程序转换为更加增强,流畅,动画和引人入胜的应用程序。
与传统桌面应用程序不同,RIA不需要运行任何其他软件。 作为替代方案,您应该安装ActiveX,Java,Flash等软件,具体取决于应用程序。
在RIA中,图形表示在客户端处理,因为它有一个插件,可以提供对丰富图形的支持。 简而言之,RIA中的数据操作是在服务器端执行的,而相关的对象操作是在客户端执行的。
我们有三种主要技术可用于开发RIA。 这些包括以下内容 -
- Adobe Flash
- Microsoft Silverlight
- JavaFX
Adobe Flash
该软件平台由Adobe Systems开发,用于创建富Internet应用程序。 除此之外,您还可以构建其他应用程序,如矢量,动画,浏览器游戏,桌面应用程序,移动应用程序和游戏等。
这是开发和执行RIA的最常用平台,桌面浏览器的渗透率为96%。
Microsoft Silverlight
就像Adobe Flash一样,Microsoft Silverlight也是一个用于开发和执行富Internet应用程序的软件应用程序框架。 最初,此框架用于流媒体。 目前的版本也支持多媒体,图形和动画。
这个平台很少使用桌面浏览器的渗透率为66%。
JavaFX
JavaFX是一个Java库,您可以使用它来开发富Internet应用程序。 通过使用Java技术,这些应用程序的浏览器渗透率为76%。
什么是JavaFX?
JavaFX是用于构建富Internet应用程序的Java库。 使用此库编写的应用程序可以跨多个平台一致地运行。 使用JavaFX开发的应用程序可以在各种设备上运行,例如台式计算机,移动电话,电视,平板电脑等。
要使用Java编程语言开发GUI Applications程序,程序员依赖于诸如Advanced Windowing Toolkit和Swing 。 在JavaFX出现之后,这些Java程序员现在可以使用丰富的内容有效地开发GUI应用程序。
需要JavaFX
为了开发具有丰富功能的Client Side Applications ,程序员过去依赖于各种库来添加诸如媒体,UI控件,Web,2D和3D等功能.JavaFX在单个库中包含所有这些功能。 除此之外,开发人员还可以访问Java库的现有功能,例如Swing 。
JavaFX提供了丰富的图形和媒体API,并通过硬件加速图形利用现代Graphical Processing Unit 。 JavaFX还提供了接口,开发人员可以使用这些接口组合图形动画和UI控件。
可以将JavaFX与基于JVM的技术一起使用,例如Java,Groovy和JRuby。 如果开发人员选择JavaFX,则无需学习其他技术,因为任何上述技术的先验知识都足以使用JavaFX开发RIA。
JavaFX的功能
以下是JavaFX的一些重要功能 -
Written in Java - JavaFX库是用Java编写的,可用于可在JVM上执行的语言,包括Java, Groovy and JRuby 。 这些JavaFX应用程序也与平台无关。
FXML - JavaFX使用称为FXML的语言,它是一种类似于声明性标记语言的HTML。 此语言的唯一目的是定义用户界面。
Scene Builder - JavaFX提供名为Scene Builder的应用程序。 在将此应用程序集成到IDE(例如Eclipse和NetBeans)中时,用户可以访问拖放设计界面,该界面用于开发FXML应用程序(就像Swing Drag&Drop和DreamWeaver应用程序一样)。
Swing Interoperability - 在JavaFX应用程序中,您可以使用Swing Node类嵌入Swing内容。 同样,您可以使用嵌入式Web内容和丰富的图形媒体等JavaFX功能更新现有的Swing应用程序。
Built-in UI controls - JavaFX库提供UI控件,使用它可以开发功能齐全的应用程序。
CSS like Styling这样的CSS - JavaFX提供了类似样式的CSS。 通过使用它,您可以通过简单的CSS知识改进应用程序的设计。
Canvas and Printing API - JavaFX提供了Canvas,一种即时模式的渲染API。 在包javafx.scene.canvas它包含一组canvas类,我们可以使用它直接在JavaFX场景的区域内绘制。 JavaFX还在包javafx.print提供用于打印目的的类。
Rich set of API’s - JavaFX库提供了丰富的API来开发GUI应用程序,2D和3D图形等。这套API还包括Java平台的功能。 因此,使用此API,您可以访问Java语言的功能,如泛型,注释,多线程和Lambda表达式。 传统的Java Collections库得到了增强,其中包含了可观察List and Map等概念。 使用这些,用户可以观察数据模型中的变化。
Integrated Graphics library - JavaFX提供2d和3d图形的类。
Graphics pipeline - JavaFX支持基于硬件加速图形管道(称为Prism)的图形。 与支持的图形卡或GPU一起使用时,它可提供流畅的图形。 如果系统不支持图形卡,则棱镜默认为软件渲染堆栈。
JavaFX的历史
JavaFX最初是由Chris Oliver开发的,当时他在一家名为See Beyond Technology Corporation的公司工作,该公司后来在2005年被Sun Microsystems收购。
以下几点为我们提供了有关该项目的更多信息 -
最初这个项目被命名为F3 (Form Follows Functions) ,它的开发旨在为开发GUI应用程序提供更丰富的界面。
Sun Microsystems于2005年6月收购了See Beyond公司,它将F3项目改编为JavaFX 。
在2007年,JavaFX在Java One正式宣布,这是一个每年举行的万维网会议。
在2008年,可以使用与JavaFX集成的Net Beans 。 同年,JavaFX 1.0 Java Standard Development Kit发布。
在2009年,甲骨文公司收购了Sun Microsystems,并在同一年发布了下一版JavaFX(1.2)。
在2010年,JavaFX 1.3问世,2011年JavaFX 2.0发布。
最新版本JavaFX8于2014年3月18日作为Java的一个组成部分发布。