学习JavaFX有一段时间了,缘起公司软件需要访问本地资源,原来的解决方案Applet功能不够强大及稳定,因此近期开始关注JavaFX。JavaFX是Java语言中一项新的技术,主要运用于RIA 的开发(当然还有移动设备等)。随着学习JavaFX的深入,觉得这项技术很有意思,而且也很强大。今后会在博客中,记录我学习和使用JavaFX的点点滴滴。
JavaFX的入门,是看官网的了解 JavaFX Script 编程语言 和使用 JavaFX 构建 GUI 应用程序 两篇文章。然后,自己就开始摸索着把这项技术运用到工作中。在目前的B/S结构中,客户端的功能有些弱,尤其是对本地资源的操作。当然可以使用Applet和Javascript来使客户端功能增强,但是,实际开发工程中还是感觉繁琐、调试困难及稳定性不高。现在,使用JavaFX就简洁多了,如果时间允许,个人觉得很多B/S结构的软件,都可以改成用JavaFX来实现客户端功能。为什么说要时间允许呐,因为目前JavaFX的开发工具还不够强大,而且相应的开发框架也很少,所以开发周期会比较长。
说起开发工具,我目前使用的是NetBeans,虽然这是官方推荐的最好的开发JavaFX的IDE,但是针对界面开发的功能还是太弱了,很多时间都消耗在布局方面。另外,针对JavaFX文件的编辑很不稳定,经常出现莫名的错误提示和警示,比如明明使用了导入的类,但是却显示“未使用的导入语句”,而且很多Java代码的快捷键也无法在JavaFX编辑中使用。希望NetBeans或是其他的IDE能够更快的加强对JavaFX文件编辑的功能。
在使用JavaFX的过程中,的确还是给我带来一些惊喜的。比如对本地资源(串、并、USB端口)的操作方面,JavaFX还是比较容易开发、测试、部署和使用的,尤其是部署(也许这应归功于IDE),很方便的就可以通过浏览器访问。不过,要说明一点,缺省情况下的JavaFX程序是需要互联网的支持,每次运行程序需要去官网下载相关资源和验证,而且根据版本不同资源也不相同,也许这就是目前JavaFX技术还不够成熟的体现。不过解决这个问题也不难,以后我会在blog中说明。
在开发图形界面的时候,还是遇到不少问题,比如文本框的验证,密码输入框等等,其实最挠头的是布局,不过我到是想了一个过渡的办法,就是用Swing做好界面,再用JavaFX包装。嘿嘿,有时这个办法还挺管用,不过终归不是长久之计,但这些问题只能等待JavaFX技术的不断完善。
在开发多线程方面,JavaFX也有其独到之处。最近刚好需要解决这方面的问题,还不错通过几篇E文,算是让我弄出来了,但是个别地方还是没有搞明白。不得不说中文的JavaFX资料太少了,貌似国内使用JavaFX的人也很少。不过我觉得JavaFX的发展还是很有前途和需要的,至少在我的工作中已经开始使用。