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:

Con la tecnología de Blogger.