JavaFX 概述
本文于2055天之前发表,文中内容可能已经过时。
Rich Internet Applications (富Internet应用程序)
**Rich Internet Applications (富Internet应用程序)**是那些提供与桌面应用程序类似的功能和体验的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应用程序,程序员依赖于诸如Advanced Windowing Toolkit和Swing之类的库。在JavaFX出现之后,这些Java程序员现在可以使用丰富的内容有效地开发GUI应用程序。
需要JavaFX
为了开发具有丰富功能的客户端应用程序,程序员过去依赖于各种库来添加诸如媒体,UI控件,Web,2D和3D等功能.JavaFX在单个库中包含所有这些功能。除此之外,开发人员还可以访问Java库的现有功能,例如Swing。
JavaFX提供了丰富的图形和媒体API,并通过硬件加速图形利用现代图形处理单元。JavaFX还提供了接口,开发人员可以使用这些接口组合图形动画和UI控件。
可以将JavaFX与基于JVM的技术(如Java,Groovy和JRuby)结合使用。如果开发人员选择JavaFX,则无需学习其他技术,因为任何上述技术的先验知识都足以使用JavaFX开发RIA。
JavaFX的功能
以下是JavaFX的一些重要功能 -
- 用Java编写 - JavaFX库是用Java编写的,可用于可在JVM上执行的语言,包括Java,Groovy和JRuby。这些JavaFX应用程序也与平台无关。
- FXML - JavaFX使用称为FXML的语言,它是一种类似于声明性标记语言的HTML。此语言的唯一目的是定义用户界面。
- Scene Builder - JavaFX提供名为Scene Builder的应用程序。在将此应用程序集成到IDE(例如Eclipse和NetBeans)中时,用户可以访问拖放设计界面,该界面用于开发FXML应用程序(就像Swing Drag&Drop和DreamWeaver应用程序一样)。
- Swing互操作性 - 在JavaFX应用程序中,您可以使用Swing Node类嵌入Swing内容。同样,您可以使用嵌入式Web内容和丰富的图形媒体等JavaFX功能更新现有的Swing应用程序。
- 内置UI控件 - JavaFX库提供UI控件,使用它可以开发全功能的应用程序。
- 像Styling这样的CSS - JavaFX提供了类似样式的CSS。通过使用它,您可以通过简单的CSS知识改进应用程序的设计。
- Canvas和Printing API - JavaFX提供了Canvas,一种即时模式的渲染API。在包javafx.scene.canvas中,它包含一组canvas类,我们可以使用它直接在JavaFX场景的区域内绘制。JavaFX还在包javafx.print中提供用于打印目的的类。
- 丰富的API集 - JavaFX库提供了丰富的API来开发GUI应用程序,2D和3D图形等。这组API还包括Java平台的功能。因此,使用此API,您可以访问Java语言的功能,如泛型,注释,多线程和Lambda表达式。传统的Java Collections库得到了增强,其中包含了可观察列表和地图等概念。使用这些,用户可以观察数据模型中的变化。
- 集成图形库 - JavaFX提供2d和3d图形的类。
- 图形管道 - 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 标准开发套件发布。
- 在2009年,甲骨文公司收购了Sun Microsystems,并在同一年发布了下一版JavaFX(1.2)。
- 在2010年,JavaFX 1.3问世,2011年JavaFX 2.0发布。
- 最新版本JavaFX8于2014年3月18日作为Java的一个组成部分发布。