
我用 Rust 写了个 5MB 的 Markdown 阅读器,启动只要 0.3 秒作为一名长期与 Markdown 文档打交道的开发者,我经常需要在不同设备上快速查看和编辑技术文档。市面上的 Markdown 阅读器要么体积庞大启动缓慢,要么功能单一无法满足专业需求。经过多次尝试后,我决定用 Rust 和 Tauri 框架亲手打造一个轻量高效的解决方案。这个仅 5MB 的 Markdown 阅读器不仅启动速度达到 0.3 秒,还支持实时预览、语法高亮、数学公式渲染等核心功能。下面将完整分享从技术选型到实现的全过程,无论你是 Rust 初学者还是有经验的开发者,都能从中获得实用的桌面应用开发经验。1. 技术选型与架构设计1.1 为什么选择 Rust + Tauri在开始项目前,我对比了多种技术方案。Electron 虽然生态丰富,但打包体积通常超过 100MB,内存占用高。传统原生开发虽然性能好,但跨平台成本高。最终选择 Rust + Tauri 组合基于以下几个关键考量:性能优势:Rust 的零成本抽象和内存安全特性保证了应用的高性能。Tauri 使用系统原生 WebView,相比 Electron 的 Chromium 内核,体积减少 90% 以上。安全性:Rust 的所有权系统从根本上避免内存安全问题,Tauri 的前后端分离架构也增强了应用安全性。跨平台能力:Tauri 支持 Windows、macOS 和 Linux,一套代码可编译为多平台应用。开发体验:前端可使用熟悉的 Vue/React 技术栈,后端 Rust 逻辑通过 Tauri 的 IPC 机制与前端通信。1.2 应用架构设计应用采用典型的前后端分离架构:src/ ├── src-tauri/ # Rust 后端 │ ├── src/ │ │ ├── main.rs # 入口文件 │ │ ├── commands.rs # Tauri 命令处理 │ │ └── file_ops.rs # 文件操作模块 │ ├── Cargo.toml # Rust 依赖配置 │ └── tauri.conf.json # Tauri 应用配置 ├── src/ # Vue 前端 │ ├── components/ # Vue 组件 │ ├── views/ # 页面视图 │ └── main.ts # 前端入口 └── index.html # 主页面这种架构让前端专注于 UI 交互,后端处理文件读写和复杂计算,充分发挥各自优势。2. 开发环境搭建2.1 Rust 环境配置首先需要安装 Rust 工具链,建议使用 rustup 进行管理:# 安装 rustup(Windows 用户下载 rustup-init.exe) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 安装完成后配置环境变量 source $HOME/.cargo/env # 验证安装 rustc --version cargo --version安装完成后,配置 Cargo 国内镜像加速依赖下载:# 在 ~/.cargo/config 文件中添加 [source.crates-io] replace-with = 'ustc' [source.ustc] registry = "https://mirrors.ustc.edu.cn/crates.io-index"2.2 Tauri 环境准备Tauri 需要系统相关依赖,不同平台安装命令如下:Windows 系统:# 安装 Visual Studio Build Tools 和 WebView2 # 下载地址:https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/ # 安装 Tauri CLI cargo install tauri-climacOS 系统:# 安装 Xcode Command Line Tools xcode-select --install # 安装 Tauri CLI cargo install tauri-cliLinux 系统(Ubuntu/Debian):# 安装基础依赖 sudo apt update sudo apt install libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev # 安装 Tauri CLI cargo install tauri-cli2.3 前端环境配置前端使用 Vue 3 + TypeScript,需要安装 Node.js 和包管理器:# 安装 Node.js(建议 LTS 版本) # 下载地址:https://nodejs.org/ # 验证安装 node --version npm --version # 创建项目目录并初始化 mkdir markdown-reader cd markdown-reader npm create vue@latest3. 项目初始化与配置3.1 创建 Tauri 项目使用 Tauri 官方模板快速创建项目:# 使用 Cargo 创建项目 cargo tauri init # 按照提示输入项目信息 app name: markdown-reader window title: Markdown Reader dist dir: ../dist dev path: http://localhost:3000项目创建完成后,主要配置文件如下:# src-tauri/Cargo.toml [package] name = "markdown-reader" version = "0.1.0" description = "A lightweight Markdown reader" authors = ["Your Name email@example.com"] license = "MIT" [dependencies] tauri = { version = "1.0", featur