跳至主要内容

create-tauri-app 第 3 版发布

· 阅读 5 分钟
Amr Bashir

hero image

create-tauri-app 的新主要版本已发布。此版本增加了对 Tauri 2.0 alpha 版本的支持,能够初始化 iOS 和 Android 项目,并删除了一些不太常用的模板,以提高项目的可维护性。

Tauri 2.0 Alpha 和移动支持

Tauri 2.0 的第一个 alpha 版本 在大约 3 个月前发布,它为 Android 和 iOS 带来了最初的移动支持。以前,没有一种简单的方法来创建新项目,以测试 alpha 版本中的更改或移动支持。现在,这个问题解决了!

create-tauri-app 的版本 3 开始,你现在可以传递 --alpha 标志,它将引导一个使用 [email protected] 的应用程序。在添加 --alpha 标志时,它将自动提示你是否要添加移动支持。你还可以使用 --mobile 标志来自动使其兼容移动设备。

开始

# pnpm
pnpm create tauri-app --alpha

# yarn
yarn create tauri-app --alpha

# npm
npm create tauri-app -- --alpha

# Cargo
cargo install create-tauri-app
cargo create-tauri-app --alpha

# Bash
sh <(curl https://create.tauri.app/sh) --alpha

# Powershell
$env:CTA_ARGS="--alpha";iwr -useb https://create.tauri.app/ps | iex

提示改进

在 create-tauri-app 的版本 2 中,我们还专注于改进提示问题的流程和体验。

以前,第二个提示会询问“选择你的包管理器”。这有点含糊不清,可能会让一些人有疑问

  • 什么是 cargo
  • 它是一个新的 Node.js 包管理器吗?
  • 为什么选择它而不是 pnpmyarn

如果我们决定添加一种新的前端语言(例如 Webassembly Golang Web 应用程序),这将更加含糊不清。我们添加了一个提示,要求选择包管理器,询问你更喜欢哪种语言。它看起来像这样

? Choose which language to use for your frontend ›
Rust
❯ TypeScript / JavaScript (pnpm, yarn, npm)

在选择前端语言后,如果该语言有多个(例如带有 npm、yarn 和 pnpm 的 Node.js),create-tauri-app 将提示使用哪个包管理器。

我们觉得有问题的另一个提示是模板选择提示。它包含了许多可供选择的模板,并且只会随着时间的推移而增长

✔ Choose your package manager · pnpm
? Choose your UI template ›
vanilla
vanilla-ts
vue
❯ vue-ts
svelte
svelte-ts
react
react-ts
solid
solid-ts
next
next-ts
preact
preact-ts
angular
clojurescript
svelte-kit
svelte-kit-ts

我们决定将其分成 2 个提示。第一个将询问使用哪个 UI 模板

✔ Choose your package manager · pnpm
? Choose your UI template ›
Vanilla
❯ Vue
Svelte
React
Solid
Angular
Next
SvelteKit
ClojureScript
Preact

然后第二个将询问该模板特有的任何其他选择(例如在 Vue 中选择 TypeScript 或 JavaScript)

✔ Choose your package manager · pnpm
✔ Choose your UI template · Vue - (https://vuejs.ac.cn)
? Choose your UI flavor ›
❯ TypeScript
JavaScript

即使进行了这些改进,模板列表仍然很大,并且只会随着时间的推移而增长。接下来要看的是模板列表本身。

删除模板

当 create-tauri-app 版本 2 发布时,它很快收到了 PR,以添加超出其最初发布的附加模板。虽然收到社区的大力支持令人兴奋,但它确实带来了几个新的挑战

  • 这使得几乎不可能将它们放在一个提示中
  • 维护所有模板变得越来越困难

在展示 Tauri 的灵活性与确保项目可维护并具有我们想要的 DX 之间取得平衡是一件困难的事情。

我们决定专注于最流行的前端框架,并利用社区调查的指导,例如 The State of JS 和我们自己的 Tauri 社区反馈。基于此,我们删除了 nextnext-tspreactpreact-tsclojurescriptsvelte-kitsvelte-kit-ts 模板,还关闭了旨在添加更多模板的 PR。

社区维护的模板和以前版本

我们希望确保为 Tauri 社区提供一个地方,让他们可以为他们喜欢的框架提供自己的模板。awesome-tauri 的模板部分正是为此而设。我们邀请社区向 awesome-tauri 仓库提交一个 PR,其中包含他们的模板,以便与 Tauri 社区共享。我们还将在 Tauri 网站上创建一个部分,重点介绍和展示这些社区模板。

如果您仍然希望使用 create-tauri-app 版本 2 中的以前模板,它们仍然发布到 npm 和 crates.io。以下是如何使用以前版本

# pnpm
pnpm create tauri-app@2

# yarn
yarn create tauri-app@2

# npm
npm create tauri-app@2

# Cargo
cargo install create-tauri-app --version 2.8.0
cargo create-tauri-app

# Bash
sh <(curl https://create.tauri.app/v/2.8.0/sh)

# Powershell
iwr -useb https://create.tauri.app/v/2.8.0/ps | iex

但是,随着时间的推移,这些模板将随着 Tauri 和前端框架的向前发展而变得过时。我们建议您查看 awesome-tauri 仓库中的社区模板,如果缺少内容,欢迎提交。


我们希望这些更改能使社区更容易试用 Tauri 2.0 的 alpha 和 beta 版本,并使每个人创建新 Tauri 应用程序的过程变得更加容易!我们很乐意听到您的反馈,并邀请您加入 此帖子的 GitHub 讨论