📜  JavaFX-概述

📅  最后修改于: 2020-11-14 06:43:30             🧑  作者: Mango


富Internet应用程序是那些Web应用程序,它们提供与桌面应用程序相似的功能和体验。与普通Web应用程序相比,它们为用户提供了更好的视觉体验。这些应用程序以浏览器插件或虚拟机的形式提供,用于将传统的静态应用程序转换为更加增强,流畅,生动和引人入胜的应用程序。

与传统的桌面应用程序不同,RIA不需要运行任何其他软件。或者,您应根据应用程序安装ActiveX,Java,Flash等软件。

在RIA中,图形表示是在客户端处理的,因为它具有可支持丰富图形的插件。简而言之,RIA中的数据操作是在服务器端执行的,而相关的对象操作是在客户端执行的。

我们使用三种主要技术来开发RIA。这些包括以下内容-

  • Adobe Flash
  • 微软Silverlight
  • JavaFX

Adobe Flash

该软件平台由Adobe Systems开发,用于创建Rich Internet Applications。除了这些,您还可以构建其他应用程序,例如矢量,动画,浏览器游戏,桌面应用程序,移动应用程序和游戏等。

这是用于开发和执行RIA的最常用平台,桌面浏览器普及率为96%。

微软Silverlight

像Adobe Flash一样,Microsoft Silverlight还是一个用于开发和执行Rich Internet Applications的软件应用程序框架。最初,此框架用于流媒体。当前版本也支持多媒体,图形和动画。

很少使用该平台,桌面浏览器的普及率为66%。

JavaFX

JavaFX是一个Java库,您可以使用它来开发Rich Internet Applications。通过使用Java技术,这些应用程序的浏览器普及率为76%。

什么是JavaFX?

JavaFX是用于构建富Internet应用程序的Java库。使用此库编写的应用程序可以在多个平台上一致地运行。使用JavaFX开发的应用程序可以在台式计算机,移动电话,电视,平板电脑等各种设备上运行。

为了使用Java编程语言开发GUI应用程序,程序员依赖于诸如Advanced Windowing ToolkitSwing之类的库。 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的应用程序。在将此应用程序集成到Eclipse和NetBeans等IDE时,用户可以访问拖放设计界面,该界面用于开发FXML应用程序(就像Swing拖放和DreamWeaver应用程序一样)。

  • Swing互操作性-在JavaFX应用程序中,您可以使用Swing Node类嵌入Swing内容。同样,您可以使用JavaFX功能(例如嵌入式Web内容和丰富的图形媒体)更新现有的Swing应用程序。

  • 内置的UI控件-JavaFX库提供了UI控件,通过它们我们可以开发功能齐全的应用程序。

  • CSS样式-JavaFX提供CSS样式。通过使用此功能,您可以通过简单的CSS知识来改进应用程序的设计。

  • 画布和打印API -JavaFX提供了画布,一种即时模式的渲染API。在包javafx.scene.canvas内,它包含一组画布类,我们可以使用这些类直接在JavaFX场景的区域内进行绘制。 JavaFX还在包javafx.print中提供了用于打印目的的类。

  • 丰富的API集– JavaFX库提供了丰富的API集来开发GUI应用程序,2D和3D图形等。这组API还包括Java平台的功能。因此,使用此API,您可以访问Java语言的功能,例如泛型,注释,多线程和Lambda表达式。传统的Java Collections库得到了增强,其中包括了可观察列表和地图之类的概念。使用这些,用户可以观察数据模型中的变化。

  • 集成图形库-JavaFX提供了用于2d3d图形的类。

  • 图形管道-JavaFX支持基于硬件加速的图形管道Prism的图形。与受支持的图形卡或GPU一起使用时,它可以提供流畅的图形。如果系统不支持图形卡,则棱镜默认为软件渲染堆栈。

JavaFX的历史

JavaFX最初是由Chris Oliver开发的,当时他在一家名为See Beyond Technology Corporation的公司工作,后来该公司于2005年被Sun Microsystems收购。

以下几点为我们提供了有关该项目的更多信息-

  • 最初,该项目被命名为F3 (表单遵循函数) ,其开发目的是为开发GUI应用程序提供更丰富的界面。

  • Sun Microsystems于2005年6月收购了See Beyond公司,该公司将F3项目改名JavaFX

  • 在2007年,JavaFX在Java One上正式宣布, 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的组成部分发布。