当前位置:首页 > 每日看点 > 正文内容

跨平台桌面软件,选JaFX还是QT/Pyside?

卡卷网1年前 (2025-01-11)每日看点200

来,我教你jafx,超级简单,按照我说的,只要不是智商出了问题,你就不会写不出来

首先第一步,下载openjdk,在这里下

JaIlyou-爪哇我话你知

下最新版本的,不要执著于8,除非你工作需要,如有很大的老代码遗留,否则能用最新版的就用最新版的,因为新的工具都只会出现在新版本里面,jafx版本迭代之后,每一个版本都有新内容加入,如20刚刚加入的map和flatmap,21要加suscription

解压缩就好了,记住解压缩后你放哪里

第二步,下载idea,社区版就行了,傻瓜化安装,帮你做好了

第三步,安装完idea之后,打开,jafx的项目有向导帮忙生成,直接点

点完就生成了demo项目,然后你就可以开始做了

超级简单吧?都能做

然后一些经验,如何让jafx写起来更简单

FXGL

fxgl是jafx的超集

虽然fxgl是一个游戏引擎,但是它完全兼容jafx

它的entity的viewcomponent就是jafx的node,所以你所有对于node的使用经验,都可以在fxgl的viewcomponent里面直接用

而且fxgl在jafx基础上,添加了很多游戏中常用的功能,如e,如重力,如碰撞检测,如寻路,这些动态功能jafx自带的要方便实用

而且,fxgl的坐标,jafx简单多了,jafx是we那一套,很麻烦,你会迷失在像素还是什么点的概念中,fxgl将其简化,用fxgl布局jafx还简单,甚至多数时候不需要它的绑定功能

fxgl的使用也很简单,idea中有向导,我们过去要求加上去的,在生成jafx项目的时候,记得勾选fxgl这个依赖,它会帮你加上去,然后就可以写了

AtlantaFX

亚特兰大fx,这是一个对jafx界面直接美化的项目,使用起来也很方便,直接添加依赖,然后模块化中引入requires,再在start方法中加一行代码就可以了

Application.setUserAgentStylesheet(newPrimerLight().getUserAgentStylesheet());

这是项目:

s://githu/mkpaz/atlantafx

它目前提供了7种主题,最低jdk版本要求是17

所以如果你对jafx缺省的gui不满意,可以用这种主题,7种主题,总有一种适合你

当然也有vfx等开源项目,你也可以参考,vfx在站上latte酱做了展示视频,可以看一下

来自JDK的亲切问候

这个严格说起来,并不是jafx的东西,但是因为jafx是ja的类库,所以ja的进步,同样可以应用到jafx上去

jdk提供的优化功能有:

jlink

ja现在已经模块化了,你可以用jlink定制出runtime,也就是运行时来,用这种方式可以剪裁出一个相对小的运行时,而且可以设置压缩尺度,如果把压缩尺度设置为2的话,一个helloworld也就是几十兆,加上jafx的依赖,只要你不卷入wekit,其实大部分都是几十兆搞定

zgc

zgc可以有效减少内存的占用,而且zgc会把回收回来的内存,还给作,这就很方便了,而且zgc可以让gc时候的暂停停顿,在1ms左右结束,基本上就不会对你的程序造成任何影响

最后21的zgc还加入了分代,进一步降低了内存占用

zgc用起来也很傻瓜化,只需要加入一个option就行

aot/nativeimage

这个是高阶功能,你不一定需要,如果你的程序,在电脑上运行,一般电脑都能搞定,我用的开发电脑是m1的macmini,现在已经停产,现在最便宜的苹果mac,是m2的mini,哪怕这个mini,性能都我用的要高20%左右,因为多了两块gpu,然后我的内存是8g

在我的电脑上,跑fxgl毫无压力,轻轻松松

所以一般不需要aot,你的电脑也完全吃得消

但是,有些平台需要你做aot,如苹果的appstore,你要上appstore,你就要做aot,否则你很有可能被苹果以热更新的名义干掉,这就是为什么Google去做flutter的原因

aot是有代价的,做起来较麻烦,也是ja一直在发展的方向,但是目前还是较折腾,搞起来要各种配置,而且各个平台都不一样,较麻烦,不是不行,不是不能做,而是较麻烦

这里有gluon给的demo,githuaction做的ci

s://githu/gluonhq/hello-gluon-ci

六个平台:linux,macosx,windows,安卓,ios和树莓派(aarch64的linux)

gluon也有对应的文档,你可以参考

总体而言,不是不能做,是较麻烦,将来可能随着graalaot并入openjdk,会愈发简单,但是目前还是较麻烦

然后有了这些,你就可以轻松开发jafx了

ja好就好在这点上,它把用户照顾得很好

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8751.html

分享给朋友:

相关文章

为什么微服务一定要有网关?

为什么微服务一定要有网关?

网关一句话总结,网关的作用是上浮公共逻辑,下沉差异逻辑。公共逻辑就是所有接口都需要做的事,比如权限校验,限流算法等,这样业务就只需要关心业务逻辑即可。下面是一个对比图: 当然除了一些公共逻辑外,路由也是网关的核心功能,它可以进行流量转发。...

鸿蒙到底是不是安卓套壳?

鸿蒙到底是不是安卓套壳?

把它是不是套壳先放在一边吧。我讲一个事情,大家自己判断。华为有一个应用,叫手机管家。这个手机管家对一些系统底层设置有影响:比如华为从 EMUI 9 开始不允许将第三方启动器设置为默认启动器,依靠的就是这个手机管家。为什么这么说呢?在网上搜索...

抖音小店三个月了一单没出,也没有流量,一个星期好像都没有一个点击,怎么办?

抖音小店三个月了一单没出,也没有流量,一个星期好像都没有一个点击,怎么办?

好消息,你有毅力上200多个品,还能坚持三个月坏消息,一单没出我感觉你还是别碰抖店了,甚至电商平台都别碰 你没这个缘分我要是这样,我得用一百辆叉车叉死我自己你如果还想坚持,我直接给你这套至少价值19800学来的新思路简单来说就是 你做的好的...

在追求家居美学的过程中,如何选择一款电视机,使其既具备出色的音画质又能与家居装饰相得益彰?

在追求家居美学的过程中,如何选择一款电视机,使其既具备出色的音画质又能与家居装饰相得益彰?

先看照片,你就说美不美吧?我家这个40平的客厅东西放得不少,其中最提升观感的是各种灯光,在这么多灯光中,是不是第一眼视觉中心就落在了电视上?没错,因为这电视是非常特别的环景光电视,与显示器的神光同步一样,会随着画面的变化而变化不同的光效,它...

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

最近一台买了3年时间的腾讯云轻量服务器到期了,还有5天时间。当时买的价格是3年198元。配置是2核CPU、4GB内存,80GB SSD云硬盘,1200GB 流量包,然后中途给免费升级了CPU,从2核变成了4核。平均下来一年的费用70元不到,...

为什么闲鱼越做越差?

理想的闲鱼:卖家视角:4000块钱买的手机,用了半年不想用了,挂一个3000块,和买家一顿交流,最后2500块成交,我得到了回血,买家得到了便宜;买家视角:想用一台4000块的手机,但是手里只有2500块,来到闲鱼和卖家一顿交流,最后250...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。