当前位置: 首页 > 科技观察

对不起,JavaFX——Java8还救不了你

时间:2023-03-16 14:28:54 科技观察

JavaFX是SUN在2007年JavaOne大会上首次公布的基于Java的富客户端平台,更让开发者印象深刻。是它背后的JavaFX开发团队,在短短两年时间里从1.0版本升级到1.3.x版本,不仅增加了很多新功能,性能也有了很大的提升。甲骨文收购Sun时,宣布停止支持JavaFX脚本语言,并将其API进一步集成到Java中,而JavaFX在以后的版本中也默认捆绑。在JavaOne2011大会上,甲骨文也向公众表达的开源计划也已经实现。可见,在移动互联网时代,甲骨文已经意识到RIA技术的重要性,想要将JavaFX打造成Flash、Silverlight等领先产品。但是对于RIA来说,Java还是一个新手,想要撼动Flash的份额显然是很难的。但是,依托众多Java开发者的力量,作为一种通用的开发语言,相对于FLASH的ActionScript还是有很大优势的。小编曾经在知乎上看到某位高手对JavaFX的评价还是比较客观的:(1)Java技术是开源的,从开发工具(Eclipse、netBeans)到开源类库无所不包。Flash和Silverlight是不同的。(2)跨平台。如果您了解Microsoft的战略,您就不会押注于silverlight。最后微软不会支持跨平台,只支持跨windows平台,提出跨平台只是为了搅局。好在大家不再吃那一套了。(3)Java作为一种通用的开发语言,是Flash中的ActionScript无法比拟的。它拥有完备的类库(数据库、网络、IO等),强大且免费的开发工具,不仅运行在浏览器中(虽然Air也可以,但是目前还没有大型程序使用Air,典型的应用是Java是EclipsenetBeans)。JavaFx正在弥补图形处理方面的不足(这是Flash的强项,JavaFx已经开始支持硬件加速),但Java的强项Flash是难以复制的。今年3月,随着OracleJava8的推出,JavaFX以组件的形式完成了又一次更新。然而,很多人质疑这项技术的未来前景和影响力。Oracle发布的开源JavaFX8具有许多功能特性,例如UI控制、嵌入式图形堆栈、现代主题、3D图形处理和HTML5支持。其工具集的设计重点是性能和图形,并且在嵌入式系统上运行良好。但ForresterResearch分析师JohnRymer并不看好JavaFX的生命力。“我们没有看到人们对JavaFX有太多兴趣,”他指出。“Java8——很棒,但JavaFX完全是另外一回事了。在我看来,JavaFX可能太弱了,太慢了。JavaFX未能达到Sun为其设定的预期发展目标,这也使得Java成为首选Web客户端和移动开发领域的环境。(来源:infoworld)事实上,HTML5、GoogleAndroid(本身基于Java)和AppleiOS等平台已成为移动领域最著名的名字与AdobeFlash、微软Silverlight类似,JavaFX被逐出核心舞台,被迫在新时代发挥作用。但它也有自己的支持者。在咨询和软件开发公司Welland,技术人员已经“使用JavaFX更新负责数据库间数据迁移的桌面应用程序。JavaFX可以为应用程序带来更现代的外观,”WellandCompany的高级软件工程师ColeMarkham指出。“在个人经验中,我交流过很多技术工作者对JavaFX感兴趣,但这仅限于Java社区。“Markham也将JavaFX视为SwingGUI技术的继承者。但是,451ResearchCompany的分析师MichaelCote认为,JavaFX是一种正在衰落的富互联网应用程序(RIA)技术。”我认为RIA的时代早已过去,现在是所谓的智能手机和平板设备的时代。HTML***ndroid和最少被忽视的iOS才是真正的赢家。”他将JavaFX视为与Flash和Silverlight相当的即将过时的平台,并指出了indeed.com上的一张图片,该图片显示自2013年1月以来JavaFX程序员通常无事可做:图片来自indeed.comOracle已经验证了JavaFX在Android和iOS平台上的可行性,尽管Java运行时本身在iOS设备上是不支持的。不过,Rymer认为Oracle也感受到了JavaFX的冷遇。尽管Java广泛用于移动和多通道应用程序的服务器端,但它在客户端的普及率仍然很低。Rymer指出,Oracle目前正试图在这方面推动JavaFX和JavaME(即Micro版本)的性能。“虽然广泛成功的几率真的很不确定,但是软件行业的事情真的很难说。”****小编认为,虽然现在大多数主流厂商都在全力推广HTML5,但新技术总是需要一段时间改善。从目前的趋势来看,JavaFX可能无法与FLASH和HTML5相提并论。但是,JavaFX还很年轻,未来的路还很长。在不断优化完善的过程中,可能在Java开发者心中占有一定的位置。