React vs Next.js.你应该使用哪一个?

1,789 阅读4分钟

随着最近前端Web开发的趋势,我们已经看到了很多新的JavaScript框架集合,每个框架都有其独特的方式,并有其优势和劣势。

因此,我只想看看React方面的情况,看看React生态系统中的两个主要竞争者,即 "vanilla "ReactNext.js,然后看看为什么有人会选择其中一个,以及在前端应用开发方面各自带来的好处。

如果你还不熟悉Next.js是什么,你可以在这里查看一篇有用的文章。

相关概念

首先,我们要让自己适应三个关键的概念:

  • SEO(搜索引擎优化)
  • SSR(服务器端渲染)
  • SSG(静态网站生成器)

之后,我们就可以在选择前端技术(在我们的案例中是框架/库)方面进行比较,并分析每种方法的优点和缺点。

1.SEO(搜索引擎优化)

SEO Illustration

www.vinnove.com/blogs/four-…

你可能已经对这个概念很熟悉了,因为现在到处都在讲这个概念。不过,如果你不熟悉,SEO指的是以在谷歌搜索引擎上获得更高的排名为目标的网站的过程/优化

在SEO方面,一个优化良好的网站很可能被列在谷歌的前几页。

2.SSR(服务器端渲染)

Server Side Rendering Illustration

www.websitepulse.com/blog/server…

SSR指的是一个应用程序在服务器(后端)上渲染内容的能力,并返回渲染的整个页面,而不是在浏览器中渲染页面

它类似于PHP、Ruby、Java和其他服务器语言/框架从一开始就提供内容的方式。

所有的数据将在后端进行处理,处理完毕后,内容将被送回给客户端。

3.SSG(静态网站生成器/生成)

Static Site Generator Flow Illustration

teleporthq.io/blog/what-i…

SSG是一种工具,可以根据预定义的模板和原始数据生成完整的HTML页面,这些页面已经准备好提前渲染。与传统的数据库驱动的CMS不同,SSG从静态Markdown文件/GraphQL生成内容,而不需要数据库。

现在我们已经对这些概念有了更多的了解,让我们来看看所提到的每种技术的优点/缺点。

优点和缺点

React

优点

  • 支持创建SPA(单页应用)。
  • 更快的开发时间
  • 更高的可定制性
  • 无偏见
  • 伟大的多面手
  • 有大量了解React的开发者市场

缺点

  • 它需要更多的努力来提高SEO
  • 一般来说,应用程序速度较慢
  • 首批内容较大,在首次打开应用程序时,可能会有较长的加载过程。

Next.js

优点

  • 支持开箱即用的SSR和SSG
  • 由于SSR和SSG的功能,对SEO非常有利
  • 性能良好
  • 重量轻
  • 设置过程简单
  • 易于配置

缺点

  • 倾向性很强
  • 与React的CRA相比,学习曲线更陡峭
  • 在以后的开发过程中更有可能变得非常复杂

你应该使用哪一个?

在了解了每个框架的优点/缺点之后,自然要看看每个框架/库的一些用例。这样,你就能更好地了解哪种技术更适合你的业务需求了。

React

React Logo On Black Background

由于它的优点和缺点,React的CRA最适合于SEO不那么重要或开发时间很短的情况下。

用例

  • 大多数情况下,所有的东西都要在登录后才能使用
  • 管理平台
  • CRMs
  • 仪表板

下一页.js

每当我们谈到良好的SEO和应用程序内容的频繁变化时,Next.js都是主要的竞争者。

然而,随着SSG的加入,更多的用例将使静态页面不经常改变其内容,并要求具有良好的性能和SEO。

这样的用例是

  • 社会媒体平台
  • 电子商务应用
  • SaaS
  • 博客
  • 个人页面
  • 主页
  • 文档

结语

综上所述,我希望你现在对为你的项目选择合适的前端技术有了更好的认识。

如果你对我在本文中提到的任何问题有任何建议、批评或反馈,请随时在下面留言。谢谢!

直到下一次!干杯!