美文网首页graphql
GraphQL 从零开始学系列(一)

GraphQL 从零开始学系列(一)

作者: 萌多多指教 | 来源:发表于2019-04-10 22:57 被阅读0次

    内容主要摘取并翻译自How to GraphQL,翻译的时候做了适当的简化

    GraphQL 是由Facebook开发的一个开源项目,是一个比REST更加灵活高效的新的API标准

    API是软件开发中一个普遍存在的要素. 简而言之,API定义了客户端如何从服务端加载数据.

    GraphQL的核心思想就是允许客户端去准确声明它所需要的数据,传统的客户端可能会请求多个端点,每个端点返回固定的数据结构,而GraphQL的服务端只会暴露一个端点出来,并且返回的刚好就是客户端需要的数据

    GraphQL - 一个用于API的查询语言

    现在绝大多数应用都需要从服务端请求数据,这个数据通常是储存在数据库中的。API负责为存储的数据提供适合应用程序需求的接口。

    GraphQL经常会被误解成数据库技术,这个观念其实是不对的,GraphQL是一个用于API的查询语言 - 而不是数据库。在这个层面来说,任何使用了API的地方都可以使用GraphQL,而不用去在乎数据库用的是什么

    比REST更高效的替代方案

    💡 了解更多使用GraphQL的理由可以看看 这篇 文章

    REST 是一个常用的从服务端暴露数据的方法. 当REST这个概念被提出来的时候,客户端应用还都是一些相对简单的应用,远不及当今的发展速度,所以那个时候REST还是适合很多应用的. 然而,API在过去几年中发生了根本性的变化。特别是,有三个因素一直在挑战API的设计方式:

    1. 移动端的使用增加需要更有效的数据加载

    移动端设备的使用增加,低功耗的设备以及不稳定的网络是Facebook开发GraphQL的起因。GraphQL最大限度地减少了需要通过网络传输的数据量,从而大大改善了在这些条件下运行的应用程序。

    2. 各种不同的前端框架和平台

    运行客户端应用程序的前端框架和平台的差异使得构建和维护一个满足所有需求的API变得困难。使用GraphQL,每个客户端都可以精确访问所需的数据。

    3. 快速开发和期望快速功能开发

    许多公司都希望可以做到持续部署,快速迭代和更新产品。使用REST API,要满足客户端的需求变更的时候,往往会需要服务端配合改动提供数据的方法,这阻碍了快速开发实践和产品迭代。

    相关文章

      网友评论

        本文标题:GraphQL 从零开始学系列(一)

        本文链接:https://www.haomeiwen.com/subject/jzaoiqtx.html