JavaFX - 概述


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

与传统的桌面应用程序不同,RIA 不需要任何其他软件即可运行。作为替代方案,您应该根据应用程序安装 ActiveX、Java、Flash 等软件。

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

我们拥有三种主要技术,可以使用它们来开发 RIA。其中包括以下内容 -

  • Adobe Flash
  • 微软银光
  • JavaFX

Adobe Flash

该软件平台由 Adob​​e Systems 开发,用于创建富互联网应用程序。除此之外,您还可以构建其他应用程序,例如矢量、动画、浏览器游戏、桌面应用程序、移动应用程序和游戏等。

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

微软银光

就像 Adob​​e flash 一样,Microsoft Silverlight 也是一个用于开发和执行富互联网应用程序的软件应用程序框架。最初这个框架用于流媒体。当前版本还支持多媒体、图形和动画。

该平台很少使用,桌面浏览器渗透率为 66%。

JavaFX

JavaFX 是一个 Java 库,您可以使用它来开发富互联网应用程序。通过使用Java技术,这些应用程序的浏览器渗透率达到76%。

什么是 JavaFX?

JavaFX 是一个用于构建富互联网应用程序的 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 Drag & Drop 和 DreamWeaver 应用程序一样)。

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

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

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

  • Canvas 和打印 API - JavaFX 提供 Canvas,一种即时模式风格的渲染 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 一起使用时,它可以提供流畅的图形。如果系统不支持显卡,则 prism 默认使用软件渲染堆栈。

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年,Oracle公司收购了Sun Microsystems,同年又发布了JavaFX的下一版本(1.2)。

  • 2010年,JavaFX 1.3问世,2011年JavaFX 2.0发布。

  • 最新版本 JavaFX8 作为 Java 的组成部分于 2014 年 3 月 18 日发布。