作者 Tanner Linsley 于 2025 年 5 月 22 日。
Web 生态系统发展迅速。框架不断演进,范式不断转变,工具为了更好的想法,或者有时仅仅是为了更清晰的抽象而不断重写。这种探索是有价值的,但有时也可能让开发者落后。
我曾追求过纯粹。例如,类型安全是我非常愿意坚持的原则。我仍然相信其中一些追求是有价值的。但我也明白,长远来看,务实通常会胜出,尤其是当你试图构建开发者可以信赖、可以渐进式采用并随之成长的工具时。
构建 TanStack Start 和 TanStack Router 最令人兴奋的部分之一是它们不依赖于任何单一框架。它们的设计就是框架无关的,基于这样一个信念:UI 框架只是渲染工具,而不是你的整个应用程序应该依赖的基础。
这一决定并非为了规避未来的变化。它是为了保持路由和应用程序组合的核心思想的灵活性、可测试性,以及广泛的可用性,无论你是在使用 React、Solid、Vue,还是下一个流行的框架。
因此,TanStack 工具不需要进行转变。它们已经设计成能够适应框架的发展方向。
这种理念对我们来说并不新鲜。 TanStack Query 通过解决数据获取、缓存和失效的实际问题,而不是试图掌控你的应用架构,从而成为今天的它。它让处理异步状态变得更好,无论你的技术栈是什么。
TanStack Start 和 Router 继承了相同的精神:可组合、类型安全的原始组件,它们能很好地解决特定问题,同时让你完全掌控其深度。
一些工具旨在开箱即用地提供全栈体验。这对许多开发者来说是有效的,而且没有错。但 TanStack Start 的构建方式不同:它旨在与你的需求一起扩展,而不是超越你的需求。
你可以只使用路由。或者添加服务器函数。或者引入迷你查询缓存。你甚至可以替换其中的部分组件。这不仅仅是灵活性,而是设计上的可组合性。
我们相信抽象应该是可选的、可互换的。这就是你为工具集实现未来保障的方式。
生态系统又在再次转变,这没关系。有些人正在探索新的渲染模型。有些人正在加倍关注以服务器为中心的模式。还有些人正在重新思考框架到底是什么。
我们欢迎这种变化。事实上,我们已经为此做好了准备。
通过专注于原始组件而非平台,TanStack 工具与 Web 一同成长,而不是与之背离。我们不是在追逐“白板”,而是在构建有效的解决方案,改进无效的方案,并专注于帮助开发者构建今天和明天的优秀应用程序。
我们无意说服你。我们在这里支持你,无论你身在何处,无论你将走向何方。