当前位置: 首页 > 后端技术 > Java

Tauri+vue开发一款小巧的跨OS桌面应用——股票健康检查

时间:2023-04-01 18:48:58 Java

最近打算写一个股票健康检查的软件。比如股权质押率过高的股票不合格,ROE小于10的股票不合格,PE大于80的股票不合格。股票不合格等等,就好像是为了一只股票给一个人做体检一样。还实现了根据技术指标和基本面自动选股、实盘点位回测等功能。我用vue开发了这样一个软件,目前只有在浏览器上使用。许多朋友告诉我:“你可以把它做成一个网站。”别的不说,这种网站光是备案就够我喝一壶了!所以想做一个PC端的桌面软件,分发给朋友,安装在自己的电脑上!在陶瑞出现之前,首选肯定是电子。“核心开发语言就是可以用js、vue等开发桌面应用。”我们所知道的visualstudiocode就是使用electron技术开发的。“搭建完成后,就可以跨终端安装了。比如:windows、macos、linux都支持。”但是electron开发的安装包实在是太大了,动辄上百MB。有朋友可能会说,visualstudiocode安装包才几十M,这不就是微软的团队吗?我个人没有力气瘦身安装包。”这时候tauri出现了,它具备了electron的所有优点,比如支持使用前端语言开发,支持跨终端安装。更重要的是,使用tauri构建一个应用安装包一般只有十几个MB。本文构建的版本安装文件只有2.9M,简直太神奇了!”下面开始第一个tauri桌面应用项目。1.准备工作:以下准备工作以Windows为开发操作系统,以及需要安装的工具,需要注意的是这些工具是给开发者使用的,桌面应用的用户不需要安装这些工具1.MicrosoftVisualStudioC++buildtools首先需要安装MicrosoftVisualStudioC++buildtools,下载地址:BuildToolsforVisualStudio2022..这一步可以说是整个tauri开发环境准备中最重要的一步,笔者之前的失败几乎都是因为这一步没有做好.如果你安装的是MicrosoftVisualStudioC++构建工具的第一页,不是上页,而是下页,证明你之前安装过“VisualStudiobuildtool”。强烈建议大家把已经安装的“VisualStudioBuildTools”全部卸载,再次安装后会进入如上页面。安装过程中,必须勾选上图中的所有红框。2、WebView2的下载地址为webview2。下载完成后按照提示进行傻瓜式安装即可。tauri应用程序依赖webview2进行显示和渲染。按理来说,如果用户使用tauri开发的桌面应用,用户的操作系统必须安装webview2,否则无法显示。“但是”我和小伙伴试验后,把webview2运行时卸载了,tauri开发的桌面应用也可以运行了。这个有点神奇,原理我还不明白,有知道的告诉我一下,不胜感激。总之,不管用户是否需要安装这个webview2,作为开发者,他必须要安装。3、Rusttauri底层基于rust语言,开发者需要安装rust。https://www.rust-lang.org/too...,注意查看实际对应的操作系统位数:32位,64位。建议安装较新的rust版本,大于1.60.0,可以使用runstc-V查看rust的版本号。之前使用1.60.0版本时,tauri软件构建失败,如下图。4、安装nodejs因为我们软件界面的核心开发语言还是javascript,所以需要安装nodejs,需要12以上版本。如果已经安装,使用命令node-v查看nodejs的版本号2.新建tauri项目准备工作做好后,我们使用如下命令npmcreatetauri-app新建tauri项目。这个命令会给我们一些提示信息,然后帮助我们根据我们的选项和模板创建一个新的tauri项目。命令执行后,会显示一些tauri官网,以及一些构建tauri项目准备工作的URL链接(我们已经完成了准备工作)。提示如下信息,这样我们只要按键盘上的任意键就可以继续构建工程了。npmcreatetauri-app...这里省略几行提示信息按任意键继续...然后提示我们输入项目名称(app名称,会在当前目录)、窗口标题(即左上角的PC桌面软件应用名称)。下面的股票查询和“股票体检”是我输入的应用程序名称和窗口标题。?你的应用名称是什么?库存检查?窗口标题应该是什么?(TauriApp)查股,下一步就是选择前端开发的构建工具(vue),我们选择使用vite。如果你不知道vite,请不要惊慌。这里我们不需要了解vite的用法,甚至不需要了解vite是什么。它仅用作施工工具。在大多数tauri桌面应用开发场景下,你甚至感受不到它的存在。下一步提示是否安装tauri-app/api,当然我们开发的是tauri桌面应用,当然要选Y。?添加“@tauri-apps/api”npm包?(Y/n)Y然后提示信息,问我们用哪个前端框架开发,我选择vue。如果你精通react,也可以选择react。这一步完成后,会开始自动生成项目的代码结构,最后会显示如下内容,证明我们的项目代码目录已经生成成功。你的安装完成了$cdstock-check$npmruntauridev熟悉vue前端项目开发的朋友看看这个目录结构是不是格外友好,除了src-tauri目录,其他基本一样作为vue的项目结构。后面我们开发桌面应用的时候,和开发Vue项目是一模一样的。src-tauri目录在项目构建和打包过程中比较有效,在开发过程中很少涉及。3、开发环境运行项目上面新建项目完成,最后输出信息提示:Yourinstallationcompleted.$cdstock-check$npmruntauridev执行cdstock-check进入项目目录,执行npmruntauridevtolet项目运行后,可以在浏览器上查看效果,也可以作为windows桌面软件。但是笔者在实验过程中,进入项目目录后,在npmruntauridev之前,需要执行一条命令npminstall,引入一些前端开发用到的js依赖模块。运行启动桌面应用效果如下:第一次运行build的过程会比较长。由于众所周知的原因,一些依赖包可能没有正确安装,需要提前准备一些网络访问能力。4、项目打包为msi安装文件我们开发一个桌面软件,肯定希望分发给用户使用,所以需要打包一个安装文件,比如:aaa.exe、bbb、msi之类的。src-tauri目录下有一个tauri.conf.json文件。该文件是tauri项目环境的配置文件。在该文件中,JSON结构中tauri>bundle>identifier的默认值为com.tauri.dev。我们需要设置修改后才能打包。一般可以修改为贵单位的域名反序,如:com.zimug.stock-check。{“包”:{“产品名称”:“库存检查”,“版本”:“0.1.0”},“tauri”:{“捆绑”:{“标识符”:“com.zimug.stock-check”,},}}修改完成后,运行打包命令,可以在tauri.conf.json文件中配置包名和版本信息,如上面的包配置。npmruntauribuild打包后,只有2.9M,并且会在项目的根目录。这个msi文件分发给你的用户,他们可以在PC端安装和使用你开发的windows桌面软件。当然tauri和electron一样可以跨平台,也可以打包兼容windows、macOS、Linux的桌面应用安装包。5.小问题可能有朋友会问,我想用tauri开发桌面应用需要学习rust语言吗?答案是:不需要!除非你开发与Windows硬件强相关的桌面应用,比如蓝牙、驱动等,否则不需要任何rust语言基础。大部分的开发工作就是写界面,写逻辑数据交互,这和开发web应用是一样的!如果您觉得对您有帮助,请点赞转发!您的支持是我创作不竭的动力!.更多精彩内容公众号:字母哥。Antetokounmpo博客:zimug.com