electrobun 使用TypeScript构建超快速、小巧且跨平台的桌面应用程序(待续)

介绍

repo:https://blackboard.sh/blog/electrobun-v1/

Electrobun是一个完整的框架:包括跨平台窗口控件、菜单、快捷键、全局快捷键、剪贴板、对话框、网页视图分区、会话存储、页面内查找功能,以及围绕打包和更新的坚实工具集。

安装

复制代码
bunx electrobun init

import { BrowserWindow } from "electrobun/bun";

const win = new BrowserWindow({
  title: "My App",
  url: "views://mainview/index.html",
});

Electrobun 是一个基于 Bun 运行时、使用 TypeScript 构建跨平台桌面应用的新兴框架,旨在解决 Electron 的"臃肿"与 Tauri 的"复杂"之间的矛盾,为前端开发者提供一种更轻、更快、更简单的开发选择。

核心优势

  1. 轻量高效,体积小巧

    Electrobun 打包后的应用自解压包仅约 ‌12MB ‌,远小于 Electron 动辄上百 MB 的体积。更新时采用 bsdiff 算法,可实现最小 ‌4KB‌ 的增量补丁下载,极大降低分发成本和用户等待时间。

  2. 全栈 TypeScript,开发体验友好

    与 Tauri 要求掌握 Rust 不同,Electrobun 允许开发者全程使用 TypeScript 编写主进程和 WebView 代码,无需学习新语言,特别适合纯前端背景的开发者。

  3. 开箱即用,构建流程一体化

    提供完整的开发工具链,包括构建、测试、代码签名和自动更新机制,减少配置负担。支持极快的构建速度和小型增量更新(最小可达 14KB),提升迭代效率。

  4. 安全与性能兼顾

    • 主进程与 WebView 进程完全隔离,提升安全性
    • 基于 Bun 和 Zig 构建,性能优异
    • 支持类型安全的 RPC 通信机制,增强稳定性
  5. 灵活的前端技术栈支持

    可使用原生 HTML 或现代前端框架(如 Preact、SolidJS)开发界面,并支持系统原生 WebView 或即将推出的 Chromium 引擎选项。

适用场景

  • 快速开发小型工具类应用(如本地 Markdown 编辑器、API 调试工具)
  • 需要频繁小版本更新的商业软件
  • 资源受限但追求高性能的跨平台应用
  • 希望避免 Electron 体积负担又不想学习 Rust 的前端团队

技术依赖与注意事项

Electrobun 强依赖 ‌Bun 运行时‌,虽然 Bun 发展迅速,但在某些边缘场景下的稳定性仍需验证。因此,对于 VS Code 级别的大型企业应用,Electron 仍是更稳妥的选择;若团队具备 Rust 能力且追求极致性能,Tauri 依然占优。


要不要我‌整理一份Electrobun与Electron、Tauri的对比表格‌,帮你快速看清三者的适用边界?

实践

安装

复制代码
# macOS/Linux
curl -fsSL https://bun.sh/install | bash

# Windows (通过 Winget)
winget install oven.bun

如果已经安装好了bun,还可以这样安装

复制代码
bun install electrobun

创建项目

复制代码
bun create electrobun your-app-name
cd your-app-name

bun create electrobun myapp
cd myapp

总结

没搞定,以后再弄

调试

bun create electrobun 报错

(ttsvenv) G:\work>bun create electrobun myapp

error: GET https://registry.npmmirror.com/create-electrobun - 404

可能用bun install的不对,还是用这条语句安装

复制代码
winget install oven.bun

不行,临时使用官方源

复制代码
bun create electrobun myapp --registry https://registry.npmjs.org

不行

尝试换源

在项目文件夹下创建文件**bunfig.toml**,并输入以下内容:

复制代码
[install]
registry = "https://registry.npmmirror.com/"

然后便可以使用安装命令:

复制代码
bun install

结果bun upgrade的时候还是很慢....并提示

复制代码
bun upgrade
Bun v1.3.9 is out! You're on v1.3.6
Downloading [1B/38.77MiB] Bun upgrade failed with error: ConnectionRefused

Please upgrade manually:
  powershell -c 'irm bun.sh/install.ps1|iex'

尝试使用powershell -c 'irm bun.sh/install.ps1|iex'

结果报错

复制代码
powershell -c 'irm bun.sh/install.ps1|iex'
Unable to create process using 'E:\python.exe E:\Scripts\conda-script.py shell.powershell hook'
-=O=-                                                                                                        #       #       #     #          curl: (35) Recv failure: Connection was reset

WARNING: The command 'curl.exe https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64-baseline.zip -o
C:\Users\Admin\.bun\bin\bun-windows-x64-baseline.zip' exited with code 35
Trying an alternative download method...
Install Failed - could not download https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64-baseline.zip
The command 'Invoke-RestMethod https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64-baseline.zip -OutFile C:\Users\Admin\.bun\bin\bun-windows-x64-baseline.zip' exited with code 35

尝试bunx electrobun init 报错

Downloading electrobun CLI for your platform...

Error: Failed to download electrobun CLI: connect ETIMEDOUT 20.205.243.166:443

相关推荐
JiaWen技术圈几秒前
遥测数据定义的生产级落地规范指南
前端
东东吖4 分钟前
塔基保养
前端
放下华子我只抽RuiKe55 分钟前
React 从入门到生产(五):状态管理选型
前端·javascript·人工智能·深度学习·react.js·前端框架·ecmascript
前端若水6 分钟前
使用 IndexedDB 在客户端存储对话记录
java·前端·人工智能·python·机器学习
yqcoder6 分钟前
图片跨域之谜:img 标签真的“畅通无阻”吗
前端·javascript
卸任10 分钟前
为Tiptap富文本编辑器增加Word导出功能
前端·react.js
阿正的梦工坊11 分钟前
【Typescript】06-类型缩小与控制流分析
前端·javascript·typescript
不是山谷.:.12 分钟前
前端零基础入门:WebSocket 全解析
前端·笔记·websocket·状态模式
2501_9400417421 分钟前
全栈开发实战:5个高复杂度后端集成场景
前端
蝎子莱莱爱打怪23 分钟前
👋🏻👋🏻再见,拉勾网——那个"最懂互联网人"的招聘平台倒了😭
前端·后端·招聘