一、前言
通过前面一个章节的内容,大家应该能大概理解tauri框架的工作流程了。
但仅此就想要上手开发还是远远不够的,所以本文我将会把对tauri的使用理解尽可能通俗易懂的写出来,让大家能够快速上手实际应用的开发。
二、vue开发
按照官方的说法是,你使用任何前端框架都是可以的,但由于我目前比较熟悉vue,国内前端的大趋势也是vue,所以这里以vue3作为前端开发tauri项目为例。
不会vue的,可以参照本站系列教程文章:vue初识
首先还是运行上一章提到的命令:
npm create tauri-app@latest
效果如下:
运行该命令后,除了第一个是让你填写项目名外,其它都是让你选填一些配置项,也就是上图绿色字体的文本。
我选择的就是一般用法:
- 使用ts/js作为前端开发
- 包管理为npm
- ui模板为vue
- 风格选择ts
总结来说就是使用TypeScript作为前端开发语法,vue作为框架、npm作为包管理工具。
然后你只需要挨着去执行上图第二个红框中的前两条命令,就能完成以vue作为前端的tauri框架搭建。
第一个cd test
是进入新建的项目文件夹,这里叫test
。
然后第二条npm install
是前端安装所需要的包。
至于npm run tauri android init
是进行安卓开发初始化的,这里先不用管,后文会对其进行介绍。
对于桌面端开发来说,重点是npm run tauri dev
这条命令,它会将应用程序启动起来,并时刻监视当前项目中的文件变化,一旦发生变化,就会自动更新程序。
单说这一点就比electron
方便的多,electron
官方没有提供任何前端框架绑定、以及代码文件监视功能并实时重构程序,你需要使用第三方的开源项目才行、麻烦而繁琐,而这里的tauri直接一行命令就搞定了。
等开发完毕后,同样是使用类似的命令npm run tauri build
完成最终的程序构建。
然后我们就可以来到其自动构建的项目文件夹中:
这里的src
和src-tauri
想来大家应该已经有所熟悉了,它就是前文提到的作用:
src
:存放前端代码的文件夹,比如js、ts、vue等前端文件,这和正常的前端项目是一样的src-tauri
:存放后端代码的文件夹,也就是rust代码。
至于.vscode
文件夹就不用多说了,它就是vscode的配置文件。
然后是public
文件夹,用来存放一些前端资源的,比如图片,这个熟悉前端的都应该很清楚。
至于之后的其它文件,也都是前端vue中的内容了,这里就不再赘述了,不清楚的可以先去学习vue框架:vue初识。
所以总的来说,tauri其实仅仅只是在一个前端的框架中创建了一个src-tauri
的文件夹用来写rust代码而已。
如果你能熟练使用一套前端框架,那么也能很快上手开发,仅仅只是在需要扩展前端的本地功能时才需要写rust代码来进行扩展,然后使用前面提到的invoke
函数来进行调用。
同时要注意的是,依靠这种由前端框架搭建的项目,你可以直接在代码中引入该函数使用:
上面就是自动生成的示例代码中的例子,就通过引入的这个invoke
函数去调用后端rust代码中注册的一个叫做greet
的函数:
注意这里src
目录下有lib.rs
与main.rs
这两个源码文件,而main.rs
中的main
入口函数又调用了lib.rs
这里的run
函数。
之所以这样做,是为了兼容安卓开发,在tauri1.0版本时代不支持安卓开发时就只有一个main.rs
文件,如果你是从tauri1.0迁移过来的,那么直接将这里的lib.rs
当作之前的main.rs
使用即可。
类似invoke
这样的函数当然不止一个,事实上官方提供了相当多的函数可以供我们调用,很多时候并不需要我们自己去写rust代码,可以直接调用官方提供好的接口。
你可以从官方文档不同的模块中找到对应的函数:
比如invoke这个函数就在api/core这个模块下,所以前面我们代码中也是这样引入的。
三、进程模型
通过前面一小节的内容,现在你就已经可以开发桌面应用了: