wtto WTTO'S BLOG

前端跨平台打包工具整理

Posted on: 2023年3月25日  at 16:28
前端跨平台打包工具整理

前端构建桌面端应用程序,首先想到的是 Electron,但是 Electron 构建的桌面端应用程序有一些缺点无法避免:

  • 包太大,因为 electron 会自动塞入 Chromiumnodejs,一个什么也不做的 electron 项目压缩后也大概要 50m。
  • 内存消耗过大,因为 Chromium 本身就很吃内存,再加上提供操作系统访问能力的 nodejs,很可观的内存消耗,对小工具类的项目不友好。

那么有什么框架可以代替 Electron 吗?

桌面端打包框架

框架前端实现后端实现热度备注
TauriWebView2 (Windows)
WebKit (macOS, iOS, & Linux)
Ruststars文档齐全,有中文
WailsWebView2 (Windows)
WKWebView (macOS)
Gostars中文文档齐全
NeutralinojsWebView2 (Windows)
WKWebView (macOS)
gtk-webkit2 (Linux)
C++stars没有中文文档
electrinoWebView2 (Windows)
WebKit (macOS)
.Netstars不支持 Linux
go-astilectronElectronGostars
ChromelyChromium (CEF).Netstars不维护了

以上的这些框架,基本都是轻量级的 Electron。打包体积大幅减小,但是对于系统级的 API 支持程度没有 Electron 完备。

移动端打包框架

前面说的是一些打包到桌面端的框架,那么打包到移动端的框架有哪些呢?

框架热度备注
React NativestarsFacebook 维护,react
Apache CordovastarsApache 开源组织下的,年代比较久远了
CapacitorstarsIonic Framework 维护,旨在替代 Cordova
uniappstars小程序首选。Native 使用的基于 weex 改进原生渲染引擎
Tarostars支持小程序。Native 使用的 RN

Flutter

另外还有一个要说的就是 Flutter stars,但是他不是 JavaScript 技术栈了。

  • 生态社区繁荣
  • 文档齐备
  • 性能良好
  • 几乎所有平台都支持

有条件的话,推荐首选这个吧。

作者:  wtto
发表时间: 2023年3月25日
最后更新时间:  2024年1月1日
版权说明:  CC BY-NC-ND 4.0 DEED