Ir al contenido

GraphQL

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 04:11 5 oct 2020 por AlexFBP (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
GraphQL
Información general
Tipo de programa Graph Query Language
Autor Facebook
Desarrollador Facebook, and community
Lanzamiento inicial 2015
Enlaces

GraphQL Es una consulta de dato de fuente abierta y lengua de manipulación para APIs, y un runtime para cumplir consultas con datos existentes.[2]​ GraphQL Estuvo desarrollado internamente por Facebook en 2012 antes de ser liberado públicamente en 2015.[3]​ El 7 de noviembre de 2018, el GraphQL el proyecto estuvo movido de Facebook al nuevamente-establecido GraphQL Fundación, hosted por la Fundación de Linux sin ánimo de lucro.[4][5]​ Desde entonces 2012, GraphQL el aumento ha seguido la adopción timeline tan puesto fuera por Lee Byron, GraphQL creador, con exactitud.[6]​ El objetivo de Byron es para hacer GraphQL este presente en las plataformas de web.

Proporciona una aproximación de web en desarrollo APIs y ha sido comparado y contrastado con REST y otras arquitecturas de servicio web. Deja clientes para definir la estructura del dato requirió, y la misma estructura del dato está regresada del servidor, por lo tanto impidiendo excesivamente cantidades grandes de datos de ser regresados, pero esto tiene implicaciones para cómo web eficaz caching de resultados de consulta pueden ser. La flexibilidad y richness de la lengua de consulta también añade complejidad que no puede valer la pena para sencillo APIs.[7][8][9]​ Consta de un sistema de tipo, lengua de consulta y ejecución semantics, validación estática, e introspección de tipo.

GraphQL Apoya leer, escritura (mutando), y suscribiendo a cambios a dato (realtime actualizaciones @– la mayoría de generalmente implementó utilizar WebHooks).[10]​ GraphQL Los servidores son disponibles para lenguas múltiples, incluyendo Haskell, Javascript, Perl, Pitón, Ruby, Java, C++[11]​, C#, Scala, Va, Elixir, Erlang, PHP, R, y Clojure.[12][13][14][15][16]

El 9 de febrero de 2018, el GraphQL Schema Lengua de Definición (SDL) devenía parte de la especificación.[17]

Ejemplo

POST request:

{
    orders {
        id
        productsList {
            product {
                name
                price
            }
            quantity
        }
        totalAmount
    }
}

Respuesta:

{
    "data": {
        "orders": [
            {
                "id": 1,
                "productsList": [
                    {
                        "product": {
                            "name": "orange",
                            "price": 1.5
                        },
                        "quantity": 100
                    }
                ],
                "totalAmount": 150
            }
        ]
    }
}

Ve también

Referencias

  1. «GraphQL June 2018 Release Notes». Consultado el 26 de marzo de 2019. 
  2. «GraphQL: A query language for APIs.». 
  3. «GraphQL: A data query language». 
  4. «Facebook's GraphQL gets its own open-source foundation» (en inglés estadounidense). Consultado el 7 de noviembre de 2018. 
  5. «The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL - The Linux Foundation» (en inglés estadounidense). 6 de noviembre de 2018. Consultado el 7 de noviembre de 2018. 
  6. Anthony, Art. «Is GraphQL Moving Toward Ubiquity?». NordicAPIs. 
  7. «GraphQL vs REST: Overview» (en inglés británico). Consultado el 25 de noviembre de 2018. 
  8. «Why use GraphQL, good and bad reasons» (en inglés estadounidense). 4 de agosto de 2018. Consultado el 26 de noviembre de 2018. 
  9. «GraphQL Fundamentals». Howto GraphQL. Consultado el 4 de julio de 2018. 
  10. «GraphQL». facebook.github.io. Facebook. Archivado desde el original el 18 de julio de 2018. Consultado el 4 de julio de 2018. 
  11. graphql/libgraphqlparser, GraphQL, 27 de mayo de 2020, consultado el 30 de mayo de 2020 .
  12. «Hasura – Instant Realtime GraphQL on Postgres». Hasura. Consultado el 24 de octubre de 2019. 
  13. «GraphQL js». 
  14. «GraphQL - Perl implementation of GraphQL». 
  15. «Graphene». graphene-python.org. Consultado el 18 de junio de 2017. 
  16. «Absinthe: The GraphQL toolkit for Elixir». Consultado el 19 de julio de 2018. 
  17. «GraphQL SDL included in Github repository». 

Enlaces externos