前言
- 在notion-rss发布后,有用户评论不太会使用命令行工具,所以想写给命令行写一个图形化界面,经过调研,最后选择了tauri。下面来记录一下使用tauri开发图形化界面的过程和坑。
Rust的GUI框架对比
- state-of-rust-gui-libraries这篇文章对比了rust常见的gui库,主要在是否跨平台开发,是否能已经成熟能用在生产环境。
- 经过比较感觉fltk-rs和tauri还行的,gtk的整个架构太大了,就编译工具链就劝退了,然后下面很多都是基于gtk封装了一层,让用户使用起来不再这么麻烦,还有要学习多一种标记语言,学习成本太高了。
|
Production ready |
Compatibility |
gtk-rs |
Yes |
Cross-platform |
fltk-rs |
Yes |
Cross-platform |
iced |
No |
Cross-platform and web |
relm |
No |
Cross-platform |
Azul |
Yes |
Cross-platform |
egui |
Older Releases |
Cross-platform |
Tauri |
Yes |
Desktop and web |
Slint |
Yes |
Web |
Druid |
Yes |
Desktop and web |
- 最后因为fltk-rs不够现代化,选了Tauri。主要看生态了文档,Tauri只需要用HTML写完前端,真正的所见及所得,本来也会Vue,几个UI库,所以不用再学什么东西,直接可以上手。
- 和electron的对比,总之吊打electron。
环境搭建
➜ cargo install create-tauri-app
➜ cargo install tauri-cli
初始化项目
- 如果已经有项目了,可以创建完再拷贝进文件里,改一下文件名,rust的源文件在
src-tauri
,前端项目源文件在src
,两个都可以分别开发。
➜ IdeaProjects cargo create-tauri-app
✔ Project name · tauri-app
✔ Choose your package manager · cargo
✔ Choose your UI template · vanilla
Please follow <https://tauri.app/v1/guides/getting-started/prerequisites> to install the needed prerequisites, if you haven't already.
You also need to install tauri-cli (cargo install tauri-cli)
Done, Now run:
cd tauri-app
cargo tauri dev
➜ IdeaProjects
- 这样创建的项目前端是纯HTML,JS的,开发大项目不太适合,建议先开始写前端,再进去前端目录用
cargo tauri init
初始taruri项目。
notion-rss git:(main) ✗ ls --tree --depth 1 --icon-theme unicode