tauri学习(1)-初体验
tauri是一个类似Electron的框架,允许前端程序员来开发桌面应用程序,外层的壳采用Rust语言开发,相比Electron生成的可执行程序更小,今天尝试了下,感觉还不错,按官网的教程只需执行下的命令(mac环境)
npm create tauri-app
回答一些基础问题后,项目模板就搭建好了,参考下图,我选的是create-react-app + TypeScript

项目目录结构如下:

public/src 是标准的react目录,src-tauri则是tauri的rust代码目录,可以打开tauri.conf.json看一眼:

建议将默认的identifier改掉,不然生产环境无法正常打包。另外windows下的height/title 这些,可以调整窗口的大小、标题。
有兴趣的同学,还可以看看package.json

注意到添加了1个名为tauri的脚本,接下来就用这个命令来启动一下,会发现程序并没在跑起来,而是输出一堆信息:

说明还需要加subcommands,尝试一下info,就能看到一些环境信息、依赖包的版本等...

对命令有基础了解后,可以跑起来看看:
npm run tauri dev
熟悉的react欢迎页终于出来了,只不过是在我们自己写的桌面应用程序里运行的。

肯定也有同学好奇,既然是react项目,能不能象传统web项目一样,也跑在浏览器里吗?当然可以!
npm run start
如果刚才的桌面应用程序没关闭,用npm run start启动时,会提示3000端口占用,问你是否换个端口,回答Y,通常会找下1个端口3001启动。
tips:思考一下,其实tauri 应用在运行时,内嵌的react也必然会启一个端口对吧?想想我们刚才用npm run tauri info看到的输出devPath: http://localhost:3000/,所以浏览器直接访问这个3000端口,也是一样的。

看上图,3001端口(左上),是单独用npm run start启动的,而3000端口(右上)是启用tauri 桌面应用时,自动启动的,最下面的就是套了壳的tauri。
最后看看如何打包部署:
npm run tauri build
会在target/release/bundle下生成dmg安装文件,以及可执行应用tauri-hello.app

看下它们的大小:

安新文件dmg只有5.4M,可执行程序app不到10M,这比electron精减太多了。
参考文档:
https://tauri.app/v1/guides/
tauri学习(1)-初体验的更多相关文章
- kafka 学习之初体验
学习问题: 1.kafka是否需要zookeeper?2.kafka是什么?3.kafka包含哪些概念?4.如何模拟客户端发送.接受消息初步测试?(kafka安装步骤)5.kafka cluster怎 ...
- Docker学习<一>--初体验Windows环境下安装
背景 今天想试用spring boot与jwt协议的实现,配套就需要使用redis,但redis似乎windows环境版本部署起来不是那么舒心,果断尝试使用docker. 下载 下载地址: 稳定版:h ...
- UITextView(文本视图) 学习之初体验
UITextView文本视图相比与UITextField直观的区别就是UITextView可以输入多行文字并且可以滚动显示浏览全文.常见UITextView使用在APP的软件简介.内容详情显示.小说阅 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验
wxWidgets刚開始学习的人导引全文件夹 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...
- YII学习,初体验 ,对YII的一些理解.
先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...
- VSTO学习笔记(十五)Office 2013 初体验
原文:VSTO学习笔记(十五)Office 2013 初体验 Office 2013 近期发布了首个面向消费者的预览版本,我也于第一时间进行了更新试用.从此开始VSTO系列全面转向Office 201 ...
- oracle 12c 学习系列(1)–12c初体验
详见原文博客链接地址: oracle 12c 学习系列(1)–12c初体验
- 算法学习:并行化初体验_JAVA实现并行化归并算法
这个系列包括算法导论学习过程的记录. 最初学习归并算法,对不会使其具体跑在不同的核上报有深深地怨念,刚好算倒重温了这个算法,闲来无事,利用java的thread来体验一下并行归并算法.理论上开的thr ...
- Python基础学习参考(一):python初体验
一.前期准备 对于python的学习,首先的有一个硬件电脑,软件python的运行环境.说了一句废话,对于很多初学者而言,安装运行环境配置环境变量的什么的各种头疼,常常在第一步就被卡死了,对于pyth ...
随机推荐
- Ubuntu修改密码及密码复杂度策略设置方法
版本查看 cat /etc/issue cat /proc/version 内核查看 uname -a Ubuntu修改密码及密码复杂度策略设置方法 一.修改密码 1.修改普通用户密码 passwd ...
- 【工具】Vscode翻译插件推荐(不用谷歌翻译api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)
2024/04/24说明:这篇暂时修改为粉丝可见,因为正在冲粉丝量,等到我弄完了粉丝量的要求,我就改回来!不方便看到全文的小伙伴不好意思!! 需求: 1)偶尔需要查英文生词: 2)有时候想不起来中文对 ...
- Grid 布局-容器项
grid 网格布局是一个用于web的二维布局系统, 多行多列. flex 单行布局则更倾向于一维布局, 一行或者一列. Grid 重点 只是用表格进行排版哈, 横向内容直接无关联哦. 容器项 子项 布 ...
- Alembic迁移脚本冲突的智能检测与优雅合并之道
title: Alembic迁移脚本冲突的智能检测与优雅合并之道 date: 2025/05/12 13:10:27 updated: 2025/05/12 13:10:27 author: cmdr ...
- 移动端H5页面在不同Android和iOS设备上的兼容适配
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- CentOS Stream 10安装部署Zabbix 7.0网络监控平台和设备配置添加
以下是在CentOS Stream 10上部署Zabbix 7.0监控平台,并配置多种监控目标的完整操作指南: 一.Zabbix 7.0 基础环境部署 1. 系统准备 # 更新系统 sudo dnf ...
- 小白也能行!10分钟用Cursor搭建个人博客网站(零基础教程)
一.Cursor是什么?Cursor是一款基于AI的智能代码编辑器,它整合了GPT-4技术,可以帮助我们: 自动生成代码 解释代码含义 修复代码错误 对话式编程指导特别适合编程新手使用,传统搭建博客需 ...
- python 多进程通讯三种方法性能对比(queue, pipe, zeromq)
当然,这三种办法都会在两个进程之间把数据复制一遍,效率肯定没有 shared memory 高,但是考虑到这三种方式都不用考虑锁之类东西,用起来是比较方便的.这三种方式的实现的功能都是差不多的,但是在 ...
- C#代码事件
C#代码事件 从今天开始,WPF 的学习将上升到一个新的高度.之前主要都是围绕着界面上的内容,今天了解 C# 代码,让界面真正意义上能够有功能. 本文同时为b站WPF课程的笔记,相关示例代码 上节课自 ...
- Spring扩展接口-FactoryBean
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...