当前位置: 首页 > news >正文

Rust GUI框架 tauri V2 项目创建

文章目录

  • Tauri 2.0
  • 创建应用
  • 文档
  • 移动应用开发 Android 前置要求
  • 移动应用开发 iOS 前置要求
  • 参考资料

Tauri 2.0

Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架,同时可以在必要时使用 Rust、Swift 和 Kotlin 等语言编写后端逻辑。

你可以使用下面的任意一个命令以利用 create-tauri-app 创建一个新的项目。请务必参考前置要求文档安装所有 Tauri 必须的依赖,并阅读前端配置指南了解推荐的前端配置方案。

在你成功创建了你的第一个应用后,你可以在功能及秘诀列表探索 Tauri 的不同功能及秘诀。

为什么选用 Tauri

对于开发者而言,Tauri 有三个主要优势:

  • 构建应用所需的可靠基础
  • 使用系统原生 webview(网页视图)带来的更小打包体积
  • 使用任何前端技术和多种语言绑定带来的灵活性

可靠的基础

由于 Tauri 是使用 Rust 构建的,它可以利用 Rust 提供的内存、线程和类型安全方面的优势。而使用 Tauri 开发的应用也可以从中受益,甚至无需由 Rust 专家开发这些应用。

更小的体积

Tauri 利用了已经存在于每一个用户系统的 webview。Tauri 应用中只包含了该应用专属的代码和资源文件,不需要在每个应用中都打包一个浏览器引擎,这意味着一个最小化的 Tauri 应用体积可能小于 600KB。

灵活的架构

由于 Tauri 使用了 web 技术,这也意味着几乎所有的前端框架都与 Tauri 兼容。

创建应用

本文使用pnpm命,令创建应用

pnpm create tauri-app --rc

没有pnpm命令,可以使用npm install -g pnpm安装

请跟随提示选择您的项目名称、前端语言、包管理器以及前端框架。

输出如下

$ pnpm create tauri-app --rc
.../191-220         |   +2 +
.../191-220         | Progress: resolved 12, reused 0, downloaded 2, added 2, done
✔ Project name · tauri-app
✔ Identifier · com.gitcode.tauri-app-002
✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, bun)
✔ Choose your package manager · pnpm
✔ Choose your UI template · Vanilla
✔ Choose your UI flavor · JavaScriptTemplate created! To get started run:cd tauri-apppnpm installpnpm tauri android initFor Desktop development, run:pnpm tauri devFor Android development, run:pnpm tauri android dev

在这里插入图片描述
在 create-tauri-app 创建完项目后,您可以进入项目文件夹,安装依赖,然后使用 Tauri CLI 启动开发服务器:

cd tauri-app
pnpm install
pnpm tauri dev

您将会看到一个新的窗口被打开,该窗口正在运行您的应用。

恭喜您!您已经创建了您自己的 Tauri 应用!🚀

文档

tauri2.0
tauri2.0 android
tauri2.0 ios

移动应用开发 Android 前置要求

使用 Android Studio 中的 SDK Manager 安装以下内容:

  • Android SDK Platform
  • Android SDK Platform-Tools
  • NDK (Side by side)
  • Android SDK Build-Tools
  • Android SDK Command-line Tools

在这里插入图片描述
在这里插入图片描述

  • 配置 ANDROID_HOMENDK_HOME 环境变量
# 设置 SDK 目录的路径
ANDROID_HOME------D:\android_sdk
# 设置 NDK 目录的路径
NDK_HOME----------D:\android_sdk\ndk\27.1.12297006

其它环境变量(可选)

# 设置 SDK 安装目录的路径
ANDROID_HOME------------D:\android_sdk
# 用户数据
ANDROID_USER_HOME-------D:\android_data
# 用户数据---模拟器相关
ANDROID_EMULATOR_HOME---D:\android_data
ANDROID_AVD_HOME--------D:\android_data\avd
  • 使用 rustup 添加 Android 编译目标:
rustup target add aarch64-linux-android armv7-linux-androideabi \i686-linux-android x86_64-linux-android

移动应用开发 iOS 前置要求

仅 macOS
iOS 开发需要 Xcode,并且仅在 macOS 上可用。确保你在 macOS 系统依赖项部分中安装了 Xcode 而不是 Xcode 命令行工具。

  1. 在终端中使用 rustup 将 iOS 添加为编译目标:

Terminal window

rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim
  1. 安装 Homebrew:

Terminal window

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 使用 Homebrew 安装 Cocoapods:

Terminal window

brew install cocoapods

下一步:创建新项目。

pnpm create tauri-app --rc

参考资料

Android Studio 2024 安装、项目创建、加速、优化、 环境变量参数说明
Rust GUI框架Tauri V1 入门 Git管理
如何上传tauri项目到csdn gitcode

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java基础——字节流和字符流
  • 韦唯出席平遥国际电影展开幕式 中英文歌曲连唱尽显国际范
  • 国内可以使用 ChatGPT 吗?为什么? ChatGPT镜像集合
  • 一步一步优化一套生成式语言模型系统
  • 在线PDF转图片怎么转?4种简单转换的方法分享
  • ATTCK实战系列-Vulnstack靶场内网域渗透(二)
  • DK5V100R15VL 贴片12V3.4A同步整流芯片
  • 「芯片知识」MP3解码ic方案,音乐芯片在数字音频中的作用
  • 全新热门电商API接口,实现闲鱼商品详细搜索功能
  • 快递智能地址解析API接口代码
  • vmware 里 centos7 扩展 /dev/mapper/centos-root 容量
  • 【YashanDB知识库】查询YashanDB表空间使用率
  • YUM降级基本用法
  • vsftpd创建ftp用户
  • 计算机毕业设计非遗项目网站 登录注册搜索 评论留言资讯 前后台管理/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
  • JS 中的深拷贝与浅拷贝
  • 30天自制操作系统-2
  • C++11: atomic 头文件
  • in typeof instanceof ===这些运算符有什么作用
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Meteor的表单提交:Form
  • oschina
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 力扣(LeetCode)21
  • 如何在GitHub上创建个人博客
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 数据仓库的几种建模方法
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 小而合理的前端理论:rscss和rsjs
  • 一个项目push到多个远程Git仓库
  • 用element的upload组件实现多图片上传和压缩
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 用Python写一份独特的元宵节祝福
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 进程与线程(三)——进程/线程间通信
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​马来语翻译中文去哪比较好?
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • ## 1.3.Git命令
  • ######## golang各章节终篇索引 ########
  • #stm32整理(一)flash读写
  • (1)Jupyter Notebook 下载及安装
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (6)设计一个TimeMap
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)二分查找 超详细
  • (ZT)出版业改革:该死的死,该生的生
  • (二十六)Java 数据结构
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (回溯) LeetCode 46. 全排列
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (五)c52学习之旅-静态数码管
  • (学习日记)2024.01.09
  • .net core Swagger 过滤部分Api