GraphQL, ¿el reemplazo de REST?
Bueno si solamente
comprendiste que es REST pero no sabes que es GraphQL déjame ahorrarte la búsqueda
en Google. GraphQL es un lenguaje de queries (Query Languaje) diseñado y usado
por Facebook desde el 2010 es un lenguaje bien documentado y sorprendentemente también
Open Source. Esta orientado a ser un lenguaje de queries fácilmente escalable y
sobre todo facilitar la implementación de pedidos personalizados para obtener
exactamente lo que estas buscando.
Bueno entonces te estarás preguntando,
no cambio en nada usar GraphQL que utilizar un api REST. Suena a lo mismo que usar
un API REST. Bueno ahí es donde las nuevas funcionalidades de GraphQL entran a
brillar. Cuando uno hace un request a una API esta responde con toda la información
solicitada dicho de otra forma es un todo o nada. Además, este tipo de
arquitectura requiere de múltiples llamadas para concretar cierta información, dicho
de otra forma, para obtener un objeto en especifico tenemos que pasar por la información
que obtenemos de múltiples pedidos y así sucesivamente.
Ahí es donde brilla mas el
diseño de GraphQL que puede obtener la información específica usando una rápida
y simple llamada. Pero te estaras preguntando basado en que premisa están desarrollando
este sistema de llamadas. GraphQL esta basado en un esquema (el cual se
especifica con el cliente) y basado en este esquema se validan las llamadas a
este API. Es un nuevo sistema basado en relaciones entre objetos haciendo uso
de jerarquías y mutaciones entre los mismos.
Bueno con la información que
expusimos tenemos que llegar a una conclusión, sino la pregunta que extendimos
en el titulo no quedaría resuelta. Despues de mucha investigación en la
comunidad de desarrolladores de APIs concluyó que lastimosamente GraphQL no llegó
como un remplazo para las APIs tipo REST. Ya sabemos que pone sobre la mesa
GraphQL pero también es muy complejo de implementar ya que requiere de pensamiento
orientado a objetos mientras que el desarrollo de APIs de tipo REST
(dependiendo de la forma en que se desarrolle) es mas simple. Es debido a que
requiere un esfuerzo mayor aprender este sistema que probablemente no reemplace
los sistemas REST pero si eres de las personas que no les da miedo aprender
cosas nuevas y sobre todo si tienes una cuenta en www.github.com puedes empezar a probar este
nuevo sistema completamente gratis en:
Hasta la próxima,
-HHH
No hay comentarios: