已知 c++ qt,javaFX,electron,这三个做 linux 桌面开发,能否在多个不同的 linux 桌面版本,直接部署安装环安装软件安装包就能使用?而不特定的,针对性某个 linux 桌面版本修改代码再部署?
除了这个以上方案,还有其他?
gtk?
能在乌邦图或 mint 上直接部署就能运行么?
我没试过,我感觉可以,毕竟 gnome 就是用 gtk 的,ubuntu 用的 gnome,不过听说 gtk 开发起来很头疼
得看你软件功能什么样子的, 如果是视频播放器这种, 可以全平台通用不用管什么桌面, 如果是截图工具这种, 必须得调用系统 or 桌面 api, 那必须得适配不同的桌面, win 和 mac 好解决, linux 就麻烦了 ,各种桌面都得适配
lazarus 推荐下
用 qt 写,然后打包成 appimage,能在主流的 linux 环境跑起来,github 上见过一些软件是这么做的
pyside2 / pyqt5
C#
没有把
linux 肯定是 qt5 啊。
取决于你的需求。
Linux 主要就两大流派,一个 Qt 一个 GTK 。如果你要以 GNOME/XFCE 那一堆为主的话就 GTK,要以 KDE/LxQt 为主的话。主题之类的适配一般不用担心,大家基本上都已经配好了相关的设置。
要能跨发行版部署的话跟用啥框架关系不大,主要是后面的打包的部分。前面有朋友提到的 AppImage 是一种方法,另外的话打包上 flatpak 或者如果你用 Ubuntu 的话也可以 snap,就是最后体积肯定会比本来动态链接的大。传统一点的玩法的话就是把学习各大发行版的打包方式然后建源 /COPR/PPA 之类的,最麻烦但是也最文明(
要省时省力就 Electron,而且 Electron 的话默认就是打成 AppImage 。只是这样的话如果是公开发行的可能会被骂,毕竟是 Electron (
刚刚有一点忘了提了,如果还要跨到非 Linux 平台的话就不要 GTK 了,GTK 在 Linux 以外的地方... 长得挺别致的(((
Qt 吧
javafx 呢
在稍微有点耐心等一等,Flutter 马上就会官方支持 Linux 桌面端了(狗头
Qt 跨平台兼容性、表现性比较好
lazarus +1,如果会 delphi 的话
Delphier 也许可能会选择 Lazarus,其他人是不会的。
但是 Lazarus 比 Qt 好学多了吧
qt 直接用 python && QT 比 l pascal/lazarus 好学多了吧 高分屏的问题 lazarus 有解决办法?
https://github.com/hecrj/iced 这个是 rust 的
Qt
Flutter 现在编写手机应用怎么样?听说某些群的开发员说,用 Flutter 编写应用,还得自己从头绘制一些 ui 组件,如果是这样,这不是很坑爹- -。
electron
electron 吧,省事
Qt 比较成熟,Electron 也很好,其他没了解。
听说 electron 的程序运行所需占用内存比较大
electron 内存占用大,是这样的话,用 electron 开发,需要考虑详细的内存管理优化之类的麻烦事么?
https://wiki.freepascal.org/High_DPI