• 请不要在回答技术问题时复制粘贴 AI 生成的内容
AX5N
V2EX  ›  程序员

用于开发小工具,有什么 gui 库推荐吗,运行效率优先

  •  
  •   AX5N · Sep 4, 2018 · 6466 views
    This topic created in 2983 days ago, the information mentioned may be changed or developed.

    要求:占用空间 > 性能 > 跨平台 > 开发效率 > 美观

    • 因为都是些极其简单的界面,所以开发效率就不考虑了,不会复杂到哪去。
    • 静态编译后空间占用最好在 500KB 以内,越小越好。
    • 平台以 windows 为主,但保留移植到 MacOS 上的想法。
    • 性能在差别不大的情况下,2 和 3 的优先级可以互换。
    • 对外貌没要求,小工具也做不出花来。

    目前选定 wxWidgets,但感觉国内讨论的不算多,感觉挺符合这几个要求的,但想再听听别的意见。

    33 replies  •  2018-09-05 17:45:42 +08:00
    rb6221
    rb6221
    Sep 4, 2018 via Android
    1
    不知道你说的多小,如果太小的话业务复杂度低,是不是可以考虑放弃性能这块。那我推荐 java🙄
    s127
    s127
    Sep 4, 2018
    2
    1. 既然性能优先,建议不要用跨平台的 GUI 库,楼主说过是极其简单的界面
    2. 如果只是想界面布局简单点,win 可以试试 duilib。
    3. 底下的逻辑层可以使用 c/c++或其他性能优先,且支持跨平台编译的语言
    4. 真要跨平台,还要性能,那试试 QT 吧,只是静态编译 500k 有难度
    PythonAnswer
    PythonAnswer
    Sep 4, 2018 via iPhone
    3
    命令行比较小 好久不写界面了
    geelaw
    geelaw
    Sep 4, 2018 via iPhone❤️1
    4
    裸写 Win32 就是一把梭!

    并且如果你仔细观察 Windows SDK,里面有些 headers 是有关于 Mac 版本的 ifdef 的,说明微软一度允许你用 Win32 开发 Mac 程序(这个是 Visual C++ 4.0 的功能,但现在已经没有了)
    IllBeBack
    IllBeBack
    Sep 4, 2018 via Android
    5
    Delphi 免费版 / Lazarus / Codetyphon
    跨平台,直接拖拽
    thedrwu
    thedrwu
    Sep 4, 2018 via Android
    6
    如果只是常用控件,用 user32.dll 直接撸。空间和性能在 Win 下没有别的方式可以媲美。普通 dialog 用资源文件画,做个 prototype 分分钟的事。其他平台上 link 到 libwine。

    俗称 win32api。
    loading
    loading
    Sep 4, 2018 via iPhone
    7
    loading
    loading
    Sep 4, 2018 via iPhone
    8
    建议 macos 还是单独再开发。
    mmdsun
    mmdsun
    Sep 4, 2018 via Android
    9
    xamarin
    bombless
    bombless
    Sep 4, 2018 via Android
    10
    都用原生不好吗。不过效率方面 direct ui 据说还效率更高,conrod ?
    iwtbauh
    iwtbauh
    Sep 4, 2018 via Android
    11
    wxwidgets 挺好的
    讲真你直接 win32api 蛋疼不说性能提升也是微乎其微。
    没有静态编译这种东西,只有静态链接。lz 有时间重修一下计算机组成原理
    SupperMary
    SupperMary
    Sep 4, 2018 via Android
    12
    ingui
    1daydayde
    1daydayde
    Sep 4, 2018 via iPhone
    13
    qt+python
    0xcb
    0xcb
    Sep 4, 2018 via Android
    14
    imgui
    ysc3839
    ysc3839
    Sep 4, 2018 via Android
    15
    500KB 以内的话估计只能用原生 API 了吧? wxWidgets 没用过不确定体积多大。但 Qt 肯定是超过 500 KB 的。
    zjsxwc
    zjsxwc
    Sep 4, 2018
    16
    还用考虑? C#与 Swift 分别开发呗!
    Droi
    Droi
    Sep 4, 2018
    17
    终端下面的 GUI NCurses 前三个要求能达到,后面两个就算了吧。
    https://sourceforge.net/p/mingw-w64/wiki2/NCurses/

    pyqt5 编成独立运行文件,在 win 下会过 20MB
    lihongjie0209
    lihongjie0209
    Sep 4, 2018
    18
    首先排除任何前端框架
    urmyfaith
    urmyfaith
    Sep 4, 2018
    19
    C#与 Swift 分别开发. +1
    ayang23
    ayang23
    Sep 4, 2018
    20
    小工具 WTL 就不错,反正界面简单,osx 下再做个原生的
    kokutou
    kokutou
    Sep 4, 2018
    21
    python 的 tk,
    然后用 nuitka 编译成可执行文件。。。
    SuperMild
    SuperMild
    Sep 4, 2018
    22
    golang 写服务器,启动后自动打开网页,在右下角任务栏显示图标(参考某灯)。

    占用空间极小,性能爆炸,可跨平台,开发效率中等水平(但你要求也置后),美观可简单也可上前端库搞漂亮。
    SuperMild
    SuperMild
    Sep 4, 2018
    23
    不过 py tk 也是个很不错的选择。(其实现在硬盘容量和带宽都上去了,真没必要追求太小的体积)
    PythonAnswer
    PythonAnswer
    Sep 4, 2018 via iPhone
    24
    能编译成一个大文件吗?记得 tk 要拖着好多目录的
    liuguang
    liuguang
    Sep 4, 2018
    25
    C# wpf 了解一下,可以编译出几十 K 的程序,缺点是需要.net framework,不过 win10 开始,系统已经自带 net framework 了
    pagict
    pagict
    Sep 4, 2018
    26
    记得 fedora 下有个什么包,用 shell 就可以搭简单 gui 了,但是不记得叫啥了。。。
    toono
    toono
    Sep 4, 2018
    27
    直接用 python 的标准库中的 tkinter GUI 库
    pagict
    pagict
    Sep 4, 2018
    28
    #26
    zenity
    encro
    encro
    Sep 4, 2018
    29
    tkinter,
    SuperMild 提到的 lantern 采用的 go web server,类似的有 https://gitee.com/Unknown/gogs。或者自己用 python+pyinstaller 应该也可以
    如果不怕客户端太大的话,就上 electron 吧
    751762476
    751762476
    Sep 4, 2018
    30
    @SuperMild 这个方案挺不错的,只要能写 web 的语言都可以
    ZeoKarl
    ZeoKarl
    Sep 4, 2018
    31
    追求体积,Swift 也可以直接排除了.Swift 需要打包 runtime 环境到 app.起码 40m 起步吧.
    @urmyfaith #19 #19
    @zjsxwc #16 #16
    kikyous
    kikyous
    Sep 4, 2018
    32
    qt
    gamecreating
    gamecreating
    Sep 5, 2018
    33
    qt
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2687 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 87ms · UTC 14:41 · PVG 22:41 · LAX 06:41 · JFK 09:41
    ♥ Do have faith in what you're doing.