这是我给 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 比较难看。大家有什么解决办法么?

15828 次点击
所在节点    问与答
62 条回复
g00001
2018-02-18 20:36:05 +08:00
你说的“只适合个人使用的编程语言” - 在这个世界上并不存在。这个推理本身就有点矛盾。简洁灵活并不是缺点,个人都用不好的编程语言 - 团队也不可能用好。
别看 aardio 只有 5.6MB 这么小的体积,功能并不简单,可以用来写企业 ERP,参考开源项目 https://github.com/carlaau/aardio-erp 可以用来做网站写个论坛都很轻松,例如 http://www.jianma123.com/

然后你所说的,打开随便看了一下,马上就总结出 aardio 不适合用于“实际项目” - 这个把个人开发的项目理解成了一定是不实际的项目,实际上很多优秀的桌面软件都是个人开发的。aardio 历经 14 年的开发,更新活跃,不可能是用来做不实际的项目,这样的话也不可能论坛有几万帖子,大量开源代码,第三方群都有一千多人。

aardio 也算不上是你所说的完全不开源、个人维护的项目。aardio 本身就是一个开放的框架,主要的特性和功能使用开源的标准库提供,要不了几句代码就可以扩展一个模块,类似在 aardio 中嵌入 Java,C#,Python.....这些编程语言,以及嵌入 Webkit,Electron.....这些浏览器控件,这些功能都是由标准库中无保留的开源模块提供的,对于桌面软件,核心开源的语言都容易被研究破解反编译出源代码的,而这对于多数桌面软件是致命的,aardio 出于保护用户软件的目的不开源核心运行时 - 没有什么问题,不开源的桌面开发工具实际上很多。

说到跨平台,对于桌面软件,除了 Windows 其他操作系统的市场占有率可以忽略(例如 electron 跨平台是有代价的 ),并不是所有桌面软件都有必须跨平台的需求。所谓跨平台,也并不一定就要是 100%的跨平台,并不是所有操作系统提供的接口、特性都是完全一样的,实际上单纯的用 electron,像调用 WINAPI 这些简单的事都做不到,aardio 不一样,虽然是嵌入浏览器壳子,在 javascript 里就可以直接调用 WINAPI,非常的方便。

适不合用于“实际项目”,关键看这个“实际项目”是干什么,aardio 的优势就是小,可以使用原来已经熟悉的语言和技术写桌面软件,相比 VC,VB 这种要投入多年时间去学习的开发工具要方便很多。
yaolixing
2018-05-17 06:37:09 +08:00
切可闹,推荐他山混合开发框架,内嵌 gecko v52,支持 xp+,linux,android

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

https://tanronggui.xyz/t/430904

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

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

© 2021 V2EX