求教写跨平台的桌面 gui 程序, electron 是不是个好的选择?

2017-12-12 20:31:32 +08:00
 jahan
目前看下来,个人觉得好处好像是,可以直接用网页的 js 代码,很多逻辑可以直接抄袭;
坏处好像这个节点很多人对 electron 嗤之以鼻,可是又没有人总结,也没有人给出更好的解决方案。
是不是 1,安装包太大了? 2,慢?
大家能不能指一条路呢。
20263 次点击
所在节点    Node.js
61 条回复
jahan
2017-12-13 17:33:44 +08:00
@nicevar 非常感谢您的建议。都是写的自己使用的小程序。
edsheeran
2017-12-13 18:24:50 +08:00
qt
jahan
2017-12-13 18:38:49 +08:00
@nicevar 哪里可以看到 qt 或者 qml 的概况、文档,学习路线图?如果有整理过的那就太好了。
droiz
2017-12-13 19:13:12 +08:00
对开发人员来说可能是个好选择,但作为用户我最烦这种软件,除非 vscode,否则一律不用
loading
2017-12-13 19:17:56 +08:00
界面写起来太慢了吧。
srlp
2017-12-13 19:19:07 +08:00
是好选择。实际上需要一套代码跨平台,除了 electron 和 qt 之外也没有什么好选择了。

重点是不要做成浏览器+网页版那种。

楼上各位都说 vscode 好用,那是因为别人“伪装”成桌面应用很用心,而且优化得基本不卡了。

除了效率之外的另一个问题就是确实文件体积很大。

如果不追求跨平台共用代码的话,分别 native 实现当然是最好的,比如 win 上用 c# 撸一个。
srlp
2017-12-13 19:28:50 +08:00
呃,除了 electron 和 qt,你还可以上个 java #滑稽
REB
2017-12-13 19:32:16 +08:00
还有 Java FX( ̄ー ̄)ニヤリ
TangMonk
2017-12-13 19:34:20 +08:00
golang 可以试试
SuperMild
2017-12-13 19:36:01 +08:00
其实自用的小软件,做成服务器加网页的形式就很好,没必要追求 GUI,比如 electron,如果不花很多时间精力去做界面伪装原生软件,也就和打开个网页一模一样,与服务器加网页相比优势不明显,
jahan
2017-12-13 19:38:19 +08:00
@REB 你这里にやり一下,我 特别怕入坑 java
@SuperMild 想着如果越来越大,数据源越来越多,可能也是一个很好的选择。
northisland
2017-12-13 19:42:31 +08:00
Unity
secondwtq
2017-12-14 01:27:53 +08:00
和 Electron 在看起来“主流”的 Web 开发之类圈子火热相对的是,Qt 这东西在 VFX 圈已经无双了 ... Maya,Modo,Nuke,Houdini,Mari,Substance 系列,叫的上名字的,叫不上名字的,打开没个 Qt 都不好意思见人,好像 Max 也换了 Qt 了
这个占有率恐怕能跟 Electron + 浏览器相比,我个人觉得是比 Electron 牛多了
同时这一行现在坠好的语言是 Python,PyQt 和 PySide 当然也跟着鸡犬升天了
当然这些东西对性能的要求比较高,也没啥网络请求,主要是跨平台,风格统一可扩展之类的需求
( Photoshop 和 ZBrush 俩没用 Qt 也没 Linux 版的一旁瑟瑟发抖)

Electron 这东西啥时候能不一个应用都带一个 100 多 M 的 runtime 我就不黑他,浏览器这么一个天然 monolithic 的东西好像解决这个问题很蛋疼 ...
恐怕唯一不介意这么大一块破烂进来的软件只有单机游戏了( http://blog.wolfire.com/2009/07/a-webkit-primer-part-1/)
JerryV2
2017-12-14 08:13:54 +08:00
@secondwtq
好久不用 Qt 了,还以为 Qt 凉了,还好,还好
Akkuman
2017-12-14 10:05:08 +08:00
@evolify golang 哪个界面库比较好用
nicevar
2017-12-14 10:25:40 +08:00
@jahan 我觉得你直接从 PyQt 入手学比较好,找 PyQt5 的教程,英语不差的话直接看 python 官方 wiki 的教程,看完 Qt 的 UI 和信号槽部分就可以入手做了,如果你想从 C++开始把 Qt 一整套全部系统学习,周期比较长,受挫感也强,当然时间够的话也可以,毕竟技多不压身
evolify
2017-12-14 13:42:05 +08:00
@Akkuman 说实话 golang 写界面我只是有了解,据说 go-sciter 不错,也是用 html 写,不过打包差不多就 3M 左右,可以尝试下。大学的时候玩过 mfc 和 wpf,后来实习的时候用 java 写界面,从 swing 到 javafx,感觉 javafx 还不错。再后来自己玩过 nwjs,再到 electron。再后来就搞 web 前端和后台了。感觉 electron 体积确实是个问题,当然如果技术栈用这个或者自己写的玩玩的话就无所谓。
evolify
2017-12-14 13:43:23 +08:00
更正一下,公司技术栈。。。
REB
2017-12-14 14:16:53 +08:00
@jahan 楼主 那个日文看不懂
secondwtq
2017-12-14 23:04:18 +08:00
提到 JavaFX,我今天早上不知道在找什么恰好找到了这贴子
https://reddit.com/r/programming/comments/740bcd/say_no_to_electron_building_a_fast_responsive
里面提到了可以用 Java 9 新的 module system,配合 JavaFX,把 JRE 打包进去

听起来非常“ enterprisey ”,不那么 enterprisey 的是,这套方案应该还没有人用 ...

这贴子里面也有 sciter 作者的回复,感觉很厉害
我也赞同他“ UI needs multiple DSLs ”,以及浏览器的路线和方向是对的,但是执行上出了问题导致不适合做 UI 的看法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/414194

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX