Cuando mi mundo se expandió hacia nuevos horizontes mas allá a las API Rest, me decante con un tema que hasta el momento solo había escuchado en Facebook, React y Gatsby, por el tema técnico y practico estaba completamente en zero, no tenia ni idea que era una Query, aunque me lo imaginaba por tantos años de trabajo con bases de datos, pero cuando escuche de los Mutations dije... Woow! ¿Qué es esto?, fue en ese momento que en mi mente se dio ese clic que nos ocurre a todos los programadores cuando algo que jamás hemos escuchado nos provoca esa curiosidad de saber de que trata y porque existe, lógicamente con toda la ansiedad por delante de meter mano al código y verlo en funcionamiento.
Cuando empecé a investigar sobre el tema me fui dando cuenta de que existen muy pocos tutoriales o documentación sobre como crear un API con Laravel que tenga soporte para GraphQL, he elegido Laravel como mi marco Backend favorito y por supuesto pensé, debe de existir manera de hacer una API con Laravel y GraphQL, así que mi primer punto de partida fue buscar la documentación necesaria para integrar GraphQL en Laravel.
Recorrí un camino de investigación bastante complejo, lleno de horas y horas de video tutoriales en YouTube, así como artículos de esta misma comunidad. Finalmente logre integrar GraphQL con Laravel y te tengo una noticia tu también puedes hacerlo siguiendo los mismos pasos que yo mediante este otro articulo:
Ok! dije hasta aquí mi camino ha ido bien, hice algunas pruebas cree un API sencillo y logré consumirlo exitosamente con GraphiQL (Una herramienta bastante sencilla de utilizar para poder consumir mi nueva y poderosa API), inmediatamente en mi mente se dibujaba la imagen de Postman para el consumo de API Rest que siempre utilizo y recuerdo haber dicho esto es un Postman mas ligero!
Tarde un poco en entender como es que el sencillo consumo de un API hecha con GraphQL se conectaba con mi Backend de Laravel y desde las sombras ocurría toda la magia, este fue el principal reto creando mi primer API, pero con un buen análisis y lógica de programación fui rompiendo las cadenas que mi mente se planteaba constantemente.
Cuando finalmente comprendí, desde mi punto de análisis simplificado y abstracto que el crear una API GraphQL es simplemente retornar los datos como los va a consumir el cliente y después de las exhaustivas investigaciones y lecturas nocturnas, me dije a mi mismo... Siento que me falta algo para poder comprender todo el contexto que necesito, así que decidí ponerme manos a la obra.
Por azares del destino durante este periodo en la empresa de Marketing Digital Digital Booting que funde junto con mis socios hace ya algunos años, estábamos cerrando un nuevo proyecto bastante prometedor, un E-Commerce de Ropa femenina con planes ambiciosos en el mercado.
Cuando el tema de infraestructura del proyecto se toco con el equipo inmediatamente sugerí utilizar GraphQL + Laravel, después unas horas logré convencer a mi equipo de las ventajas que supondría integrar estas tecnologías en un proyecto final, que para ser sinceros jamás habíamos hecho, pero tomé el riesgo, eso es lo importante.
Lo que a mi me interesaba mucho más allá de promover en mi empresa el desarrollo de software y aplicaciones con nuevas tecnologías, mi motivación personal era exprimir al máximo mi mente y porqué no aprender algo increíble durante el proceso!
El proyecto aunque fue desarrollado durante el mismo aprendizaje de esta tecnología hoy es un éxito total, y mi objetivo fue cumplido sin más... comprendí la flexibilidad que GraphQL representaba comparado con las API Rest Tradicionales, se volvió en un nuevo servicio para la Agencia de Marketing, y todo el equipo se está especializando en ello para proveer a nuestros clientes las mejores tecnologías de desarrollo entre muchos otros beneficios.
Este es mi primer blog aquí en Dev Community
Espero escribir muchos más, lo que si puedo adelantar es mi próxima entrada retomando el Tema de GraphQL, pues me gustaría compartir con ustedes algunos temas de seguridad respecto a APIS hechas con GraphQL, que es otro tema que no he visto muy informado por aquí.
Top comments (0)