桌面端应用
这里没有包括 Flutter,因为这里想收录的是基于前端 JS 开发的桌面端应用的解决方案。
Electron
Electron 是一个用于构建跨平台桌面应用程序的框架,结合了 Chromium 和 Node.js,支持使用 HTML、CSS 和 JavaScript 开发原生应用。
安装代码片段:
npm install electron --save-dev
使用代码片段:
// main.js
const { app, BrowserWindow } = require("electron");
let mainWindow;
app.on("ready", () => {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
},
});
mainWindow.loadFile("index.html");
});
创建 index.html
文件:
<!DOCTYPE html>
<html>
<head>
<title>Hello Electron</title>
</head>
<body>
<h1>Hello, Electron!</h1>
</body>
</html>
运行代码:
npx electron .
这将启动一个窗口,显示“Hello, Electron!”,展示 Electron 的基本功能。
Tauri
Tauri 是一个用于构建安全、快速且轻量级的跨平台桌面应用程序的框架,它使用 Web 技术(如 HTML、CSS 和 JavaScript)来创建应用界面,同时提供对原生功能的访问。
安装代码片段:
# 安装 Tauri CLI
npm install -g @tauri-apps/cli
使用代码片段:
# 初始化新项目
tauri init
按照提示完成项目初始化后,你将得到一个包含 Tauri 配置的 tauri.conf.json
文件和一个示例应用。
运行代码:
# 启动开发服务器
tauri dev
访问 http://localhost:4000
即可查看生成的 Tauri 应用。
NodeGui
NodeGui 是一个基于 Node.js 的跨平台 GUI 框架,允许使用纯 JavaScript 或 TypeScript 构建原生桌面应用程序,支持 macOS、Windows 和 Linux。
支持 Vue, React 和 Svelte 等前端框架。
安装代码片段:
npm install nodegui
使用代码片段:
const { AppWindow } = require("@nodegui/nodegui");
const win = new AppWindow();
win.setTitle("Hello NodeGui");
win.resize(400, 300);
win.show();
运行代码:
node your-script.js
这将打开一个标题为“Hello NodeGui”的窗口,展示 NodeGui 的基本功能。