33.2k star!可以将任意网站打包成桌面应用


大家好,我是热爱开源的了不起。

今天想和大家分享一个非常有趣且实用的开源工具——Pake。如果你是一名开发者,或者正在寻找一种快速、轻量的方式将网页应用打包成桌面应用,Pake 可能正是你需要的那款工具。

在过去,我们常常依赖 Electron 来打包桌面应用,虽然它强大且功能丰富,但也伴随着体积庞大、内存占用高等问题。如果你在寻找一个更轻巧的替代方案,Pake 就能有效地解决这些痛点。

项目简介

Pake 是一个基于 Rust 和 Tauri 框架开发的桌面应用打包工具,它能够将网页应用打包成轻量级的桌面应用,并且提供了非常简洁的界面和强大的自定义功能。相比传统的 Electron 套壳打包,Pake 打包出的应用体积小了近 20 倍,内存占用也更加高效。更重要的是,它支持极简风格的定制,满足你的个性化需求。

主要功能

  • 超轻体积:相比 Electron,Pake 打包后的应用只有 5MB 左右,比传统 Electron 应用小了将近 20 倍。
  • 高性能:底层基于 Rust 的 Tauri 框架,性能大幅提升,内存占用更低,运行更加流畅。
  • 定制化:提供多种自定义选项,包括窗口样式改写、快捷键透传、去广告、沉浸式窗口等,帮助你打造极简风格的应用。
  • 支持 PWA:不仅支持传统的桌面应用打包,还能很好地与 PWA(渐进式网页应用)集成,提供更加灵活的选择。
  • 多平台支持:可以生成 Windows、macOS 和 Linux 等平台的桌面应用,满足跨平台开发需求。

无论你是 Windows 用户,还是 macOS 或 Linux 用户,Pake 都能满足你的需求,并帮助你高效地打包桌面应用。

项目安装与使用

使用命令行一键打包

对于开发者而言,Pake 提供了命令行工具,方便你一键打包需要的桌面应用。

安装步骤:

  1. 全局安装 pake-cli

    首先,确保你已经安装了 Node.js 环境,然后通过 npm 安装 Pake 命令行工具:

    1
    npm install -g pake-cli
  2. 使用命令打包应用

    安装完成后,你可以通过简单的命令来打包你的网页应用。例如:

    1
    pake https://www.baidu.com --name baidu --hide-title-bar

    该命令会将指定的 URL(这里是 https://www.baidu.com )打包成一个名为 baidu 的桌面应用,并隐藏标题栏。

    第一次运行时,可能会稍慢一些,因为需要安装依赖。但之后的打包速度会更快。

  3. 使用 GitHub Actions 在线编译

    如果你不熟悉命令行操作,也可以选择通过 GitHub Actions 在线编译多系统版本。只需要查看相关文档,你就可以快速上手。

打包完成后,会在当前目录下生成一个dmg文件:

双击后,就可以看到桌面应用中百度的首页啦:

高级定制开发

对于一些有开发经验的用户,Pake 提供了更为灵活的定制化选项,你可以修改代码来适配自己的需求。

安装依赖

在开始之前,请确保你已经安装了 Rust 和 Node.js 环境:

1
npm i

本地开发

在本地开发时,你可以使用以下命令启动应用,并且通过右键调试模式来查看效果:

1
npm run dev

打包应用

当你完成开发后,使用以下命令来打包应用:

1
npm run build

高级配置

你可以在 src-tauri/pake.json 中修改窗口属性、URL、产品名称等信息。例如,你可以设置窗口的大小、是否全屏、是否支持调整大小等,甚至可以根据需要定制 Mac 的沉浸式窗口样式。

1
2
3
4
5
6
7
8
9
10
{
"windows": {
"width": 800,
"height": 600,
"fullscreen": false,
"resizable": true
},
"productName": "My App",
"url": "https://example.com"
}

此外,Pake 还支持高级功能,如样式改写、去广告、逻辑代码注入、自定义快捷键等,更多细节请参考文档。

总结

Pake 是一款非常轻量级且高效的桌面应用打包工具。它不仅提供了比 Electron 小得多的应用体积,还通过 Rust 和 Tauri 框架带来了更好的性能和更低的内存占用。无论你是小白用户还是开发高手,Pake 都能轻松满足你的需求。而且,作为一款开源工具,它的代码完全公开,支持你进行深度定制。

如果你正在寻找一种快速、高效的方式来打包桌面应用,Pake 绝对值得一试。赶快动手尝试吧,你一定会爱上它!

1
项目地址:https://github.com/tw93/Pake

  目录