这是我给 Electron 开的减肥药,你觉得行么?

2018-02-16 07:27:47 +08:00
 gowl

Electron App 的大小一般在 100MB+,压缩后一般在 50MB+。我们假设这个体积比较大,受不了;另外假设我们想用 HTML + CSS 的方式来构建跨平台 UI,而不是使用 Native 的解决方案,并且。那么为了给这种 App 瘦身,可不可以这么做:

一个 Apache 服务器差不多 2MB 左右。打包一个处理动态请求的服务模块假设十几 MB 大小。这样我们可以做一个可以分发到客户端的 web 服务。并且这个东西的大小在 20 MB 左右,这是可以接受的。然后用户通过 http://localhost:1234/app 这样的地址通过本地浏览器来访问。

这样做完其实就跟 Electron 没什么关系了,不过还是拿他来做比较。另外假设我们想要的是能用 HTML 做 UI,而不一定要用 JS 来完成整个 app。

我能想到的缺点是用户浏览器里的 localhost:mnxy 比较难看。大家有什么解决办法么?

15770 次点击
所在节点    问与答
62 条回复
x86vk
2018-02-16 09:01:04 +08:00
你这么搞 不如用 qt 加上 qwebkit 算了
873681136
2018-02-16 09:02:22 +08:00
electron 不只是浏览器
x86vk
2018-02-16 09:02:27 +08:00
@x86vk s/qwebkit/QWebEngine
sagaxu
2018-02-16 09:09:27 +08:00
我做过类似的,没用 apache,采用了 Go 自带的 http 服务,带业务逻辑,strip 之后大概 5MB 左右。Go 是可以帮用户打开浏览器的,不需要手动输入。如果用户能接受安装个 JRE,那就更方便了,用 JavaFX 内置的 webview。
plqws
2018-02-16 09:16:21 +08:00
楼主用过 Web 迅雷吗?
huiyifyj
2018-02-16 09:31:33 +08:00
但这样用起来还是不好,浏览器毕竟不能像 node 一样调研 js 更多的接口吧(文件读写之类的)。而且兼容性也是问题。还有就是窗口设置问题之类的啊。
gowl
2018-02-16 09:44:58 +08:00
@plqws 怎么了,亲?
gowl
2018-02-16 09:49:02 +08:00
@SourceMan
@binux 解决了什么问题啊?
qdwang
2018-02-16 09:54:27 +08:00
什么年代了 100mb 根本不大,就和以前 1m 差不多
nicevar
2018-02-16 10:03:11 +08:00
难看不是问题,是难用,反应总慢半拍,只要同类应用有原生的就不会考虑
binux
2018-02-16 10:20:28 +08:00
@gowl Build cross platform desktop apps with JavaScript, HTML, and CSS
gowl
2018-02-16 10:22:50 +08:00
@qdwang 虽然在家里下 100mb 大概需要一秒钟,但是体积总是越小越好,有时候,比如在火车上,网速就差多了。还有一个问题不是下载,而是电脑里同时运行几个 webkit 的程序,总觉得浪费资源和电
gowl
2018-02-16 10:25:11 +08:00
@nicevar 把网页做轻一点应该就会延时很小了,这个我再探索探索~
chocotan
2018-02-16 10:32:05 +08:00
我电脑里装的软件占用空间排名前几的有好几个都是 electron 做的......
tabris17
2018-02-16 10:46:54 +08:00
我想你对 electron 有什么误解
my101du
2018-02-16 10:59:54 +08:00
如果能有某种技术极大简化原生语言开发的过程和优化开发体验,并在界面库选择上能像前端一样百花齐放,让开发者高效率开发原生应用。大部分人压根不想使用 electron 做的软件,卡 慢 大。

我的疑问是,electron 开发的软件一运行就是 500 600m 内存,真的没有办法从底层优化?还是在开发效率方面没有对手,所以没有动力去优化运行效率。
feather12315
2018-02-16 11:19:23 +08:00
@my101du #36 还有很多内存泄漏
bookit
2018-02-16 11:23:33 +08:00
对于业界这些潮流、动向,只能默默抵制。
sobigfish
2018-02-16 11:26:11 +08:00
变 bs 架构 最大的问题就是你的服务器抗的住么
收不收费都会很难搞
gowl
2018-02-16 11:34:25 +08:00
@sobigfish 服务器软件是在用户的电脑上。整个 app 是不用联网的

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

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

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

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

© 2021 V2EX