The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
erming

go 语言适合写桌面程序吗?

  •  
  •   erming · Feb 8, 2018 · 9222 views
    This topic created in 3196 days ago, the information mentioned may be changed or developed.

    跨平台的有吗?推荐几个看看

    70 replies  •  2020-05-20 13:39:08 +08:00
    duan602728596
    duan602728596
    Feb 8, 2018 via iPhone
    1
    nwjs
    duan602728596
    duan602728596
    Feb 8, 2018 via iPhone
    2
    go 的? go 的不清楚......
    WildCat
    WildCat
    Feb 8, 2018 via iPhone
    3
    还不如 Java 吧
    looplj
    looplj
    Feb 8, 2018
    6
    qt 的 go 绑定不错
    deali
    deali
    Feb 8, 2018
    7
    写桌面?跨平台 Qt,Windows .Net ,什么语言好像关系不大吧。
    boboliu
    boboliu
    Feb 8, 2018
    8
    可以用 qt binding,但是。。。感觉不甚好用,还是 pyqt 吧
    matsuz
    matsuz
    Feb 8, 2018 via iPhone
    9
    不适合
    matsuz
    matsuz
    Feb 8, 2018 via iPhone
    10
    写桌面不要追求跨平台

    如果因为某些原因非要跨平台那就 Qt
    sammo
    sammo
    Feb 8, 2018 via iPhone
    11
    java swing
    wweir
    wweir
    Feb 8, 2018 via Android
    12
    从语言也行而言,适合。但没啥好用的库,所以目前不适合
    freedomSky
    freedomSky
    Feb 8, 2018 via iPhone
    13
    还不如 py
    SuperMild
    SuperMild
    Feb 8, 2018❤️1
    14
    桌面跨平台,一个 Qt,一个 Electron,选择不多。
    KiriGiri
    KiriGiri
    Feb 8, 2018 via Android
    15
    goqt,写点小工具还可以。
    Muninn
    Muninn
    Feb 8, 2018
    16
    放弃吧
    peterpei
    peterpei
    Feb 8, 2018 via Android
    17
    不适合吧。。。
    timothyye
    timothyye
    Feb 8, 2018 via Android
    18
    electron +1
    searene
    searene
    Feb 8, 2018
    19
    Qt 资料太少,我推荐 electron
    linnn2
    linnn2
    Feb 8, 2018 via Android
    20
    写应用为啥不用 nodejs
    Devin
    Devin
    Feb 8, 2018 via iPhone
    21
    每种语言都有适用场景,很明显 C#更适用
    AV1
    AV1
    Feb 8, 2018
    22
    用 GopherJS 把 Go 编译成 JS,在 Electron 框架下开发。
    ivechan
    ivechan
    Feb 8, 2018
    23
    @searene 我看 Qt 资料挺全的, 请问为什么说少呢? 是因为 Goqt 资料比较少吗?
    Immortal
    Immortal
    Feb 8, 2018
    24
    不合适 之前也折腾调查过一段时间
    语言还是做自己擅长领域的事情比较好
    Qzier
    Qzier
    Feb 8, 2018 via iPad
    25
    还是 pyqt 吧
    Qzier
    Qzier
    Feb 8, 2018 via iPad
    26
    electron 在 windows 下不支持 subpixel 抗锯齿,字体都很模糊。
    searene
    searene
    Feb 9, 2018
    27
    @ivechan 之前用过一段时间 Qt,出现问题之后网上能搜出来的解决方案不多,不像 Electron,因为依赖 js,踩的大部分坑在网上都能迅速找到解决方案。
    ptyfork
    ptyfork
    Feb 9, 2018
    28
    亲爱的开发者们,如果你们开发的程序有面向 macOS 用户的,能不能不要用 Qt ? macOS 的 Qt 程序:VirtualBox, Wireshark 一个个难看的要死,每次不得不用的时候都是捏着鼻子用。真的好痛苦。

    如果只是为 Windows 开发的,那还是用吧。
    yech1990
    yech1990
    Feb 9, 2018 via Android
    29
    go 本身就可以跨平台编译,之前有很不错的 gxui,还可以转 Webgl 在浏览器打开。可惜后来没有了
    xupefei
    xupefei
    Feb 9, 2018❤️14
    30
    亲爱的开发者们,不论你们开发的程序面向什么用户,能不能不要用 Electron ?每个 Electron 写出来的程序都狂刷进程狂吃内存,简直是觉得用户的电脑仅仅为了运行它而存在。真的好痛苦。
    cchange
    cchange
    Feb 9, 2018
    31
    战略关注此贴 非常重要
    cchange
    cchange
    Feb 9, 2018
    32
    有没有可能界面和业务逻辑分开写的呢? 虽然理论上一定是分开的
    loginv2
    loginv2
    Feb 9, 2018 via Android
    33
    楼主可以写命令行程序,然后用 GUI 去调用,我是用 lazarus 去写 GUI,好处是可以跨平台,坏处是还要单独学 free pascal,而且这个跨平台目前我也没折腾过 osx 下面的程序,不知道有多少坑
    loginv2
    loginv2
    Feb 9, 2018 via Android
    34
    另外要写跨平台的程序,重要的一点就是不要用某个程序特有的 API 这一点比选择语言更重要
    iPhone8
    iPhone8
    Feb 9, 2018
    35
    @xupefei 同意,electron 的应用我是不会安装,电量刷刷刷就没了。
    aqtata
    aqtata
    Feb 9, 2018
    36
    不适合。
    zjsxwc
    zjsxwc
    Feb 9, 2018
    37
    @iPhone8

    确实碰到过。

    不过我发现我 mac 上钉钉做的还行内存占用 70M,cpu 占用是 chrome 的一半,6%左右
    wizardforcel
    wizardforcel
    Feb 9, 2018
    38
    @searene QT 资料少???我看 Electron 是所有 GUI 框架里资料最少的吧。
    xavier007
    xavier007
    Feb 9, 2018
    39
    不考虑跨平台,那么久 C#,如果考虑跨平台,那么就 QT,我还是比较喜欢用 C++ 结合 QT 来写客户端
    qsnow6
    qsnow6
    Feb 9, 2018
    40
    qt 和 C# 别挑了,QT 的官方文档详细的不能再多了
    jeffersonpig
    jeffersonpig
    Feb 9, 2018
    41
    Qt 啊……当年刚工作的时候遇到问题基本只要查 Qt 自己的手册就能解决掉了,于是我以为手册都应该是 Qt 这么全面系统而又详尽的,查阅也应该是这么方便的。然后发现能做到 Qt 这样的好像是凤毛麟角?
    XIVN1987
    XIVN1987
    Feb 9, 2018❤️1
    42
    我用的小米笔记本,7 带低压版 i5、8G 内内存、256G 固态硬盘,,

    vscode 只要打开、就算什么都不做,CPU 也一直占用 5%左右,然后笔记本小风扇就开始转了

    而 Sublime 和 Qt Creator 开着阅读代码 CPU 占用 1%以内,风扇根本不转,很安静!!
    yejinmo
    yejinmo
    Feb 9, 2018
    44
    写桌面不用 C# 都闲的么?
    male110
    male110
    Feb 9, 2018
    45
    不适合。
    chenuu
    chenuu
    Feb 9, 2018
    46
    go 写 cli 还好
    KaoN
    KaoN
    Feb 9, 2018 via Android
    47
    @ptyfork 用 qml 应该不会太丑,widget 就这样了。。
    nicevar
    nicevar
    Feb 9, 2018
    48
    @searene 你是基本上连 Qt 文档都没看过吧,头一次见人说 Qt 资料少的,估计你的标准是可 ctrl+c 的少,即使这样比,electron 也远不及 Qt
    jeremaihloo
    jeremaihloo
    Feb 9, 2018
    49
    我用 c#写跨平台桌面程序,还行
    run2
    run2
    Feb 9, 2018
    50
    什么都是 Electron...关键是每个都放进去一个 chromium 进分发包里, (就不能本地化一个 Electron 实例,然后每个 Electron 其他的应用都调用这个?)
    https://github.com/lxn/walk
    https://github.com/andlabs/ui
    ragnaroks
    ragnaroks
    Feb 9, 2018
    51
    我是把一个应用分成 2 部分.
    1 是功能部分,用跨平台的语言实现;
    2 是界面部分,用相应平台的语言实现.

    举个例子,我的私人机场,功能用.net core 实现,额外开个 socket 响应通信,对应平台则用 wpf/qt 等实现桌面 GUI 控制器部分.

    好处是可以把功能部分作为服务低消耗持久化运行,坏处是没有控制器(桌面 GUI)的话,改配置挺麻烦的,没有计划滋次命令行参数
    shiweifu
    shiweifu
    Feb 9, 2018
    52
    https://github.com/asticode/go-astilectron
    一个基于 Electron 的封装
    dychenyi
    dychenyi
    Feb 9, 2018
    53
    我觉得吧,你会用 qt,还用什么 pyqt,goqt 干啥,不累吗? pyqt,goqt 应该适合快速搭建实验性质的平台吧。到关键的地方考虑到效率是不是又要搞原生 c++然后再 wrapper 到 py 或 go ?

    如果是产品类的还是直接原生 c++搞起来。
    SuperMild
    SuperMild
    Feb 9, 2018 via iPad
    54
    上面说不要用 qt,不要用 electron 的,个人开发者做些东西,总不能三大平台都维护一套 gui 吧,要累死。

    但是还有一个方案,做本地网站,开网页访问,完美跨平台,实现也轻松,跑起来也不占很多资源。
    chai2010
    chai2010
    Feb 9, 2018
    55
    用 Go 写 GUI,真的是只剩情怀
    JerryV2
    JerryV2
    Feb 9, 2018
    56
    跨平台,桌面,首选 Qt
    leeoo
    leeoo
    Feb 9, 2018
    57
    PyQt 吧,会 C++就直接 Qt。
    在 Mac 平台下用 PyQt 写过一个小工具,用 PyInstaller 打包后给测试组用,反馈还不错。
    feverzsj
    feverzsj
    Feb 9, 2018
    58
    go 本身就够难看的了,还能搞出什么好看的 ui
    hdczsf
    hdczsf
    Feb 9, 2018
    59
    go 启动一个本地的 webserver,然后用默认浏览器打开,相关的东西在网页里显示设置就可以了。
    Hoozy
    Hoozy
    Feb 9, 2018
    60
    蚂蚁笔记 就是 go 写邪恶 非常不错吧
    zjsxwc
    zjsxwc
    Feb 9, 2018
    61
    @Hoozy
    不是吧,我解压他客户端,发现是 Electron 写的
    l1093178
    l1093178
    Feb 9, 2018
    62
    @ptyfork 你是没见过 GTK 的程序... macOS 上面的 Qt 应用比 GTK 应用界面好 10 倍(新版的 Wireshark 也比老版好多了),当然肯定比不上原生就是了
    jhdxr
    jhdxr
    Feb 9, 2018
    63
    推荐 PyQt 的多半是只会 Python 然后又得做图形界面,没办法只能用 PyQt 了吧。

    在看过 jetbrains 家的产品后我觉得其实 java 写跨平台的 UI 也不错

    但说实话做和用户直接相关的界面,想用跨平台来偷懒最后多半是得不偿失的。。。
    SuperMild
    SuperMild
    Feb 9, 2018
    64
    @jhdxr 话说用 javafx 很爽(如果不要求现代化审美的界面),标准控件很丰富要啥有啥,绝大多数功能都不用依赖外部的库。

    electron 和 java 一样一大坨东西占用资源也多,electron 却火起来了。奈何 java 跨平台 gui 搞了这么多年一直不火,不知道业界在桌面这一块为什么不爱 java。本来天生有缺陷受尽鄙视的 javascript 却时来运转大翻身了,google、facebook、microsoft 都帮助改善 javascript。
    deadofpeople
    deadofpeople
    Feb 9, 2018
    65
    关注一下
    winstars
    winstars
    Feb 9, 2018
    66
    @jhdxr 能请教一下,jetbrains 家的界面用的是什么? swing ?
    bird8848
    bird8848
    Feb 9, 2018
    67
    @loginv2 之前有看到 transmission-gui 好像就是用这个写的,跨平台
    AmrtaShiva
    AmrtaShiva
    May 20, 2020
    70
    @loginv2 #33 你这个基于 lazarus 的 GUI 写的怎么样呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   921 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 121ms · UTC 20:49 · PVG 04:49 · LAX 12:49 · JFK 15:49
    ♥ Do have faith in what you're doing.