迷上 electron 了 http://electron.atom.io/docs/v0.33.0/

2015-09-27 01:44:11 +08:00
 gaitana
做了一个小 demo ,速度真的不慢,启动速度可以媲美本地软件,测试环境: rmbp15' 低配版

atom 慢是因为程序代码渲染几乎是最耗时间的, jetbrains ide 在低端机器上也卡, sublime text 不卡是因为它对代码的渲染复杂度太低。同样是基于 electron 的 visual code 就不慢。

当然体验跟系统原生的软件还是有区别的,内容滚动的时候无法像原生应用那样丝质般顺滑,哪怕是最简单的 textarea 中文字的滚动。

但是,对体验要求不高的应用这种 webkit 封装的技术完全能胜任了,可能这真的是将来桌面软件的方向。
20804 次点击
所在节点    Electron
32 条回复
cvv
2015-09-27 22:34:41 +08:00
explorer 从 98 时代集成了 ie 好多年、 firefox 搞的 xul 也用了小 10 年 , chromium 都出了那么久了

没想到一个 webkit 薄封装把楼主惊着了,楼主对桌面 app 是得有多不敏感…

当年所有人都想用桌面 app 统制 web ,谁也没想到 web 被手机统制了,但是伟大的乔布斯(被拖走…
w88975
2015-09-27 23:05:08 +08:00
w88975
2015-09-28 01:09:21 +08:00
@cvv 仅仅是一个 webkit 封装,这话说的真是,如果是这样,为什么不用 webview 呢,更省事。

electron 主要的是对 Node 的支持以及跨平台的支持,包括丰富的 native api ,包括已经被许多人抛弃的 NWJS.

如果能通过一种非常简单便捷的方式来开发跨平台的 GUI 桌面 app, 为什么不去用呢? 只用学一门 JS, 再或者前端也能开发桌面 APP ,为什么就不能惊艳?
ruchee
2015-09-28 10:40:08 +08:00
@cvv 逻辑混乱,不知所云。用 Web 的技术来开发桌面软件,当然是一个伟大的创新,是对生产力的一次大的解放,楼主惊艳到了不很正常吗
tomwan
2015-09-28 13:12:13 +08:00
有人知道网易音乐 Mac 版是啥做的?里面好像也是网页
cvv
2015-09-28 17:35:19 +08:00
@w88975 你不觉得你是在说 xul 么?
cvv
2015-09-28 17:37:59 +08:00
@ruchee 我只是举例说明这类技术“诞生”过很多次了,你觉得混乱是因为你只知道 electron

楼主想说 webapp 是桌面软件的方向,问题“桌面”本身就已经不是方向了,还谈什么方向啊…
cvv
2015-09-28 17:43:19 +08:00
@w88975 另外更正一下,说 webkit 封装确实有误,应该是 chromium 封装
gaitana
2015-09-28 17:52:25 +08:00
@cvv
1 、 explorer 和 xul 没法跟 electron 比,首先集成 IE 跨平台是问题, xul 的 firefox 内核占有率太低, webkit 内核已经成为事实标准,关键是 webkit 比前两个解析速度快的多的多, atom 和 visual code 很能证明 node+webkit 开发桌面软件的可行性,代码高亮+智能提示几乎是界面编程中最难的部分,能胜任这种应用,说明 node+webkit 完全能胜任一般的桌面开发。

2 、 node+webkit 这种方式几乎是最好的跨平台解决方案了吧, Qt 虽然也跨平台,但不同平台编码还有很大的不同, node+webkit 开发桌面软件, js 运行在 node 和 webkit 里面,几乎不用考虑平台差异,也不用兼容各种浏览器标准, css 和 javascript 都不用考虑平台差异,对前端开发来说这个优点太方便了。
cvv
2015-09-28 18:31:26 +08:00
@gaitana 你说 electron 做 ide 没问题,这个我非常支持,我个人的项目也是用 electron 写用 atom 开发。 java 都证明了能写 ide ,毕竟程序员用应用的忍耐力是无限的,自动化远比速度重要。另外你说代码高亮难,其实编辑器的精髓在无级 cmd+Z 、文本插入和文件读写上,文件体积大了问题就出来了,靠浏览器内置的模型,你不是开玩笑吧。

这问题在个人应用领域会放大很多,因为需要大量输入和人机交互,开发者工具那一套就玩不转了。浏览器渲染这一层本来就是多余的,再加上与 node 交互这一层,性能上还有的救?光有 V8 和 node 可填不平 gui 这个深坑,加上现有 html 标准交互方式太有限,不像 native api 能使用全部系统功能, electron 真的还有很长的路要走。你想如果 web 代替 local 这条路那么好走, vista 就不会失败 ,微软 .net 也不会沦为一个开发框架了。早先 windows 动态桌面干嘛的,很多人都记不起来了吧。现实中用户需要的总是最简单易用的功能加上最快的反应速度,这就是为什么 iPhone 能统治手机市场。 iPhone 硬是把当初一群搞 J2ME 开发的活活逼的去写 Object C 了,这背后不就是性能问题吗。而且一个封闭平台产品能占有市场那么大份额,不觉得跟当初 windows 一样吗?标准化?跨平台?个人用户在乎这些?

可能我前面说的太少了,造成不少 web 应用的拥趸集火,其实我并没有说 electron 不好啊。我跟楼主一样的 15 ‘ rmbp , atom 在我的机器上表现并不好, visual code 更不必说了,响应速度比 eclipse 还糟,要知道 gui 性能可是 java 软肋啊。写了这么多只是想说, electron 是个不错的东西, webapp 也是很好的一种技术。但是这种方式本身体验并不好,方便的只是开发者而已,对个人用户而言没有任何价值。这就像移动领域一样, web 应用用来占领市场,最后都会变成 native 。
allan888
2015-10-07 07:33:41 +08:00
atom 在我的机器上表现并不好, visual code 更不必说了。
你说说 visual code 比 atom 慢?
我就问问你说的这么多,是做过以后发现的坑,还是自己 yy 出来的?
iwuzhuo
2017-07-07 15:58:22 +08:00
@w88975 你好,想想你请假个问题: 我使用 electron-builder 打包的 app, 运行后马上就退出了,如果进入到包内,运行 contents/MacOs/xx 文件,没问题。 想问下你可能是哪儿有问题。 感谢。

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

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

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

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

© 2021 V2EX