JavaFX - 概述

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

与传统桌面应用程序不同,RIA的不需要运行任何其他软件.作为替代方案,您应该安装ActiveX,Java,Flash等软件,具体取决于应用程序.

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

我们有三种主要技术可供我们开发RIA.这些包括以下 :

  • Adobe Flash

  • Microsoft Silverlight

  • JavaFX

Adobe Flash

此软件平台由Adobe Systems开发,用于创建富Internet应用程序.除此之外,您还可以构建其他应用程序,如矢量,动画,浏览器游戏,桌面应用程序,移动应用程序和游戏等.

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

Microsoft Silverlight

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

这个平台很少用于66%的桌面浏览器渗透率.

JavaFX

JavaFX是一个Java库,使用它可以开发富Internet应用程序.通过使用Java技术,这些应用程序的浏览器渗透率为76%.

什么是JavaFX?

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

使用Java编程语言开发 GUI应用程序 ,程序员依赖于诸如高级窗口工具包 Swing 之类的库.在JavaFX出现之后,这些Java程序员现在可以有效地开发具有丰富内容的GUI应用程序.

需要JavaFX

开发客户端Side Applications 具有丰富的功能,程序员过去依赖各种库来添加媒体,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.这种语言的唯一目的是定义用户界面.

  • 场景生成器 :  JavaFX提供了一个名为Scene Builder的应用程序.在将这个应用程序集成到IDE(如Eclipse和NetBeans)中时,用户可以访问拖放设计界面,该界面用于开发FXML应用程序(就像Swing Drag& Drop和DreamWeaver应用程序一样).

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

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

  • 像样式的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 的公司工作,该公司后来被 Sun Microsystems收购在2005年.

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

  • 最初这个项目被命名为F3 (表格跟随功能),它的开发旨在为开发GUI应用程序提供更丰富的界面.

  • Sun Microsystems 于2005年6月收购了See Beyond公司,它将F3项目改编为 JavaFX .

  • 在2007年,JavaFX在 Java One 正式宣布,这是一个每年举行的万维网会议.

  • 在2008年, Net Beans 整合已获得JavaFX评级.同年,JavaFX 1.0的Java 标准开发工具包发布.

  • 2009年,Oracle公司收购了Sun公司Microsystems和同年发布了下一版JavaFX(1.2).

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

  • 最新版本JavaFX8于2014年3月18日作为Java不可或缺的一部分发布.