Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

¿Por qué usar GraphQL en lugar de REST?

Modo de enfoque
¿Por qué usar GraphQL en lugar de REST? - AWS AppSync GraphQL

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

REST es uno de los estilos arquitectónicos fundamentales de la web. APIs Sin embargo, cuanto más se interconecte el mundo, la necesidad de desarrollar aplicaciones robustas y escalables se convertirá en un tema cada vez más urgente. Si bien REST se suele utilizar para crear sitios web APIs, se han identificado varios inconvenientes recurrentes en RESTful las implementaciones:

  1. Solicitudes de datos: Al usarlo RESTful APIs, normalmente solicitarías los datos que necesitas a través de puntos finales. El problema surge cuando hay datos que pueden no estar tan bien empaquetados. Es posible que los datos que necesite estén ocultos tras múltiples niveles de abstracción y que la única forma de obtenerlos sea mediante varios puntos de conexión, lo que implica realizar diversas solicitudes para extraer todos los datos.

  2. Obtención excesiva o insuficiente de datos: para agravar los problemas que plantean las solicitudes múltiples, los datos de cada punto de conexión están estrictamente definidos, por lo que se obtendrá como resultado todos los datos que se hayan definido para esa API, incluso si técnicamente no los deseaba.

    Esto puede provocar una obtención excesiva de datos, lo que significa que nuestras solicitudes devuelven datos superfluos. Por ejemplo, supongamos que solicita datos del personal de la empresa y desea saber los nombres de los empleados de un departamento determinado. El punto de conexión que devuelve los datos contendrá los nombres, pero también puede contener otras informaciones, como el cargo o la fecha de nacimiento. Como la API es fija, no se puede solicitar simplemente los nombres, sino que el resto de los datos se incluyen también.

    La situación opuesta, en la que no devolvemos suficientes datos, se denomina obtención insuficiente de datos. Para obtener todos los datos solicitados, tal vez deba realizar varias solicitudes al servicio. En función de cómo estén estructurados los datos, puede encontrarse con consultas ineficientes que den lugar a problemas como el temido problema n+1.

  3. Iteraciones de desarrollo lentas: muchos desarrolladores las adaptan RESTful APIs al flujo de sus aplicaciones. Sin embargo, a medida que sus aplicaciones crecen, es posible que tanto el front-end como el backend requieran cambios importantes. Como resultado, es APIs posible que ya no se ajusten a la forma de los datos de una manera eficiente o impactante. Esto hace que las iteraciones de los productos sean más lentas debido a la necesidad de modificar la API.

  4. Rendimiento a escala: debido a estos problemas agravados, la escalabilidad se verá afectada en numerosos ámbitos. El rendimiento de las aplicaciones puede verse afectado porque las solicitudes devuelvan demasiados datos o muy pocos (lo que se traduce en más solicitudes). Ambas situaciones provocan una carga innecesaria en la red, lo que se traduce en un rendimiento deficiente. Por parte de los desarrolladores, es posible que la velocidad de desarrollo se reduzca porque los datos que solicitan APIs son fijos y ya no caben en ellos.

El argumento de venta de GraphQL es la superación de los inconvenientes de REST. Estas son algunas de las soluciones clave que GraphQL ofrece a los desarrolladores:

  1. Puntos de conexión únicos: GraphQL utiliza un único punto de conexión para consultar datos. No es necesario crear varios para APIs adaptarlos a la forma de los datos. El resultado de esto es un menor número de solicitudes que circulan por la red.

  2. Obtención de datos: GraphQL resuelve los problemas perennes de la obtención excesiva o insuficiente de datos simplemente definiendo los datos que necesita. GraphQL permite dar forma a los datos para que se ajusten a sus necesidades y solo reciba lo que haya pedido.

  3. Abstracción: APIs GraphQL contiene algunos componentes y sistemas que describen los datos utilizando un estándar independiente del lenguaje. En otras palabras, la forma y la estructura de los datos están estandarizadas para que tanto el frontend como el backend sepan cómo se van a enviar a través de la red. Esto permite a los desarrolladores de ambas partes trabajar con los sistemas de GraphQL y no cerca de ellos.

  4. Iteraciones rápidas: debido a la estandarización de los datos, es posible que los cambios realizados en un extremo del desarrollo no sean necesarios en el otro. Por ejemplo, es posible que los cambios de presentación del frontend no provoquen variaciones importantes en el backend, ya que GraphQL permite modificar fácilmente la especificación de los datos. Simplemente puede definir o modificar la forma de los datos para adaptarlos a las necesidades de la aplicación a medida que crecen. La consecuencia de esto es la reducción del trabajo de desarrollo potencial.

Estas son solo algunas de las ventajas de GraphQL. En las siguientes secciones, aprenderá a estructurar GraphQL y las propiedades que lo convierten en una alternativa única a REST.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.