阿波罗和盖茨比有啥区别? [关闭]

Posted

技术标签:

【中文标题】阿波罗和盖茨比有啥区别? [关闭]【英文标题】:What's the difference between Apollo and Gatsby? [closed]阿波罗和盖茨比有什么区别? [关闭] 【发布时间】:2020-11-21 18:17:03 【问题描述】:

我试图了解它们的区别。

据我了解,Apollo 是 GraphQL 的一种实现,而 Gatsby 是一个使用 Apollo 构建服务器端渲染应用程序的框架。这种解释正确吗?

不胜感激!

【问题讨论】:

【参考方案1】:

Apollo (apollo-client) 是一个高度可定制的带有规范化缓存的 graphql 客户端。

Gatsby 是一个基于 node.js 的静态内容生成器。结果具有一种 [服务器端渲染] 反应应用程序,可以从任何支持静态内容(静态 html、js、图像)的(廉价)服务器“运行”——即使没有任何动态内容支持(例如 php)。页面被预呈现为 html(有利于 SEO),并且它们之间的转换被优化(预加载)。

Gatsby 和 graphql - 它在 redux 中管理内部内容,但提供由自己/内部客户端/lib 使用的 graphql api 数据源(在页面/模板中)以创建静态 [快速] 页面。这是仅编译时“服务器+客户端”。事实上不是服务器也不是客户端(不是apollo),更像是一组使用graphql查询格式描述模板数据需求、数据处理等的助手(可定制的编译系统)。

您可以在 gatsby 页面模板中使用apollo-client [react] 组件/钩子来运行时数据获取 [从静态/生成的页面]。您可以在 gatsby 的 node.js 编译环境中使用它来获取数据(而不是源插件)。

【讨论】:

以上是关于阿波罗和盖茨比有啥区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在盖茨比中,扩展组件与箭头功能有啥区别[重复]

处置和关闭有啥区别? [复制]

URLRequest 和 URL 有啥区别? [关闭]

useContext 和 Redux 有啥区别? [关闭]

QEMU 和 VirtualBox 有啥区别? [关闭]

sed 和 awk 有啥区别? [关闭]