Neutralinojs
开源跨平台桌面应用框架,用 HTML、CSS 和 JavaScript 写界面,不打包 Chromium 与 Node.js,成品约 2MB,适合已会写网页、想把页面变成桌面程序又在意安装包体积的前端开发者。
Neutralinojs 是一个用来做桌面应用的框架,写法和做网页差不多:界面用 HTML、CSS,逻辑用 JavaScript。它和 Electron、NW.js 解决的是同一类问题,区别在于它不把 Chromium 和 Node.js 塞进安装包,而是调用操作系统自带的浏览器内核,比如 Linux 上的 gtk-webkit2。原生操作通过一条 WebSocket 连接完成,框架内部还带一个静态 Web 服务器来提供页面内容。
主要功能
内置的 JavaScript API 能直接调系统能力:读写文件、执行命令、弹出原生对话框。前端框架不限,Angular、React、Svelte、Vue 都能接进去,热更新照常可用。后端语言也不绑定,可以通过子进程 IPC 把 Neutralinojs 嵌进别的程序,或者用扩展 IPC 给它加新接口。命令行工具 neu 负责创建项目、运行和打包,安装方式是 npm install -g @neutralinojs/neu。
体积与平台
官方给出的数字是:未压缩的简单应用约 2MB,压缩后约 0.5MB。同一份应用可以跑在 Linux、Windows、macOS 上,也能在浏览器和 Chrome 里运行。开发时不需要编译器,在一个平台上就能构建所有平台的版本。
适合谁
适合已经会写网页、想把它变成桌面程序,又在意安装包大小和内存占用的人。如果项目重度依赖 Node.js 生态里的模块,或者需要 Chromium 版本完全可控,Electron 仍然更省事;Neutralinojs 的取舍是轻,代价是依赖系统浏览器内核,不同系统上的渲染表现会有差异。