V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
tctc4869
V2EX  ›  Linux

Linux 桌面开发用什么?

  •  
  •   tctc4869 · 2020-05-25 13:49:47 +08:00 · 8460 次点击
    这是一个创建于 1643 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已知 c++ qt,javaFX,electron,这三个做 linux 桌面开发,能否在多个不同的 linux 桌面版本,直接部署安装环安装软件安装包就能使用?而不特定的,针对性某个 linux 桌面版本修改代码再部署?

    除了这个以上方案,还有其他?

    33 条回复    2024-08-09 15:16:46 +08:00
    tt67wq
        1
    tt67wq  
       2020-05-25 13:51:28 +08:00
    gtk?
    tctc4869
        2
    tctc4869  
    OP
       2020-05-25 13:53:50 +08:00
    @tt67wq 能在乌邦图或 mint 上直接部署就能运行么?
    tt67wq
        3
    tt67wq  
       2020-05-25 13:56:14 +08:00
    @tctc4869 #2 我没试过,我感觉可以,毕竟 gnome 就是用 gtk 的,ubuntu 用的 gnome,不过听说 gtk 开发起来很头疼
    wujieyuan
        4
    wujieyuan  
       2020-05-25 13:59:36 +08:00
    得看你软件功能什么样子的, 如果是视频播放器这种, 可以全平台通用不用管什么桌面, 如果是截图工具这种, 必须得调用系统 or 桌面 api, 那必须得适配不同的桌面, win 和 mac 好解决, linux 就麻烦了 ,各种桌面都得适配
    TangMonk
        5
    TangMonk  
       2020-05-25 14:00:17 +08:00
    lazarus 推荐下
    superrichman
        6
    superrichman  
       2020-05-25 14:03:38 +08:00 via iPhone
    用 qt 写,然后打包成 appimage,能在主流的 linux 环境跑起来,github 上见过一些软件是这么做的
    jin7
        7
    jin7  
       2020-05-25 14:05:12 +08:00
    pyside2 / pyqt5
    clemente0620
        8
    clemente0620  
       2020-05-25 14:19:22 +08:00
    C#
    tctc4869
        9
    tctc4869  
    OP
       2020-05-25 14:24:45 +08:00
    @clemente0620 没有把
    qq7790586
        10
    qq7790586  
       2020-05-25 15:14:44 +08:00
    linux 肯定是 qt5 啊。
    RedL0tus
        11
    RedL0tus  
       2020-05-25 15:34:22 +08:00 via Android
    取决于你的需求。

    Linux 主要就两大流派,一个 Qt 一个 GTK 。如果你要以 GNOME/XFCE 那一堆为主的话就 GTK,要以 KDE/LxQt 为主的话。主题之类的适配一般不用担心,大家基本上都已经配好了相关的设置。

    要能跨发行版部署的话跟用啥框架关系不大,主要是后面的打包的部分。前面有朋友提到的 AppImage 是一种方法,另外的话打包上 flatpak 或者如果你用 Ubuntu 的话也可以 snap,就是最后体积肯定会比本来动态链接的大。传统一点的玩法的话就是把学习各大发行版的打包方式然后建源 /COPR/PPA 之类的,最麻烦但是也最文明(

    要省时省力就 Electron,而且 Electron 的话默认就是打成 AppImage 。只是这样的话如果是公开发行的可能会被骂,毕竟是 Electron (
    RedL0tus
        12
    RedL0tus  
       2020-05-25 15:35:27 +08:00 via Android
    刚刚有一点忘了提了,如果还要跨到非 Linux 平台的话就不要 GTK 了,GTK 在 Linux 以外的地方... 长得挺别致的(((
    kios
        13
    kios  
       2020-05-25 15:41:35 +08:00
    Qt 吧
    armoni
        14
    armoni  
       2020-05-25 15:45:00 +08:00
    javafx 呢
    KeyboardManAnAn
        15
    KeyboardManAnAn  
       2020-05-25 15:45:12 +08:00
    在稍微有点耐心等一等,Flutter 马上就会官方支持 Linux 桌面端了(狗头
    DoctorCat
        16
    DoctorCat  
       2020-05-25 17:32:57 +08:00
    Qt 跨平台兼容性、表现性比较好
    kylix
        17
    kylix  
       2020-05-25 17:56:02 +08:00
    @TangMonk lazarus +1,如果会 delphi 的话
    visli
        18
    visli  
       2020-05-25 18:21:57 +08:00
    Delphier 也许可能会选择 Lazarus,其他人是不会的。
    TangMonk
        19
    TangMonk  
       2020-05-25 18:28:12 +08:00
    @visli #18 但是 Lazarus 比 Qt 好学多了吧
    jin7
        20
    jin7  
       2020-05-25 19:03:13 +08:00
    @TangMonk #19
    qt 直接用 python && QT 比 l pascal/lazarus 好学多了吧 高分屏的问题 lazarus 有解决办法?
    clino
        21
    clino  
       2020-05-25 19:46:02 +08:00 via Android
    paoqi2048
        22
    paoqi2048  
       2020-05-26 10:02:04 +08:00
    Qt
    tctc4869
        23
    tctc4869  
    OP
       2020-05-26 10:19:30 +08:00
    @KeyboardManAnAn Flutter 现在编写手机应用怎么样?听说某些群的开发员说,用 Flutter 编写应用,还得自己从头绘制一些 ui 组件,如果是这样,这不是很坑爹- -。
    darknoll
        24
    darknoll  
       2020-05-26 11:43:44 +08:00
    electron
    rainfd
        25
    rainfd  
       2020-05-26 14:06:48 +08:00
    electron 吧,省事
    Chenamy2017
        26
    Chenamy2017  
       2020-05-26 14:34:22 +08:00
    Qt 比较成熟,Electron 也很好,其他没了解。
    tctc4869
        27
    tctc4869  
    OP
       2020-05-27 17:09:04 +08:00
    @rainfd 听说 electron 的程序运行所需占用内存比较大
    tctc4869
        28
    tctc4869  
    OP
       2020-05-27 17:09:58 +08:00
    @darknoll
    @rainfd electron 内存占用大,是这样的话,用 electron 开发,需要考虑详细的内存管理优化之类的麻烦事么?
    TangMonk
        29
    TangMonk  
       2020-06-01 13:57:06 +08:00
    jetkeey
        30
    jetkeey  
       2023-07-18 11:19:51 +08:00
    @KeyboardManAnAn 3 年过去了,现在怎么样了呢?
    durban126
        31
    durban126  
       2023-09-01 12:14:45 +08:00
    @jetkeey 我也想问
    wacxr123
        32
    wacxr123  
       214 天前
    4 年过去了,现在怎么样了呢
    cyberniuniu
        33
    cyberniuniu  
       106 天前
    gtk4 现在跨平台主题也不错,至于 qt6 ,还是主推 qml ,qtwidget 已经不更新了,就那个样了。javafx 也还行,java swing 还能在搞搞,换个好点的 laf 主题就不错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1321 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:50 · PVG 01:50 · LAX 09:50 · JFK 12:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.