跳至内容
塔乌里
您正在阅读 Tauri 2.0 公测站点的博客 - 前往 Tauri 1.0 网站

Tauri 社区增长及反馈

Community growth and feedback hero image

Tauri 过去一年取得了惊人的成就。我们发布了 Tauri 1.0,宣布了 Tauri 移动版 alpha 测试版,并在 2022 年 Tauri 社区调查中从我们的社区和用户那里收集了大量的宝贵反馈。

Tauri 社区调查结果

今年,我们对 Tauri 社区调查有超过 600 人参与(是上次调查的三倍多)。我们非常感谢 Wu Yu WeiDK Liao 将调查从英语翻译成简体中文和繁体中文,以便我们将更多的人和他们的反馈纳入调查。您可以在 这里 下载调查的公开数据。

我们听取了您的反馈,并已经开始了一些项目来直接解决这些问题。我们首先要谈的是搜索。

在 Tauri.app 上的搜索改进

没有搜索,您怎么找到东西?如果您的望远镜破裂了,您能看到行星或星星吗?我们知道我们的搜索透镜上满是灰尘和划痕;有时感觉就像掷骰子,有些人甚至 求助于 ChatGPT 来寻找答案

搜索是我们多年来多次尝试的项目之一,但我们也了解到,它并不像最初看起来那么简单。Tauri 工作组中的 Ken 在先前的 tauri-search 项目中做了鼓舞人心的工作。他为理解搜索引擎的内部原理为我们打下了坚实的基础并进行了研究。


在搜索的下一迭代中,我们心中有三个目标:

  1. 保持其可维护性
  2. 保持其正常运行
  3. 保持其开放源码

搜索引擎

首先,我们需要选择一个后端搜索引擎来存储和服务搜索索引。在评估搜索引擎时,我们希望确保使用与我们开源软件和小型占用值相匹配的东西。通过比较和研究搜索市场上的参与者(以及从我们之前的Meilisearch方法中学习),我们决定选择Meilisearch,因为我们知道它符合这两个目标。

Meilisearch 对开源软件充满热情,甚至用Rust(一种具有极小占用空间和优异性能的编程语言)开发了他们的搜索引擎。他们最近宣布了Meilisearch 1.0,并且现在还为希望使用托管实例的人提供云服务。

我们决定与Meilisearch合作,使用他们的引擎和Meilisearch Cloud服务托管我们的搜索引擎。他们慷慨地为我们赞助了一个托管计划,并由他们管理。这样,我们就能够专注于构建Tauri,同时知道搜索引擎的维护和保养都在可信的伙伴手中。

搜索摄取与索引

拼图的下一部分是将内容实际索引并摄入搜索引擎。来自Tauri工作组Fabian使用Meilisearch的docs-scraper项目设置了项目。

以前,我们有一个设置,它会将我们的Markdown文档和JavaScript AST用于构建搜索索引。虽然这导致了更快的索引时间,但它意味着我们有了对搜索索引和我们在网站上渲染内容的方式之间的紧密耦合依赖。这有时会导致搜索结果与实时网站上内容不同步。为了更新网站或优化索引器,有人需要同时对两者有所了解,这使得维护变得更加困难。

在当前的抓取器版本中,我们可以通过一个单一的JSON文件来处理所有配置和结果调整,然后让抓取器处理剩下的工作。我们设置了一个GitHub动作,它会将抓取作为我们的持续集成/持续部署管道的一部分进行执行,然后将这些结果发送到我们的Meilisearch Cloud实例。

搜索前端

最后一个步骤是创建供访问tauri.app的用户交互的前端UI。来自Tauri工作组Amr创建了meilisearch-docsearch项目以帮助此事。这个仓库与Meilisearch 1.0兼容(我们现在在tauri.app上使用它)。

它受到algolia/docsearchmeilisearch/docs-searchbar.js项目的启发,这些项目提供了非常坚实的基础。开源的美丽之处在于我们可以相互学习,并将所学应用于回馈生态系统。

为了讨论一些细节,我将这交给Amr。


虽然meilisearch/docs-searchbar.js项目不错,但我总觉得它需要一些改进,以便与algolia/docsearch功能相匹配。我还觉得我们可以帮助更新以帮助改进UI/UX。

meilisearch/docs-searchbar.js的主要痛点是

  1. 在移动屏幕上,它需要UI/UX上的改进,以便搜索结果不会超出屏幕。
  2. 在桌面端,搜索结果通常出现在搜索框下方,在tauri.app的情况下,它被放置在右上角。这导致了一个糟糕的UX,因为您需要在中间的页面内容和右上角的搜索结果之间不断移动视线。
  3. 缺少了一个通用的快捷键。使用ctrl/command + K来开始搜索,ctrl/command + K在JS生态系统文档网站上非常常见。它也无法在页面中选择文本然后直接从该文本触发搜索。

我一直都是algolia/docsearch UI/UX的忠实粉丝。它检查了我列表上所有的功能,我总是想为tauri.app实现这些功能。实际上,几个月前,我试图修改我们的端点的meilisearch/docs-searchbar.js CSS来改进以上第1和第2点,但我在中途停了下来,因为构建在现有CSS之上并争夺最高的特异性非常困难(CSS还是挺难的 :wink:)。其他项目也很难从我们的修改中轻易受益。

后来,我们讨论了如何改进搜索UI和UX,我们决定可以在Meilisearch UI的基础上进行改进。这个项目变成了meilisearch-docsearch

看到它的实际应用

好消息是所有这些更改都已上线!您可以在tauri.app上看到新的搜索。我们希望听到您对哪些功能有效以及哪些需要改进的反馈,您可以在此博客文章的GitHub讨论区提供反馈。我们不仅希望您报告错误,还包括如果搜索结果不是您所期望的或者应该在结果列表较高位置的情况。

Search Preview

我们还想对Ken的原始Tauri Search项目,Amrmeilisearch-docsearch项目,Fabian撰写修订版的索引爬虫和持续测试,Meilisearch及其伙伴关系和Meilisearch Cloud实例表示感谢,最后感谢Tauri社区不断提供反馈,帮助我们推动Tauri和社区向前发展。

下一步

在未来一年里,Tauri工作组期待继续致力于Tauri 2.0。我们还在计划重写我们的网站,我们将在今年春天推出测试版本。如果您想加入我们,您可以通过Tauri Discord与我们取得联系,并在MastodonTwitter上关注我们。


© 2025 Tauri 贡献者。CC-BY / MIT