入门JavaFX RIA应用开发需要了解的几个要点

我最近打算系统学习JavaFX,这个基于JVM的RIA框架.很多开发者选择Java进行Web开发和移动开发(如Android,BlackBerry,J2ME),JavaFX可能不如这两个应用热门.但我还是觉得学习Java都应该学习JavaFX,因此,我整理了一些关于JavaFX的要点,希望对入门JavaFX有所帮助.

JavaFX是什么?关于JavaFX需要了解什么?为什么应该学习JavaFX?

JavaFX是基于JVM框架,使用Java开发的RIA(富互联网应用)框架.JavaFX作为Java GUI框架Swing的后继者,相比Swing来说更为方便.JavaFX可以实现界面UI和后台代码的分离,使得代码更容易维护.JavaFX 1.0使用JavaFX Script作为UI脚本语言,2.0开始使用FXML作为脚本语言,FXML是基于XML的脚本语言,类似Adobe Flex的MXML和Silverlight的XAML.JavaFX不仅可以使用Java语言作为后台语言,还可以利用其它基于JVM的编程语言编写后台代码.JavaFX最初定位是成为和Adobe Flex,Silverlight,OpenLaszlo竞争的RIA技术.学习JavaFX对于Java开发者十分必要,因为现在的大多数应用都需要GUI界面,而JavaFX正好提供了强大的GUI组件,学好JavaFX还可以开发跨平台的应用以及网页游戏.

JavaFX是跨平台的,可以运行于哪些平台?

JavaFX可以运行于桌面,Web前端及移动平台.

桌面:JavaFX可运行于Windows,Mac OS和Linux等操作系统.

Web前端:JavaFX可以像Flash,Silverlight一样,通过JNLP插件插入网页前端,和JavaScript交互.

移动平台:JavaFX Mobile可运行于移动平台.同时可以参考JavaFXPorts(http://gluonhq.com/open-source/javafxports/)

JavaFX可以用哪些编程语言编写后台代码?

JVM编程语言,或者编译到Java的编程语言,如B4J,都可以开发JavaFX应用.

Java 7/Java 8:一般通用的JavaFX开发环境.

Kotlin:可以使用KotlinFX(https://github.com/eugenkiss/kotlinfx/wiki)和TornadoFX(https://github.com/edvin/tornadofx)开发JavaFX应用.

Scala:使用ScalaFX(http://www.scalafx.org/)开发JavaFX应用.

Groovy:使用GroovyFX(http://groovyfx.org/)或Griffon(编译到JavaFX,http://griffon-framework.org/).

Ceylon:使用CeylonFX(https://github.com/renatoathaydes/CeylonFX).

Jython:使用基于JVM的Python语言开发JavaFX应用(这篇问答帖可以参考https://community.oracle.com/message/10374411)

JRuby:基于JVM的Ruby语言(https://github.com/jruby/jrubyfx)

Mirah:一种类似Ruby的JVM语言,可用于开发JavaFX应用(https://github.com/shannah/mirah-nbm/blob/master/docs/MavenJavaFXExample.md)

Frege:一种类似Haskell的JVM语言(https://github.com/Frege/FregeFX)

Xtend:一种面向对象的JVM语言(https://github.com/svenefftinge/xtendfx)

Visage:一种为JavaFX设计的编程语言(https://github.com/visage-lang/visage-javafx)

Fantom:一种跨平台且支持JVM的编程语言(http://fantom-lang.org/)

Clojure:函数式编程语言(https://github.com/zilti/clojurefx)

Haxe:跨平台的编程语言,支持Java,理论上应该可以开发JavaFX应用,有待验证.(https://haxe.org/)

B4J:使用类似Basic的语言开发JavaFX应用.(https://www.b4x.com/b4j/help/jfx.html)

Eta:一种函数式编程语言(https://github.com/typelead/eta)

JavaFX怎样嵌入到网页?

JavaFX可以通过JNLP插件嵌入到网页中,可以参考这篇问答:

Embed a JavaFX application in a HTML webpage(https://stackoverflow.com/questions/27958019/embed-a-javafx-application-in-a-html-webpage)

JavaFX怎样和Swing交互?

将JavaFX应用嵌入到Swing应用中(https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/swing-fx-interoperability.htm)

将Swing应用嵌入到JavaFX中

(https://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm)

JavaFX怎样和JavaScript交互?

JavaScript访问JavaFX应用

(https://docs.oracle.com/javafx/2/deployment/javafx_javascript.htm)

在JavaFX中调用JavaScript代码

(https://docs.oracle.com/javase/8/javafx/embedded-browser-tutorial/js-javafx.htm)

总结

以上就是入门JavaFX所需要了解的要点.希望能有更多从事Java开发的朋友能加入到JavaFX开发者的行列中来,也希望JavaFX能够越来越好.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180504G1YNMJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励