Next.js 要不要学习

Next.js 要不要学习
Photo by Growtika / Unsplash

为什么要学习 Next.js ?

多年前关注到海外 Next.js 非常火爆,国外 JavaScript 全栈开发者非常多,大多都会用 Next.js 。而当我着手使用 Next.js 后,发现打开了新的大门。

个人觉得,对于国内的大多数公司来说,如果想用 Next.js 搞公司内部业务的话,意义不大。

  • Node.js 本身在国内的开发生态里面,更多都是偏向工具和流程的定位,真正用来做业务的还是少,对于小公司来说,团队稳定性和后续招人是个隐性问题。
  • Next.js 的核心是性能优化能力,在国内业务生态里面,好像并没有太大的价值(想一想,老板会关注这些吗?),而且国内 SEO 的情况,基本上付费才是 SEO 的最佳方式..。
  • Next.js 生态里面如 Serverless & No Server 生态里面的很多服务都是国外的,并不适合国内开发团队。

对于个人成长来说,倒是了解到更多性能优化的手段和实现方式。但更加推荐以下同学尝试:

  • 自己公司做出海业务的,自然要对接海外很多的开发生态和服务,比如目前很火的 AI 应用落地,包括我自己用的也是。
  • 独立开发者,JavaScript 一门语言,即可快速搭建一套 Web 产品
  • 海外兼职 & 全职开发,如果你要做海外 JavaScript 全栈开发,Next.js 应该是必须要学的

不用 Next.js 不行吗?

这个问题就类似,我用 Jquery 开发有何不可,为何要用 React ?对我而言,技术的发展和火爆,一定是基于其历史和需求而演进的,并非为了技术而技术,拥抱 Next.js ,是为了未来。

最初可能会认为 SEO 是学习 Next.js 的首要原因,这个是错误的理解,因为目前搜索引擎基本都针对单页应用做了 SEO 的优化,已经不是几年前的情况了。SEO 可以理解为 Next.js 提供的 SSR 方案带来的一个便捷的好处而已。

我认为,学习 Next.js 的原因如下。

1、性能优化综合解决方案

Next.js 的核心是其性能优化的方案,比如对于缓存的极致拆分和应用,其核心 SSR,SSG,ISR,以及基于 React Server Component 的 APP Router,Streaming 都是为了提升性能服务。路由缓存、接口缓存、内置 Image 组件的各种优化、懒加载、预加载。。。Next.js 提供了上述技术点的一整套的解决方案。

2、全栈开发的好搭档

Next.js 拥有服务端开发的能力,对于很多中小型的应用,一套 Next.js 即可完成开发,仅仅用一套通用的 JavaScript & TypeScript 就能避免前后端的 Gap,在很多场景下让人直呼真香,小的创业团队,或者中小型应用,Next.js 应该是事实上的首选了。

3、强大的生态

  • 配合 TailwindCSS 生态里面的各种组件,能够快速而且个性化的定制自己的网站。
  • 国内可能不重视 SEO,但是在国外基本都是 Google 覆盖的情况下,SEO 是能决定公司营收的巨大利器,Next.js 自然而然就会被用到。
  • Vercel 平台的出现,一改之前 Web 应用开发的形式,提供 Serverless 的打包构建、部署的能力,能够消除开发者在部署上面的精力消耗,只聚焦业务开发即可,而且 Vercel 公司的运作模式,注定 Next.js 的发展速度和上限会更高。

2023 年被称为 AI 元年,如果你关注那些开源的 AI 网站,很多都是基于 Next.js 构建的

如何学习

Next.js 基本上中文资料都参差不齐,建议直接看英文官网文档,避免踩坑。

Next.js 官方提供了许多示例,在熟悉了官网网站的使用后,直接看这些示例,就能直接了解到实际场景中的使用了,这样学习会事半功倍。