NodeJS&&Electron 真的太好用了,推荐~!

2019-09-20 09:52:51 +08:00
 Marstin

需求是一个跨平台的桌面应用程序
技术栈 java,原计划用 swing 实现,但是实际开发起来才发现难度不是一般大,很难实现一些动态灵活的页面效 果,还需要细致地调整页面组件布局。90%的时间都浪费在写 view。这样的工作量安排大概是 60 工作日 后来经同学推荐,尝试使用 Electron,真的太舒服了,完全以前端形式来写 GUI 工具,两周 不到就做完了。
总结一下,对于后端技术选型采用 Electron 有以下优缺点:

优点

1、GUI 相关模块已经封装好,可以专心写业务
2、运行于 V8 引擎,可跨平台使用
3、页面展示可完全使用现有的前端开发模式,有丰富的社区和资源供使用
4、自动更新
5、最大优点,大大减少开发周期

缺点

1、需要有一定的 Node 和前端知识储备
2、由于集成的核心功能,打包后的应用很大,空项目也有 90MB 左右
3、性能相对于 MFC 和 swing 有差距
4、业务模块中无法直接操作 GUI (基于资源泄露问题设计)
5、搭建开发环境过程相当复杂,从安装到开发、测试、部署,基本全靠命令行,尤其是打包工具的部分依赖包极难下载
6、对于部署程序的系统版本有一定要求,可能会缺失相应的库,需要手动加入

综上所述,大力推荐就完了

6810 次点击
所在节点    分享发现
36 条回复
Marstin
2019-09-20 14:01:59 +08:00
@artandlol electron-forge init 是脚手架,跨平台打包是用 electron-builder
Marstin
2019-09-20 14:15:21 +08:00
@hoyixi 还有一个很现实的问题是现在多数用户都不太能接受桌面应用,近几年入行的,很多人可能都没做过桌面应用,都已经适应了 B/S 架构。话说你说的这个现象,最典型的是游戏吧
@yautou 请问是基于什么原因考虑的呢?新的技术选型是?借鉴一下= =
guokeke
2019-09-20 14:18:04 +08:00
你们不要总是打击新人的积极性,16 年的时候你们不也很激动吗?
Marstin
2019-09-20 14:20:14 +08:00
@nVoxel 按照官方的描述,是的
`VS Code is using the Electron framework to run on multiple platforms`
Counter
2019-09-20 14:28:48 +08:00
@misaka19000
@quqiuzhu
@memedahui
@qiutianaimeili
你们是说楼主的方案落后吗?
顺便问下现在跨平台的桌面应用程序应该用什么方案
memedahui
2019-09-20 14:37:37 +08:00
@Counter JAVA GUI (逃
jon
2019-09-20 14:49:38 +08:00
感谢大侠的推荐
wm5d8b
2019-09-20 20:06:28 +08:00
我也很好奇你们说 electron 落后的,都是用什么方案。难道人均 flutter 吗?
ezreal
2019-09-20 22:53:15 +08:00
刚写了个聊天工具
ShareManT
2019-09-21 10:46:40 +08:00
@fatelight Xmind Zen 无法开结点比较多的思维导图,java 版的这点上还是要好很多。
pC0oc4EbCSsJUy4W
2019-09-21 11:37:19 +08:00
@ShareManT 估计我轻度使用吧
SilentDepth
2019-09-21 13:10:42 +08:00
「成也 Node,败也 Node 」
sobigfish
2019-09-21 14:03:58 +08:00
真的不喜欢 Electron,一堆硬件公司是缺人的么居然也用 Electron: SteelSeries, 还有 ea 的 origin (当然这个不是硬件公司—-) 真的慢、卡、低效
g0thic
2019-09-21 15:32:59 +08:00
哇 谢谢 楼主推荐 我还在用 NW.js🐶
2kCS5c0b0ITXE5k2
2019-09-22 21:49:57 +08:00
天翼 3g 太快拉 推荐
zhuwd
2019-10-09 13:22:49 +08:00
请问自动更新是全量更新还是差异更新

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

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

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

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

© 2021 V2EX