We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
React 是当前非常流行的用于构建用户界面的 JavaScript 库, 它不仅可以为应用的每一个状态设计出简洁的视图。而且,当数据变动时,React 还能高效更新并渲染合适的组件。
然而要想开发一个完整的前端应用,仅仅使用 React 是远远不够的,我们需要以下各种工具的帮助如:
手动去实现以上功能是繁琐且没必要的,目前 React 有三个较为流行的框架可供我们选择即:Create React App、Gatsby、Next.js,下面我将逐一对比他们之间的优劣和不同。
Create React App 是 FaceBook 的 React 团队官方出的一个构建 React 单页面应用的脚手架工具。它本身集成了 Webpack,并配置了一系列内置的 loader 和默认的 npm 的脚本,可以很轻松的实现零配置就可以快速开发 React 的应用。
它适用于以下类型的网站:
CRA 的优势 ✅ :
CRA 的劣势 ⛔️:
需要注意的是,相比于 Gatsby 和 Next ,CRA 并不是一个框架,正如它官网所描述的:
Create React App 是一个官方支持的创建 React 单页应用程序的方法。
Gatsby 不仅仅是一个静态网站生成器,它更是一个渐进式 Web 应用生成器💪。它的使用背景与 CRA 完全不同。通过 Gatsby 建立的网站,很容易搜索引擎检索到,而且页面的渲染性能非常好。完美支持个人网站、博客、文档网站(PS: React 的官方文档使用的就是 Gatsby),甚至是电子商务网站。而且 Gatsby 可以在构建时通过 GraphQL 获取数据。
可以在 官方展示页面 上查看有哪些页面是用 Gatsby 构建的。
Gatsby 的优势 ✅ :
Gatsby 的劣势 ⛔️:
值得强调的是,丰富的插件系统也是选择 Gatsby 的一个原因,比如 Gatsby 提供许多博客主题插件,其他例如谷歌分析、图片压缩、预加载插件等等。
Next.js 适用于高动态或者面向用户的网页,这些页面需要优秀的 SEO,并且可能每分每秒都在变化。
举个例子:今日头条的首页会根据每个人不同的喜好来推送不同的信息流。如果使用 Gatsby 或 Create React App,会首先渲染一个空页面,然后通过 HTTP 调用来获取信息流的新闻数据。然后有了 Next ,可以在服务器端进行数据的获取,并返回完整的页面。
可以在 Next.js 的展示页面 查看有哪些应用是用 Next.js 构建的。
Next.js 的优势 ✅ :
Next.js 的劣势 ⛔️:
我们需要分析我们想要构建什么类型的网站,以便在 CRA、Gatsby 或 Next.js 之间做出正确的选择,因为他们之间差距很大,适用于不同的场景。
如果我们对项目的需求有足够的了解,在这三者之间挑选就很容易多了。
原文链接:
When to pick Gatsby, Next.Js or Create React App
The text was updated successfully, but these errors were encountered:
No branches or pull requests
React 是当前非常流行的用于构建用户界面的 JavaScript 库, 它不仅可以为应用的每一个状态设计出简洁的视图。而且,当数据变动时,React 还能高效更新并渲染合适的组件。
然而要想开发一个完整的前端应用,仅仅使用 React 是远远不够的,我们需要以下各种工具的帮助如:
手动去实现以上功能是繁琐且没必要的,目前 React 有三个较为流行的框架可供我们选择即:Create React App、Gatsby、Next.js,下面我将逐一对比他们之间的优劣和不同。
Create React App (CRA)
Create React App 是 FaceBook 的 React 团队官方出的一个构建 React 单页面应用的脚手架工具。它本身集成了 Webpack,并配置了一系列内置的 loader 和默认的 npm 的脚本,可以很轻松的实现零配置就可以快速开发 React 的应用。
它适用于以下类型的网站:
CRA 的优势 ✅ :
CRA 的劣势 ⛔️:
需要注意的是,相比于 Gatsby 和 Next ,CRA 并不是一个框架,正如它官网所描述的:
Gatsby
Gatsby 不仅仅是一个静态网站生成器,它更是一个渐进式 Web 应用生成器💪。它的使用背景与 CRA 完全不同。通过 Gatsby 建立的网站,很容易搜索引擎检索到,而且页面的渲染性能非常好。完美支持个人网站、博客、文档网站(PS: React 的官方文档使用的就是 Gatsby),甚至是电子商务网站。而且 Gatsby 可以在构建时通过 GraphQL 获取数据。
可以在 官方展示页面 上查看有哪些页面是用 Gatsby 构建的。
Gatsby 的优势 ✅ :
Gatsby 的劣势 ⛔️:
值得强调的是,丰富的插件系统也是选择 Gatsby 的一个原因,比如 Gatsby 提供许多博客主题插件,其他例如谷歌分析、图片压缩、预加载插件等等。
Next.js
Next.js 适用于高动态或者面向用户的网页,这些页面需要优秀的 SEO,并且可能每分每秒都在变化。
举个例子:今日头条的首页会根据每个人不同的喜好来推送不同的信息流。如果使用 Gatsby 或 Create React App,会首先渲染一个空页面,然后通过 HTTP 调用来获取信息流的新闻数据。然后有了 Next ,可以在服务器端进行数据的获取,并返回完整的页面。
可以在 Next.js 的展示页面 查看有哪些应用是用 Next.js 构建的。
Next.js 的优势 ✅ :
Next.js 的劣势 ⛔️:
总结
我们需要分析我们想要构建什么类型的网站,以便在 CRA、Gatsby 或 Next.js 之间做出正确的选择,因为他们之间差距很大,适用于不同的场景。
如果我们对项目的需求有足够的了解,在这三者之间挑选就很容易多了。
原文链接:
When to pick Gatsby, Next.Js or Create React App
The text was updated successfully, but these errors were encountered: