十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Electrobun:用 TypeScript 打造 5 分钟出窗口的跨平台桌面应用完整指南

Electrobun:用 TypeScript 打造 5 分钟出窗口的跨平台桌面应用完整指南 Electrobun用 TypeScript 打造 5 分钟出窗口的跨平台桌面应用完整指南【免费下载链接】electrobunBuild ultra fast, tiny, and cross-platform desktop apps with Typescript.项目地址: https://gitcode.com/GitHub_Trending/el/electrobunElectrobun 是一个面向 TypeScript 的跨平台桌面应用框架主进程和 webview 都用 TypeScript 写打包成单个自解压归档更新只需千字节级增量补丁。这篇文章讲清楚它如何用 Bun 生态与 Zig 解决 Electron 应用包大、启动慢、更新重的老问题。桌面应用动辄 200MB、更新还要全量下载你也烦过吗做桌面工具最劝退的两件事安装包打开就是 186MB用户耐心直接归零改一行界面文案用户还得重新下整包。这是内置整份 Chromium方案的通病运行时太肥更新太重。Electrobun 想解决的就是这个——你只写 TypeScript换来小体积、快启动、以 KB 计的增量更新。 项目全景Electrobun 框架把哪些东西打包给你一句话Electrobun 是构建、更新、发行桌面应用的solution-in-a-box开箱即用方案。它由三块组成Hutch原生构建与工作区 CLI负责装依赖、跑任务、打包Cottontail默认的 JavaScript 运行时以及平台层用 Zig、Objective-C 和 C 编写。官方支持三平台macOS 14、Windows 11、Ubuntu 24.04。⚡ 技术拆解包小、启动快的三个关键点Zig 启动器点击后的第一棒它做了什么拦截双击、拉起真正进程、接管信号与窗口生命周期。怎么做约 700 行 Zig 源码用cImport直调 CreateProcessW 等系统 API不引入重型基础库。为什么快无运行时、编译后二进制小冷启动路径被压到最短。入口在 package/src/launcher/main.zig。自解压包把整个 App 装进一个二进制它做了什么首次启动时把自己内部的 Zstandard 压缩数据解压到本地目录。怎么做靠魔法标记ELECTROBUN_ARCHIVE_V1定位归档边界整个应用就是一个文件。为什么这样做省掉传统安装器与权限弹窗分发体积显著变小。核心代码package/src/extractor/main.zig。TypeScript 主进程 类型化 RPC窗口、菜单、托盘 API 全部是 TypeScript SDK主进程与 webview 隔离靠类型化 RPC带类型约束的跨进程调用通信写法接近函数调用。窗口管理入口package/src/sdks/main/core/BrowserWindow.ts。实测感受千字节更新10 分钟出包官方目标很直白5 分钟开始写代码10 分钟完成分发。几个关键数据点项做法分发自解压单归档Zstandard 压缩更新Zig 优化的 BSDIFF 二进制补丁千字节级补丁不可用时回退全量压缩下载渲染默认用系统 webviewbundleCEF可选捆绑并固定 ChromiumGPUbundleWGPU让 TypeScript 直控原生 GPU 表面官方平台macOS 14 / Windows 11 / Ubuntu 24.04v1 发布四周后仓库 star 增长曲线快速上手3 行命令跑出第一个窗口npx electrobun init # 生成项目并挑选模板 # 想直接看官方示例则克隆仓库 git clone https://gitcode.com/GitHub_Trending/el/electrobun生成项目后跑hutch的 dev 任务即可。最小示例 templates/hello-world/src/bun/index.ts 只有 15 行一个new BrowserWindow就打开主窗口。深度解析Electrobun 的更新包为什么能小到 KB 级更新器是两级策略优先下载二进制补丁——BSDIFF 是只记录变化部分的差异算法Electrobun 用 Zig 做了优化实现——把它打到本地文件上补丁拿不到才下载完整压缩归档。多数场景下用户下载的是 KB 而不是数百 MB仓库里甚至有专门的多版本补丁链生命周期测试package/scripts/test-updater-lifecycle.mjs。谁适合 Electrobun谁不适合适合中小型工具类、内部效率软件、想写 Web 技术栈 UI 但嫌 Electron 太重的团队一份代码覆盖三大主流桌面系统。不适合目标是 Raspberry Pi 或小众 Linux 发行版的用户——那些只是社区支持或非官方分支先验证再投入对 Chromium 行为有深度定制需求的可选bundleCEF但那是用体积换一致性。结语判断它适不适合你最快的方式就是跑一遍npx electrobun init生成模板项目或克隆仓库打开 kitchen/ 跑示例工程。完整 API 与指南见 docs/。【免费下载链接】electrobunBuild ultra fast, tiny, and cross-platform desktop apps with Typescript.项目地址: https://gitcode.com/GitHub_Trending/el/electrobun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表