为什么说JavaFX已经过时了?

论坛 期权论坛 期权     
匿名的论坛用户   2020-12-27 18:44   9968   10
前段时间回答过一个「Java中最常用的技术有哪些?」的一个问题,我觉得我用JavaFX也不少,于是就答了上去。看到评论区里有人说:JavaFX还有用?于是非常疑惑,JavaFX真的没用了吗?它已经过时了吗?
(个人觉得JavaFX用顺了还是蛮好用的((逃
分享到 :
0 人收藏

10 个回复

倒序浏览
2#
热心的小回应  16级独孤 | 2020-12-27 18:44:31
我就说一个事儿,JavaFX里头有一个极其重要的组件,WebView。

这意味着Java领域的界面开发,已经融入了web技术。

这一个优点足以掩盖其所有目前的缺点。

例如我们做量化交易的,画各种图表,echarts这个库就非常适合。这时候我上一个JVM语言Kotlin,用JavaFX的WebView配合echarts这个库,整个体系就非常干净整洁。
3#
热心的小回应  16级独孤 | 2020-12-27 18:44:32
intellij idea最新几个版本中就加入了对于javafx的支持,其中set/get方法多了***property的方法,感情有些人用的idea是十年前的版本嘛?不重构是因为10多年的legacy code了,要想全部重构有相当大的工作量,这个不是阿猫阿狗就敢随便碰的,至于netbeans,这破烂玩意就直接忽略吧,怎么会有人用这个辣鸡举例子,匪夷所思

另外什么desktop官方看不上纯粹胡扯,javafx诞生之后因为sun被收购,导致项目停滞了很久,真正起步是在11年底也就是10月份左右才正式开始,抛弃了fxscript这种怪异的东西,进入pure java的行列,然后发展到今天,也不过5,6年,已经有不少新版本的gui用javafx写了,只不过这些年desktop日渐式微,比不上mobile上如火如荼,所以很多人不懂而已,我倒是遇到不少软件是javafx写的,比如tesseract的训练工具jtessboxeditor就用了新版的javafx版,真正desktop的支持,尤其是native compiling是12年底才推出的支持,之后做到desktop全平台支持(windows+macosx+linux)是在14年3月才完成的,离现在不到3年,这些都是非常重要的特性,天朝土鳖很多不懂怎么用macosx,还停留在windows上自撸阶段,所以对跨平台要求不高,也不懂有啥好处,所以不是特别能理解外面的世界,值得一提的是steam上不少游戏都开始跨平台了

还有进入mobile,也不是什么半死不活,因为mobile平台被apple和google控制着,android本来就是java语法,跟javafx差别并不大,无非改个控件罢了,ios则有了swift,开发难度也开始下降,在这个前提下,折腾跨平台还不如干脆就用native直接开发算了,加上之前那个啥vm被微软恶意收购了,所以导致这个进度有些拖后,这种是平台间的博弈,各个平台为了自己的利益,都会设置点恶意的障碍,很正常,而且不同平台连input都不一样,强求一致容易弄巧成拙,pc&mac上一致还比较有道理,因为input都是鼠标+键盘,mobile上多点触控跟鼠标键盘不一回事,而且跨平台的pkg都比较大,对推广不利

javafx有一个内置的浏览器,可以直接将网页嵌入到桌面应用中去,这很重要,意味着可以做成浏览器的扩展,而不用受限于浏览器,以前applet的权限被浏览器所限制,开发起来就想砸了那些辣鸡浏览器,比如以前的ie,applet就是被这种浏览器的限制搞死了,有趣的是,android也有一个内置的浏览器,异曲同工之妙

现在javafx被强行整合进java里面去了,不知道还要怎样才算重视,不过国内很多土鳖用的java版本还停留在1.6,出来到处瞎说也是醉了
国外现在这个东西很多人在stackoverflow上问相关问题,可以看出一些流行度,土鳖很多人english不过关,所以很多看不懂
Newest 'javafx' Questions
相关的tagged questions已经超过不少java比较知名的框架被tagged questions了,比如google的guava
4#
热心的小回应  16级独孤 | 2020-12-27 18:44:33
谈不上过时,因为从没入时过。这玩意虽然也有8~9年了,声称是替代swing的技术,但起初定位是RIA的,但半途而废;后来又想挺进移动端平台,但根本没有什么作为;就剩传统的桌面端,官方还看不上,成了鸡肋技术,搞的半青不熟,官方自己都不用。java gui用的最多的领域就是程序员自己玩的ide工具上,但netbeans、idea和其它任何一种工具,听说过一点javafx化的计划吗?
5#
热心的小回应  16级独孤 | 2020-12-27 18:44:34
1、JavaFX提供新的部署选项称为本地打包(也称为自包含应用程序包)。
一个本地包是一个包含你的应用代码和平台指定的Java运行时的打包程序。
也就是说相,以前客户需要独立安装jdk,现在javaFx内置运行环境和应用一起。
懂java语言的我们可以用写纯java客户端了。

最后:开源项目,以后会产生越来越多的实用控件
做个日记本应用先,》》》闪

6#
热心的小回应  16级独孤 | 2020-12-27 18:44:35
1,现在B/S、移动端比较火,而JavaFX目前主要用于开发桌面程序。
2,如果开发桌面程序,个人觉得JavaFX还好。
7#
热心的小回应  16级独孤 | 2020-12-27 18:44:36
我15年搞过一段时间,那个时候在swing 和javafx纠结了一会,最后选了javafx 大概是2.0版本。最后的感觉是UI 的look不太好,这玩意大概就和mfc差不多的位置,从招聘广告可以看过来大部分桌面用的还是swing,何况桌面的需求也少了,mobile上我不太看好,比不上原生的库。web上也不可能搞得过js,css,react之类的组合
8#
热心的小回应  16级独孤 | 2020-12-27 18:44:37
用的人少,没过时
9#
热心的小回应  16级独孤 | 2020-12-27 18:44:38
曾经关注过,生产真没用过,好像要代替swing和jsp的?这俩倒是被代替了,可惜不是javafx
10#
热心的小回应  16级独孤 | 2020-12-27 18:44:39
javaFX就从来没有流行过。要说java真正流行过的gui技术只有applet,那时候独领风骚。后来的swing和swt也还可以,毕竟上个十年cs架构的程序也还有市场。而现在这些年,不是非要客户端调用dll等特殊功能,一般都做成bs架构了,javafx只能说生不逢时。
11#
热心的小回应  16级独孤 | 2020-12-27 18:44:40
我搜了一下who is using javaFx, 找到了这个 : 20 JavaFX real-world applications - JAXenter
但实话说这上面列出来的我一个都没听说过,可能我太孤陋寡闻了。
我个人用过和听说过的java 桌面应用最多的是基于swing和eclipse的SWT的,例如intelliJ,razor sql啊,ibm的一些桌面软件啊,从来没用过javafx的应用。如果这不是我个人经历的感觉偏差,那一定程度上说明javafx比较小众,至少没有诞生像eclipse和intellij这种影响力的项目。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3118703
帖子:623848
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP