Golang Go语言适合写桌面程序吗?

发布于 1周前 作者 yuanlaile 来自 Go语言

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


Golang Go语言适合写桌面程序吗?
71 回复

nwjs

更多关于Golang Go语言适合写桌面程序吗?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


go 的? go 的不清楚…

还不如 Java 吧

qt 的 go 绑定不错

写桌面?跨平台 Qt,Windows .Net ,什么语言好像关系不大吧。

可以用 qt binding,但是。。。感觉不甚好用,还是 pyqt 吧

不适合

写桌面不要追求跨平台

如果因为某些原因非要跨平台那就 Qt

从语言也行而言,适合。但没啥好用的库,所以目前不适合

桌面跨平台,一个 Qt,一个 Electron,选择不多。

goqt,写点小工具还可以。

不适合吧。。。

Qt 资料太少,我推荐 electron

写应用为啥不用 nodejs

每种语言都有适用场景,很明显 C#更适用

用 GopherJS 把 Go 编译成 JS,在 Electron 框架下开发。

我看 Qt 资料挺全的, 请问为什么说少呢? 是因为 Goqt 资料比较少吗?

不合适 之前也折腾调查过一段时间
语言还是做自己擅长领域的事情比较好

electron 在 windows 下不支持 subpixel 抗锯齿,字体都很模糊。

之前用过一段时间 Qt,出现问题之后网上能搜出来的解决方案不多,不像 Electron,因为依赖 js,踩的大部分坑在网上都能迅速找到解决方案。

亲爱的开发者们,如果你们开发的程序有面向 macOS 用户的,能不能不要用 Qt ? macOS 的 Qt 程序:VirtualBox, Wireshark 一个个难看的要死,每次不得不用的时候都是捏着鼻子用。真的好痛苦。

如果只是为 Windows 开发的,那还是用吧。

go 本身就可以跨平台编译,之前有很不错的 gxui,还可以转 Webgl 在浏览器打开。可惜后来没有了

亲爱的开发者们,不论你们开发的程序面向什么用户,能不能不要用 Electron ?每个 Electron 写出来的程序都狂刷进程狂吃内存,简直是觉得用户的电脑仅仅为了运行它而存在。真的好痛苦。

战略关注此贴 非常重要

有没有可能界面和业务逻辑分开写的呢? 虽然理论上一定是分开的

楼主可以写命令行程序,然后用 GUI 去调用,我是用 lazarus 去写 GUI,好处是可以跨平台,坏处是还要单独学 free pascal,而且这个跨平台目前我也没折腾过 osx 下面的程序,不知道有多少坑

另外要写跨平台的程序,重要的一点就是不要用某个程序特有的 API 这一点比选择语言更重要

同意,electron 的应用我是不会安装,电量刷刷刷就没了。



确实碰到过。

不过我发现我 mac 上钉钉做的还行内存占用 70M,cpu 占用是 chrome 的一半,6%左右

QT 资料少???我看 Electron 是所有 GUI 框架里资料最少的吧。

不考虑跨平台,那么久 C#,如果考虑跨平台,那么就 QT,我还是比较喜欢用 C++ 结合 QT 来写客户端

qt 和 C# 别挑了,QT 的官方文档详细的不能再多了

Qt 啊……当年刚工作的时候遇到问题基本只要查 Qt 自己的手册就能解决掉了,于是我以为手册都应该是 Qt 这么全面系统而又详尽的,查阅也应该是这么方便的。然后发现能做到 Qt 这样的好像是凤毛麟角?

我用的小米笔记本,7 带低压版 i5、8G 内内存、256G 固态硬盘,,

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

而 Sublime 和 Qt Creator 开着阅读代码 CPU 占用 1%以内,风扇根本不转,很安静!!

写桌面不用 C# 都闲的么?

不适合。

go 写 cli 还好

用 qml 应该不会太丑,widget 就这样了。。

你是基本上连 Qt 文档都没看过吧,头一次见人说 Qt 资料少的,估计你的标准是可 ctrl+c 的少,即使这样比,electron 也远不及 Qt

我用 c#写跨平台桌面程序,还行

什么都是 Electron…关键是每个都放进去一个 chromium 进分发包里, (就不能本地化一个 Electron 实例,然后每个 Electron 其他的应用都调用这个?)
https://github.com/lxn/walk
https://github.com/andlabs/ui

我是把一个应用分成 2 部分.
1 是功能部分,用跨平台的语言实现;
2 是界面部分,用相应平台的语言实现.

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

好处是可以把功能部分作为服务低消耗持久化运行,坏处是没有控制器(桌面 GUI)的话,改配置挺麻烦的,没有计划滋次命令行参数

我觉得吧,你会用 qt,还用什么 pyqt,goqt 干啥,不累吗? pyqt,goqt 应该适合快速搭建实验性质的平台吧。到关键的地方考虑到效率是不是又要搞原生 c++然后再 wrapper 到 py 或 go ?

如果是产品类的还是直接原生 c++搞起来。

上面说不要用 qt,不要用 electron 的,个人开发者做些东西,总不能三大平台都维护一套 gui 吧,要累死。

但是还有一个方案,做本地网站,开网页访问,完美跨平台,实现也轻松,跑起来也不占很多资源。

用 Go 写 GUI,真的是只剩情怀

跨平台,桌面,首选 Qt

PyQt 吧,会 C++就直接 Qt。
在 Mac 平台下用 PyQt 写过一个小工具,用 PyInstaller 打包后给测试组用,反馈还不错。

go 本身就够难看的了,还能搞出什么好看的 ui

go 启动一个本地的 webserver,然后用默认浏览器打开,相关的东西在网页里显示设置就可以了。

蚂蚁笔记 就是 go 写邪恶 非常不错吧


不是吧,我解压他客户端,发现是 Electron 写的

你是没见过 GTK 的程序… macOS 上面的 Qt 应用比 GTK 应用界面好 10 倍(新版的 Wireshark 也比老版好多了),当然肯定比不上原生就是了

推荐 PyQt 的多半是只会 Python 然后又得做图形界面,没办法只能用 PyQt 了吧。

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

但说实话做和用户直接相关的界面,想用跨平台来偷懒最后多半是得不偿失的。。。

话说用 javafx 很爽(如果不要求现代化审美的界面),标准控件很丰富要啥有啥,绝大多数功能都不用依赖外部的库。

electron 和 java 一样一大坨东西占用资源也多,electron 却火起来了。奈何 java 跨平台 gui 搞了这么多年一直不火,不知道业界在桌面这一块为什么不爱 java。本来天生有缺陷受尽鄙视的 javascript 却时来运转大翻身了,google、facebook、microsoft 都帮助改善 javascript。

能请教一下,jetbrains 家的界面用的是什么? swing ?

之前有看到 transmission-gui 好像就是用这个写的,跨平台

#33 你这个基于 lazarus 的 GUI 写的怎么样呢?

Golang(又称Go语言)确实是一个非常适合用于开发桌面程序的编程语言。尽管它最初是以服务器端和网络编程为主要设计目标,但Go语言的多种特性使其成为开发桌面应用程序的一个有力候选。

首先,Go语言具有出色的性能和并发处理能力,这意味着它能够高效地处理桌面应用程序中可能遇到的多任务场景。其次,Go语言拥有简洁明了的语法和强大的标准库,这使得开发者能够快速地编写出功能丰富的桌面应用。

此外,Go语言的跨平台编译能力也是一个显著优势。使用Go语言编写的桌面程序可以轻松编译为适用于不同操作系统的可执行文件,从而大大简化了开发和部署过程。

在桌面开发框架方面,虽然Go语言没有像Qt或Electron那样成熟的官方框架,但社区已经开发出了许多优秀的第三方库和框架,如Fyne、Walk和Go-GTK等,这些工具为开发者提供了丰富的UI组件和灵活的布局选项。

综上所述,Go语言不仅适合用于开发服务器端和网络应用程序,同时也非常适合用于开发桌面程序。其出色的性能、简洁的语法、强大的标准库以及跨平台编译能力都为桌面应用程序的开发提供了有力支持。如果你正在考虑使用Go语言进行桌面开发,那么可以放心地尝试,相信你会得到满意的结果。

回到顶部