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

相关推荐
const_qiu44 分钟前
第一章 1.1-1.2:基础模型调用与 TypeScript 入门 —— Java 开发者的视角
java·javascript·typescript
风骏时光牛马1 小时前
用户管理模块接口开发
前端
彭亚川Allen1 小时前
从零手搓 RAG 之检索全流程,给大模型接上自己的知识库
前端·后端·ai编程
IT_陈寒1 小时前
别让Java字符串拼接偷偷吃掉你的内存
前端·人工智能·后端
软件技术NINI2 小时前
圣罗兰彩妆html+css 4页
前端·css·html
2601_951615202 小时前
网站模板 网站网页模板下载
前端·网络·html
酷炫码神3 小时前
Day 1|HTML5:一个商城首页的骨架,从 DOCTYPE 到语义化
前端·html·html5
AI源码3 小时前
鲜花商城(HTML 版)
前端·html
hiahiahia1233 小时前
Message 和对话
服务器·前端·数据库
溪语流沙4 小时前
【Web全栈进阶】Composition API与组件通信:props深入、emit、插槽
前端·css·vue.js