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 包管理器吗?
- 为什么选择它而不是
pnpm
或yarn
?
如果我们决定添加一种新的前端语言(例如 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 社区反馈。基于此,我们删除了 next
、next-ts
、preact
、preact-ts
、clojurescript
、svelte-kit
和 svelte-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 讨论。