<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>全栈框架 | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《TanStack Start 心智模型：给 Next.js 开发者的迁移指南》</title><link>https://channel.meo-ai.com/posts/667</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/667</guid><pubDate>Sun, 21 Jun 2026 09:59:34 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《TanStack Start 心智模型：给 Next.js 开发者的迁移指南》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TanStack_Start&quot; title=&quot;#TanStack_Start&quot;&gt;#TanStack_Start&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Next&quot; title=&quot;#Next&quot;&gt;#Next&lt;/a&gt;.js &lt;a href=&quot;/search/result?q=%23React_Router&quot; title=&quot;#React_Router&quot;&gt;#React_Router&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TypeScript&quot; title=&quot;#TypeScript&quot;&gt;#TypeScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%A8%E6%A0%88%E6%A1%86%E6%9E%B6&quot; title=&quot;#全栈框架&quot;&gt;#全栈框架&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;文章从一位资深 Next.js 开发者的视角，系统对比了 TanStack Start 与 Next.js App Router 的核心差异。核心心智模型翻转在于：Next.js 默认服务端优先、隐式约定驱动；TanStack Start 默认同构 React、显式声明边界。作者逐一对比了路由类型系统、数据获取、服务端函数、缓存策略、渲染模式、认证防护等关键维度，指出 TanStack Start 更适合高交互 SaaS 类应用，而 Next.js 在内容型站点和成熟生态上仍有优势。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. 心智模型大翻转：Next.js 默认组件跑在服务端，需要显式标注 &lt;code&gt;&quot;use client&quot;&lt;/code&gt; 才能上客户端；TanStack Start 默认组件同构（服务端+客户端都能跑），只有需要纯服务端逻辑时才用 &lt;code&gt;createServerFn&lt;/code&gt; 显式声明，边界更清晰，不容易踩坑&lt;br /&gt;2. 路由类型系统碾压：Next.js 的文件路由是约定驱动，TypeScript 对参数无能为力；TanStack Router 会在构建时自动生成完全类型化的路由树，路径参数、搜索参数、loader 返回值全部类型推断，拼写错误直接编译报错&lt;br /&gt;3. 数据获取的&quot;陷阱&quot;：Next.js 的 Server Component 只在服务端执行，天然安全；TanStack Start 的 loader 是同构的——SSR 时跑在服务端，客户端导航时跑在浏览器里，所以直接写数据库查询会泄露环境变量，必须用 &lt;code&gt;createServerFn&lt;/code&gt; 包裹&lt;br /&gt;4. 缓存哲学更简单：Next.js 历史上有复杂的四层缓存模型，v16 改为 &lt;code&gt;&apos;use cache&apos;&lt;/code&gt; 显式 opt-in；TanStack Start 只有路由 loader 缓存 + 可选的 TanStack Query，没有隐式魔法，哪里缓存、哪里失效一目了然&lt;br /&gt;5. 认证防护双层设计：&lt;code&gt;beforeLoad&lt;/code&gt; 负责 UI 层面的重定向（用户体验），&lt;code&gt;createServerFn&lt;/code&gt; 中间件负责数据层面的安全校验（真正的安全边界），两层职责分离，比 Next.js 把 edge middleware 和 action 内校验混在一起的方案更不容易遗漏&lt;br /&gt;6. Remix 与 RSC 现状：TanStack Start 的 RSC 支持仍处于实验阶段，实现方式也与 Next.js 不同（更像客户端获取 Flight payload 后组装），如果生产环境重度依赖 RSC，Next.js 目前更成熟&lt;br /&gt;7. 选型建议：内容型/营销站点选 Next.js；高交互 SaaS 后台、需要强类型安全、讨厌隐式缓存魔法的团队，TanStack Start 值得认真评估&lt;br /&gt;&lt;br /&gt;URL：&lt;br /&gt;&lt;a href=&quot;https://www.adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://www.adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&quot;&gt;https://www.adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://adarsha.dev/blog/tanstack-mental-model-for-nextjs-developers&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Understand TanStack Start from a Next.js developer’s perspective: its router-first architecture, explicit server boundaries, typed routing, caching, rendering, and server functions.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Adarsha Acharya&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;TanStack Start: A Mental Model for Next.js Developers&quot; src=&quot;/static/https://cdn4.telesco.pe/file/Ja3_PLOYCdk_ef6YOzQimki-laVzYQKPWscgPmZVkfjz7dJvyVktlBPYjr0fz-r-XAbor1EWUAJJNcyggHiG0FZZe0VUxcREOqzVZqtUI6kwB771dWmk4swUzl_Oz5TzIpz-FxNLy2vT86ybEurfETg2ReU9ZeESH6jXHKw3Dg6KNLgpxKWmJ0lfkgXKP8Biom9MzNlGHfAiKlVipcNSSmzTWh1lC-147ID8LoseQdKaMtmwxRFIeQZJrnSFR0fiEmHe0F6AmO3fO4nx3yS42vROCGF4EcbrzO6QCrIt9g84djfexf-9do1w-T1zmrPwV_yxzAOwF3OglTbp_karFA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;TanStack Start: A Mental Model for Next.js Developers&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Understand TanStack Start from a Next.js developer’s perspective: its router-first architecture, explicit server boundaries, typed routing, caching, rendering, and server functions.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《Orval：从OpenAPI规范自动生成类型安全客户端代码》</title><link>https://channel.meo-ai.com/posts/635</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/635</guid><pubDate>Sun, 17 May 2026 10:15:08 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《Orval：从OpenAPI规范自动生成类型安全客户端代码》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%A8%E6%A0%88&quot; title=&quot;#全栈&quot;&gt;#全栈&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23OpenAPI&quot; title=&quot;#OpenAPI&quot;&gt;#OpenAPI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TypeScript&quot; title=&quot;#TypeScript&quot;&gt;#TypeScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CodeGeneration&quot; title=&quot;#CodeGeneration&quot;&gt;#CodeGeneration&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ReactQuery&quot; title=&quot;#ReactQuery&quot;&gt;#ReactQuery&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Swagger&quot; title=&quot;#Swagger&quot;&gt;#Swagger&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23APIClient&quot; title=&quot;#APIClient&quot;&gt;#APIClient&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;Orval 是一个代码生成工具，能读取 OpenAPI v3 或 Swagger v2 规范（支持 yaml 和 json 格式），自动生成带完整 TypeScript 类型签名的客户端代码。它支持 React Query、SWR、Vue Query、Svelte Query、Solid Query、Angular、Hono、Zod、原生 fetch 和 MCP 等多种框架与库，同时还能生成模型、请求函数、Hooks 和 Mock 数据。项目提供在线 Playground 快速体验，开发时使用 Bun 构建，社区活跃且有赞助支持。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. Orval 的核心能力是从 OpenAPI / Swagger 文档一键生成类型安全的 TS 客户端，告别手写接口代码的繁琐工作&lt;br /&gt;2. 生态支持非常全面，覆盖了 React、Vue、Svelte、Solid、Angular 等主流前端框架，还有 React Query、SWR 等数据获取方案&lt;br /&gt;3. 不只是生成请求函数，还能顺带产出数据模型（Models）、React Hooks、以及用于测试的 Mock 数据，一条龙服务&lt;br /&gt;4. 项目内置了在线 Playground，不用安装就能上手体验，对新手和想快速验证的同学很友好&lt;br /&gt;5. 开发侧使用 Bun 作为包管理工具，测试流程完善，包含单元测试、快照测试和 CLI 验证&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://github.com/orval-labs/orval&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/orval-labs/orval&quot;&gt;https://github.com/orval-labs/orval&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/orval-labs/orval&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺 - orval-labs/orval&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - orval-labs/orval: orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI…&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. &lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F8DBA.png&apos;)&quot;&gt;&lt;b&gt;🍺&lt;/b&gt;&lt;/i&gt; - orval-labs/orval&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>