En la Unidad 39 de nuestro curso de libro electrónico, abordaremos un tema que ha ganado cada vez más importancia en el desarrollo de API: GraphQL. GraphQL es un lenguaje de consulta para API y un tiempo de ejecución para ejecutar esas consultas con datos existentes. Ofrece una alternativa más eficiente y potente a REST y promete una mayor eficiencia para los desarrolladores.

Antes de entrar en los detalles de GraphQL, comprendamos un poco más sobre sus antecedentes. GraphQL fue desarrollado internamente por Facebook en 2012 antes de ser lanzado públicamente en 2015. Desde entonces, ha sido adoptado por muchas empresas y tiene una comunidad de desarrolladores en rápido crecimiento.

GraphQL no es un lenguaje de programación, sino un lenguaje de consulta para API. Permite a los clientes definir la estructura de los datos de respuesta requeridos, evitando la sobrecarga y la subutilización de los datos. Esto significa que el cliente tiene más control sobre los datos de respuesta que en REST.

Para comprender mejor GraphQL, comparémoslo con REST. En REST, para recuperar datos, es posible que deba realizar varias solicitudes a diferentes puntos finales. Por ejemplo, para obtener información sobre un usuario y sus publicaciones, es posible que deba acceder a los puntos finales /user y /user/posts. Sin embargo, con GraphQL, puede obtener toda la información que necesita con una sola solicitud a un único punto final. Esto hace que GraphQL sea más eficiente en la red que REST.

Además, en REST, el servidor define la estructura de los datos de respuesta. Esto puede provocar un exceso de datos, donde el cliente recibe más datos de los que realmente necesita. Sin embargo, con GraphQL, el cliente define la estructura de los datos de respuesta. Esto evita la sobrecarga de datos y garantiza que el cliente obtenga exactamente lo que necesita.

Ahora que entendemos qué es GraphQL y cómo se compara con REST, profundicemos en cómo funciona. En GraphQL, usted define tipos y campos en sus esquemas de datos, así como funciones para cada campo en sus tipos. Estas funciones se denominan solucionadores y se utilizan para recuperar los datos de ese campo.

Por ejemplo, si tiene un tipo de usuario con campos de identificación y nombre, definiría resolutores para obtener la identificación y el nombre de un usuario. Cuando un cliente realiza una consulta para obtener la identificación y el nombre de un usuario, GraphQL ejecuta los solucionadores correspondientes y devuelve los datos.

Además, GraphQL admite consultas anidadas, lo que significa que puede recuperar datos relacionados en una sola consulta. Por ejemplo, puede recuperar un usuario y todas sus publicaciones en una sola consulta. Esto es muy poderoso y una de las principales razones por las que GraphQL es tan popular.

Para implementar GraphQL en NodeJS, puede utilizar varias bibliotecas como Apollo Server, Express GraphQL y otras. Estas bibliotecas proporcionan una manera sencilla de crear un servidor GraphQL y definir sus esquemas de datos y resolutores.

En resumen, GraphQL es un lenguaje de consulta potente y eficiente para API que ofrece muchos beneficios sobre REST. Permite a los clientes definir la estructura de datos de respuesta, admite consultas anidadas y se puede implementar fácilmente en NodeJS con varias bibliotecas. En la siguiente unidad, profundizaremos en cómo implementar GraphQL en NodeJS y crearemos nuestra primera API GraphQL.

Esperamos que esté tan entusiasmado como nosotros por comenzar con GraphQL. ¡Continuemos nuestro viaje de aprendizaje y sumergámonos en el maravilloso mundo de las API GraphQL!

Ahora responde el ejercicio sobre el contenido:

¿Qué es GraphQL y cómo se compara con REST?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Creando API con GraphQL y NodeJS

Siguiente página del libro electrónico gratuito:

141Creando API con GraphQL y NodeJS

3 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.