Neutralino
Neutralino(Neutralinojs)是一个极轻量、可移植的跨平台桌面应用框架:它用系统自带的 WebView 渲染前端(不打包 Chromium),配一个极薄的 C++ 后端二进制(内嵌静态服务器 + 原生能力),前端纯用 JS/HTML/CSS。它最大的差异化在于不需要 Node.js / Rust / Go 等任何额外运行时——Electron/NW.js 要捆绑 Node + Chromium,Tauri 需要 Rust,Wails 需要 Go,而 Neutralino 只有一个 C++ 内核 + 系统能力。代价是产物极小:Hello World 未压缩约 2MB、压缩后约 0.5MB。它兼容任意前端框架(React/Vue/Angular/Svelte/原生 JS),支持 Linux/Windows/macOS 以及浏览器模式。项目较小众(GitHub ≈8.5k star),定位是「更轻但更简」的补充选项,而非要与 Electron/Tauri 全面竞争。
概述
- 定位:极轻量的桌面(+ Web)应用框架,用系统 WebView + 极薄 C++ 后端跑纯 JS/HTML/CSS 前端;主打小体积、零额外运行时。
- 核心架构:前端(系统 WebView)与后端(C++ 二进制)之间用本地 WebSocket 通信,JSON 消息经 UUID 任务池配对;后端内嵌 HTTP 静态服务器交付前端资源。详见架构。
- 原生 API:前端通过
Neutralino.*命名空间(os/filesystem/window/computer/storage/events…)调用原生能力,运行时另有NL_*只读全局变量。详见原生 API 与扩展。 - Extensions(差异化能力):基于 WebSocket 的扩展系统,可用任意语言(Python/Go/Node/C++…)写后端逻辑,不必从源码重编框架。
- 工程化:
neuCLI(create/run/build/update)+neutralino.config.json配置 + 四种运行模式(window / browser / cloud / chrome)。详见 CLI、配置与运行模式。 - 安全:靠
tokenSecurity(WebSocket 令牌策略)+nativeAllowList/nativeBlockList(原生方法白/黑名单)手动收紧,没有 Tauri 那种「默认拒绝」的强权限模型。 - 选型:适合极简小工具、内部工具、对包体积敏感且不需要原生 UI 组件的场景;生态与成熟度弱于 Electron/Tauri。详见对比 Electron / Tauri / Wails。
本叶地图
- 入门 —— Neutralino 是什么、为何极轻量、
neuCLI 起步、第一段代码、心智地图 - 架构 —— 系统 WebView + 极薄 C++ 后端、WebSocket + UUID 任务池、内嵌静态服务器、无额外运行时的取舍
- 原生 API 与扩展 ——
Neutralino.*命名空间、NL_*全局变量、Extensions 任意语言后端与消息协议 - CLI、配置与运行模式 ——
neu命令、neutralino.config.json、tokenSecurity/nativeAllowList安全、window/browser/cloud/chrome 四模式 - 对比 Electron / Tauri / Wails —— 渲染/运行时/体积/权限横向对比、优点与代价、适用场景
- 参考 —— 命名空间 / 全局变量 / CLI / 配置 / 模式 / 对比 / 易错点 速查表 + 权威链接
文档地址
- Neutralino 官网 —— 一手文档入口
- Getting Started —— 安装、创建第一个应用
- API Overview ——
Neutralino.*命名空间总览 - Global Variables ——
NL_*运行时全局变量 - Configuration ——
neutralino.config.json字段说明 - Modes —— 四种运行模式
- Extensions Overview —— 任意语言扩展系统
- GitHub: neutralinojs —— 框架内核仓库