Tanner Linsley 写于 2024年12月3日.

构建现代 Web 应用程序绝非易事。我们选择的框架和工具不仅会影响开发体验,还会决定所构建应用程序的成功与否。虽然市面上有许多优秀的框架,但我相信 TanStack Router 和 TanStack Start 因其解决开发者当前面临挑战的能力以及对未来的准备而脱颖而出。
这些不仅仅是另一套工具——它们代表着以更少摩擦和更多乐趣构建更好应用程序的承诺。以下是我认为您会像我一样喜欢使用它们的原因。
类型安全不仅仅是一个流行词——它是创建健壮、可��护应用程序的基础工具。TanStack Router 超越了基础功能,提供上下文类型安全,类型在应用程序的每个部分无缝流动。路由定义、参数、导航,甚至状态管理都与完全推断的类型协同工作。
这对您意味着什么?这意味着不再需要猜测参数是否定义正确,不再需要调试类型不匹配的问题,也不需要额外的插件或 AST 转换来填补空白。TanStack Router 与 TypeScript 的自然架构协同工作,使体验流畅、可预测且令人愉悦。
这种级别的类型安全不仅节省时间——还能建立信心。我相信其他框架需要花费数年时间才能赶上这一点。
在 Web 开发中,最被忽视但最强大的工具之一就是 URL。它是最初的状态管理系统——快速、可共享且直观。然而,许多框架将 URL 视为事后考虑,仅提供读取和写入状态的基本工具。
TanStack Router 改变了这种局面。在 URL 中管理状态不仅受到支持——还被鼓励。通过直观的 API,您可以验证、读取和更新搜索参数,内置类型安全和运行时验证。想要创建深度嵌套的动态过滤系统或将应用程序状态与 URL 同步?这毫不费力。
但这不仅仅关乎开发者便利——而是关乎创造更好的用户体验。当您的应用程序状态存在于 URL 中时,用户可以分享它、收藏它,并从离开的地方继续。TanStack Router 让这一切变得如此简单。
如果您曾使用过 Remix 或 Next.js,您会在 TanStack Start 中发现许多熟悉的概念。但熟悉并不意味着妥协。我们采用了这些框架中的一些最佳理念,并将其进一步推进,去除约束并引入更多灵活性。
例如,如果您来自像 Remix 这样的服务器优先框架,路由模式和服务器函数集成会让您感到自然,但它们同样适用于传统的客户端 SPA。您不必选择立场——您可以获得两个世界的最佳体验,减少权衡。
Web 正在快速变化。随着 React Server Components (RSCs) 的到来、React 19 引入新模式,以及流式传输成为数据传递的标准,框架需要做的不仅仅是跟上——它们需要引领。
TanStack Start 已为下一步做好准备。RSCs 被视为另一种服务器端状态,具有强大的缓存、失效和组合到应用程序中的原语。流式传输不是事后考虑——它融入了 TanStack 工作方式的核心,为您提供工具以增量方式向客户端发送数据和 HTML,而无需额外复杂性。
但我们不仅仅关注未来保障。TanStack Start 还使这些高级功能在今天变得易于接近和可用。您无需等待"下一个大事件"就可以开始构建感觉像未来的应用程序。
如今有很多关于服务器优先架构的讨论,虽然它们令人兴奋,但这并不是全部。单页应用程序 (SPA) 仍然是构建快速、交互式应用程序的绝佳方式——尤其是在正确实施的情况下。
TanStack Start 不仅让 SPA 保持可行性——还让它们变得更好。通过简化的模式、强大的状态管理和深度集成,您可以构建性能更高、更易维护且使用愉悦的 SPA。无论您是服务器优先、客户端优先,还是介于两者之间,TanStack 都为您提供构建所需应用程序的工具。
如果您使用过 TanStack Query,您已经知道它在简化数据获取方面的强大功能。但 TanStack Query 和 TanStack Router 之间的集成才是真正神奇的地方。预取数据、缓存结果和流式更新都是无缝的、直观的,并且为扩展而构建。
例如,您可以在路由加载器中预取数据,将其流式传输到客户端,并按需进行水合——所有这些都通过单一 API 完成。无论您是管理简单的博客还是复杂的仪表板,您都会发现自己花费更少时间连接数据,而将更多时间用于构建功能。
这不仅仅是集成——这是路由和数据获取之间的合作伙伴关系,相比之下让其他一切都显得笨拙。
路由不仅仅是一个工具——它是每个应用程序的骨干。然而,大多数路由器在事情变得复杂时都会遇到困难。这正是 TanStack Router 闪耀的地方。它能够处理从少数简单路由到数千个深度嵌套路由的一切,毫不费力。
类型安全导航、分层路由上下文和高级状态同步等功能使构建在规模和复杂性方面都能扩展的应用程序变得容易。由于 TanStack Router 与 TypeScript 原生协作,您可以获得类型安全的所有好处,而不会牺牲性能或灵活性。
最让我兴奋的是 TanStack 才刚刚开始。从同构服务器函数到强大的缓存原语和简化的 React Server Component 支持,我们不断推动可能性的边界。我们的目标不仅仅是构建优秀的工具——而是构建帮助您构建更好应用程序的工具。
其他框架有其优势,但如果您正在寻找创新、灵活且深度集成的工具,TanStack Router 和 Start 独树一帜。它们不仅解决今天的问题——还帮助您构建为明天做好准备的应用程序。
那么为什么要等待呢?今天就探索 TanStack Router 和 TanStack Start,看看应用程序开发可以变得多么美好。
让我们一起构建令人惊叹的东西!