首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  程序员

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

  •  
  •   AX5N · 75 天前 · 2600 次点击
    这是一个创建于 75 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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