When change my tech stacks


这是一个非常主观的问题,仅代表我个人的思考,不代表我所在的团队的思考。

1. 当社区中大多数项目都已经切换了

应该拥抱社区,不能独自坚守。

例子:

  1. 我个人认为从 validation 角度,yup 是 Good Enough。但是如果你关注社区,你会发现社区中大多数项目已经开始使用 zod,我觉得不应该再坚守了。
  2. 我认为 CICD 角度,CircleCI is Good Enough。但是自从 GitHub Actions 出现以后,社区中大多数项目都开始使用 GitHub Actions 了,我觉得自己也应该切换了。
  3. 曾经 create-react-app 是业界主流,但是 2025 年了,连 React 官方都推荐大家使用 Next.js or Remix 这样的框架,不再推荐 create-react-app 了。是时候切换了。

2. 当你的思维模式发生变化

如果你已经掌握了新的思考方式和设计思想,应该选择能更加发挥你能力的工具。

例子:

  1. SPA 时代,client-side fetch 是主流,但是使用 remix loader 之后,我发现我已经完全接受 SSR 的思维模式了。我开始放弃使用 react-query 了,对比 Server Components 和 Server Functions,react-query 提供了 query 和 mutation 的确有点繁琐了。虽然可以提供 client-side cache。

3. 当你遇到当前技术栈无法解决的问题

例子:

  1. 你需要的是可以插入到任何 website 的 widget,那么需要 server 的 Next.js / Remix 就不适合你。
  2. 你期待 end-to-end type safe,RESTful API 就不适合你