Tauri 2.0 稳定版发布

Tauri 2.0 稳定版发布

Tauri 是什么?

Tauri 应用程序的前端使用您喜欢的 Web 前端栈编写。它在操作系统的 WebView 中运行,并与主要用 Rust 编写的应用核心进行通信。
在这里插入图片描述

我何时应该使用 Tauri?

如下任一一项符合,你应该使用 Tauri:

  • 您是否想要一个适用于所有平台的单一 UI 代码库?
  • 您是否想要在用户的平台上尽可能多地触及用户(例如 Windows、MacOS、Linux、Android、iOS)?
  • 您是否是一名前端 Web 开发者,想要编写原生应用程序?
  • 您是否是一名 Rust 开发者,想要编写具有漂亮 UI 的应用程序,并有选择地使用 Rust 进行编写?
  • 您是否有一个现有的 Web 开发团队,并希望以较低的前期投资扩展到原生应用程序市场?
  • 您是否有一个现有的 Rust 开发者团队,并希望一切都用 Rust 编写?

Tauri 有多受欢迎?

截至撰写本文时,Tauri 仓库在 GitHub 上有大约 4878 个拉取请求和大约 3570 个问题关闭,并且有大约 1000 个讨论。

我们的 Discord 服务器目前拥有约 17700 名成员。我们看到了大量个人用户支持、Tauri 本身的问题、直接向工作组提出的问题,或者仅仅是 Tauri 应用开发者之间的讨论。

我们对积极和支持性的社区感到非常高兴,并对所有在 Discord 或 GitHub 上回答问题或帮助他人的社区成员表示感谢。

我们在 awesome-tauri 维护了一个精选的 Tauri 相关项目列表,包括应用程序、插件、指南等。如果您想要获得灵感、看看其他人在构建什么,并理想地创建一个 PR 添加您的项目,请查看此列表。

当然,这只是代表性的样本集,我们并不知道还有谁在 Tauri 上构建。

我们是如何达到 2.0 的?

2022 年 6 月,我们发布了 Tauri 1.0,对桌面操作系统市场以及如何构建跨平台应用程序产生了巨大影响。

2022 年底,我们发布了 2.0 的初始 alpha 版本,以获得初步反馈,并测试移动交互应该如何定义。

在初始 alpha 之后,我们花了将近两年的时间公开完善和改变 Tauri 的架构。在我们看到足够清晰的大局后,我们在今年二月发布了 beta 版本。同时,我们与外部安全审计员合作,检查我们的决策、架构变化等等。

今年 8 月,我们发布了 2.0 的候选版本,以消除主要错误并获得更多生产性使用的反馈。同时,外部审计结束并公开。

候选版本的时间框架相对较短,主要包括高影响力的错误修复和文档改进。在候选版本阶段我们不得不进行的一些破坏性更改被捆绑在一起,直到最后并包含在稳定版本中。如果您主要关心的是从以前版本升级,请查看迁移部分。

总的来说,我们花了两年多的时间进行改进、新功能、错误修复、文档重写和许多讨论。

这一切发生的同时,我们还发布了 8 个 Tauri 1.x 分支的小版本,并在几个补丁版本中回溯了安全修复和其他重要的错误修复。

谁使这个版本成为可能?

这个版本和 Tauri 本身之所以成为可能,是因为 Lucas 提供了大量的贡献,多年来他一直在不断地提供代码更改。

显然,Lucas 不是唯一一个为 Tauri 工作和贡献的个人,但我们觉得他应该得到特别的提及,因为他多年来一直在支持项目和社区。

我们在 2.0 中对 Tauri 仓库做出了重大贡献,包括 Amr、Fabian-Lars、Tony、Chip、Jason、YuWei、icb、Simon、Oliver Lemasle 和许多其他贡献者(来源数据)。

我们收到了越来越多的一次性贡献者(一个或非常少的 PR)。我们对此表示感谢,但如果在这里列出每个人的名字,这个列表将会非常长。

我们组织中有很多仓库,它们支持 Tauri 的成功,没有社区和工作组的贡献,Tauri 就不会有今天的成就。对所有参与的人表示感谢!

特别感谢 Fabian-Lars 和 Simon 他们对社区的持续参与。如果您参与过 Tauri 的 Discord 或 GitHub 讨论,您可能知道他们的名字或头像。

如果您在 Google 或 YouTube 上搜索过 Tauri,您可能已经看过 Jacob 的直播。如果没有,请务必查看并订阅,因为他的课程不仅仅是教育性的。

Tauri 董事会在我们心中占有特殊的位置,特别感谢 Daniel Yvetot-Thompson 为使 Tauri 为人所知和可持续所做的无数小时的努力。

我们不应该忘记的一件事是,我们从这个开源项目的一个稳定合作伙伴那里获得了支持。

CrabNebula 为上述提到的许多人以及这里没有提到的人提供了特权,使他们能够在工作时间以及私人时间里为 Tauri 生态系统工作。您可以在我们的博客上找到合作伙伴关系的公告,我们对过去一年里的这种合作感到非常高兴。

仅在 2024 年,他们就在这个项目上花费了超过 2870 个工作小时,这极大地推动了进展,并使我们能够宣布今天的稳定 2.0 版本。

如果您还不了解 CrabNebula,请务必查看他们的产品和服务,并考虑与 Tauri 的共生关系,如果您不仅对改进您的工作流程感兴趣,而且还支持 Tauri 生态系统。

2.0 的亮点是什么?

在这个主要版本中,我们改进和改变了您可以构建、开发和发布 Tauri 应用程序的方式和地点。在以下部分中,我们将提供更详细的见解。这并不包括所有内容,但应该能给您一个关于 Tauri 2.0 的印象。

开始体验

当您开始使用新框架或工具时,您总是要经历最初的入职或开始过程。

我们重视开发者体验(DX),并尝试使这个初始过程尽可能无缝,就像构建和分发您的最终应用程序一样。

为此,我们创建了另一个名为 create-tauri-app 或简称 CTA 的项目。

这个工具允许开发者从零开始,在几分钟内而不是几小时内启动并运行 Tauri 应用程序。

  • Bash
  • PowerShell
  • npm
  • Yarn
  • pnpm
  • bun
  • Cargo

sh <(curl https://create.tauri.app/sh)

当然,在开始构建应用程序之前,您需要在开发系统上安装一些先决条件。为此,我们在官方文档中有详细的指南,包含操作系统特定的部分。

这个整个入职体验已经改进,现在还引导了 iOS 和 Android 的移动开发模板。

热模块替换

在初始入职之后,您将定期开发和调试您的 Tauri 应用程序。我们考虑了在 Tauri 1.x 中会改进您的开发过程的内容,并扩展了热模块替换(HMR)到移动设备和模拟器。

这意味着对应用程序前端的所有更改不需要重建整个应用程序,您可以实时预览它在您正在开发的目标设备或操作系统上的外观。

您的浏览器不支持视频标签。

插件

随着 Tauri 2.0 的发布,我们构建了一个更先进的插件系统。我们将许多以前的功能转移到了我们的官方插件中(参见 plugins-workspace),以允许社区更容易地参与 Tauri 的贡献。我们还希望吸引更多的维护者来维护插件,并加快实现新功能的过程。

将功能转移到插件的这一举措还有另一个好处。我们将能够为 Tauri 的核心定义一个完成的定义。我们希望稳定核心功能,并提供一个稳定的框架,其中可变的部分主要是插件,提供对系统特定功能的访问。

您不再需要了解整个 Tauri 就可以改进或实现特定功能。插件通常不依赖其他插件,有一些例外。这意味着要实现新的文件系统访问功能,只需要为 fs 插件做出贡献,而不是 Tauri 本身。

由于这个版本也针对移动平台,插件系统还支持移动插件。您可以编写或重用在 iOS 上的 Swift 或 Android 上的 Kotlin 的原生代码,并直接使用 Annotations(在 Android 上是 @Command),在 iOS 上实现 SubclassYourPluginClass: Plugin),或者从基于 Rust 的 Tauri 命令调用 Swift 或 Kotlin 代码。查看文档了解如何编写您自己的插件。

由于我们以 2.0 版本发布 Tauri,官方插件将遵循 Tauri 的主要版本,以使与 Tauri 主要版本的兼容性一目了然。然而,并非所有插件都像 Tauri 本身一样稳定。

每个插件的稳定性是按插件定义的,并在插件文档中记录(很快)。插件 API 可能在次要版本中会中断,但我们将尽量减少这些更改,特别是对于被认为是稳定的插件。

自动启动
在系统启动时自动启动您的应用程序。

条形码扫描器
允许您的移动应用程序使用摄像头扫描 QR 码、EAN-13 和其他类型的条形码。

生物特征
在 Android 和 iOS 上提示用户进行生物特征认证。

剪贴板
读取和写入系统剪贴板。

深度链接
将您的 Tauri 应用程序设置为 URL 的默认处理程序。

对话框
用于打开和保存文件的原生系统对话框,以及消息对话框。

HTTP 客户端
访问用 Rust 编写的 HTTP 客户端。

本地主机
在生产应用程序中使用本地主机服务器。

日志记录
可配置的日志记录。

NFC
在 Android 和 iOS 上读取和写入 NFC 标签。

操作系统信息
读取有关操作系统的信息。

持久作用域
在文件系统上持久化运行时作用域更改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1558382.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

立体扬声器棒球帽专利TRO维权,速查避免踩坑

案件基本情况起诉时间&#xff1a;2024-9-18案件号&#xff1a;24-cv-08626原告&#xff1a;Audiowear Technology Corporation原告律所&#xff1a;Loza & Loza, LLP起诉地&#xff1a;伊利诺伊州北部法院品牌介绍Audiowear Technology Corporation&#xff0c;一家位于特…

SpringMVC框架:入门讲解和基础案例解析

Spring Web MVC是什么&#xff1f; Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。使用了MVC架构模式的思想&#xff0c;将web层进行职责解耦&#xff0c;基于请求驱动指的就是使用请求-响应模型 。框架的目的就是帮助我们简化开发&…

嵌入式设备硬件和软件安全设计

1. 引言 哪个领域的网络安全实施记录最差&#xff1f; 既不是 PKI/数字证书&#xff0c;也不是 密钥管理&#xff0c;也不是 OAuth。很可能是嵌入式设备和物联网 领域。 总的来说&#xff0c;这似乎是一个梦想&#xff0c;但如果可设计出“设计安全”的系统&#xff0c;而不…

DHCP Snooping典型配置举例(如何防止路由器乱接问题)

全局开启DHCP Snooping配置举例 组网需求 Router B通过以太网端口Ten-GigabitEthernet0/0/6连接到合法DHCP服务器&#xff0c;通过以太网端口Ten-GigabitEthernet0/0/8连接到非法DHCP服务器&#xff0c;通过Ten-GigabitEthernet0/0/7连接到DHCP客户端。要求&#xff1a; 与合…

各省常住人口及人口密度面板数据(2000-2022年)

常住人口指在某地区居住超过一定时间&#xff08;通常为半年以上&#xff09;的人口&#xff0c;而人口密度则指每平方千米或每公顷内的常住人口数。数据集的主要指标包括&#xff1a; 省份年份常住人口&#xff08;万人&#xff09;人口密度&#xff08;人/平方公里&#xff…

每日学习一个数据结构-图

文章目录 图基础一、图的定义二、图的相关概念三、图的分类四、图的使用场景 和图相关的算法一、图的遍历算法二、最短路径算法三、最小生成树算法四、图匹配算法五、网络流算法 图基础 一、图的定义 在数学中&#xff0c;图是描述于一组对象的结构&#xff0c;其中某些对象对…

宠物咖啡馆业务自动化:SpringBoot框架的实现方法

3系统分析 3.1可行性分析 通过对本基于Spring Boot的宠物咖啡馆平台的设计与实现实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于Spring Boot的宠物咖啡馆…

(11)(2.1.4) DroneCAN ESCs

文章目录 前言 1 DroneCAN ESC列表 2 连接到飞行控制器 3 自动驾驶仪设置 4 记录和报告 5 附加资料 前言 Copter、Plane 和 Rover 支持 DroneCAN 电子速度控制器&#xff08;ESC&#xff09;&#xff0c;该控制器允许与自动驾驶仪进行双向通信&#xff0c;从而可能更容易…

数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎(一)(20241009)

数据库管理250期 2024-10-09 数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎&#xff08;一&#xff09;&#xff08;20241009&#xff09;1 简介2 引擎构成3 引擎架构4 文件分布5 分布式MVCC6 限制/要求总结 数据库管理-第250期 深入浅出多主多活数据库技术…

EtherCAT学习笔记

文章目录 前言一、EtherCAT介绍二、EtherCA系统组成2.1 ESC(EtherCAT从站控制器)2.2 从站控制微处理器2.3 物理层器件2.4 其它应用层器件 三、EtherCAT数据帧结构3.1 寻址方式3.2 时钟3.3 通信模式 四、状态机和通信初始化五、应用层协议六、ESC概述6.1 EtherCAT从站控制芯片6.…

02_InFluxDb

InFluxDb 初始化初始化流程 交互InFluxDbWebUI交互 数据模型行协议添加标签数据格式 数据类型空格索引 初始化 初始化流程 用户 密码 组织名称 Bucket—mysql里面的数据库概念 交互InFluxDb 暂用了8086端口.提供了 http api WebUI交互 略... 数据模型 这是mysql里面的表…

基于SSM的电脑硬件库存管理系统【附源码】

基于SSM的脑硬件库存管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 设计原则 4.2 功能结构设计 4.3 数据库设计 4.3.1 数据库概念设计 4.3.2 数据库物理设计 第5章 系统实现 5.1 管理员功能实现 5.1.1 硬件管理 5.1…

Java开发者测试:Junit5

Java开发者测试 实际代码编写中所用到的单元测试框架基本是Junit结合Mockito使用 Junit spring自带的单元测试框架,涵盖了大部分功能 通过Test注解即可直接生成测试用例 Test public void calTest(){Assert.assertEquals(junit.cal(1,2),3); }BeforeAll 表明在所有测试方法…

learn C++ NO.21——AVL树

简单介绍一下AVL树 AVL树是一种自平衡的二叉搜索树&#xff08;Balanced Binary Search Tree, BBST&#xff09;&#xff0c;由俄罗斯数学家G. M. Adelson-Velsky和E. M. Landis在1962年发明&#xff0c;因此以其名字首字母命名。AVL树通过保持任何节点的两个子树的高度最大差…

笔记 | ASPICE 简介

什么是 ASPICE&#xff08;Automotive SPICE&#xff09; Automotive SPICE&#xff08;简称 A-SPICE 或 ASPICE&#xff09;是欧洲 20 多家主要汽车制造商以ISO/IEC 15504&#xff08;SPICE&#xff0c;Software Process Improvement and Capability dEtermination&#xff0…

Java反射专题

目录 一.反射机制 1.Java Reflection 2.反射相关的主要类 3.反射的优缺点 4.反射调用优化—关闭访问检查 二.Class类 1.基本介绍 2.常用方法 3.获取Class对象的方式 4.那些类型有Class对象 三.类加载 1.介绍 2.类加载时机 3.类加载各阶段 四.获取类结构的信息 1…

基于微信小程序的网上商城+ssm论文源码调试讲解

2 系统开发环境 2.1微信开发者工具 微信开发者工具现在已经被小程序开发团队开发运行&#xff0c;目前微信开发者工具任然在不断的完善中&#xff0c;在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具&#xff0c;开发者工具将使用这个微信帐号的信息进行小程…

教育领域中聊天机器人和会话代理的使用分析和趋势:一项文献计量学回顾

英文标题: Analysis and Trends in the Use of Chatbots and Conversational Agents in Education: a Bibliometric Review 作者信息: Dennis Arias-Chvez, Universidad Continental, Arequipa, Per; dariascontinental.edu.pe; ORCID: ORCIDTeresa Ramos-Quispe, Universida…

网络连接失败的解决方案

文章目录 问题描述解决方案 问题描述 在公司连不上网&#xff0c;域名解析没问题&#xff0c;经检测是IP地址有问题 解决方案

.NET 一款提权工具:Sharp4PetitPotato

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…