by Tanner Linsley on Dec 03, 2024.
构建现代 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,看看应用程序开发可以有多好。
让我们一起构建令人惊叹的东西!