Hola, soy Adrian y voy a hablarles sobre 2 grandes sabores que combinan perfectamente. Como los huevos y el tocino para el desayuno, o el arroz con un buen huevo frito y otros ingredientes deliciosos en el bim-bim-bap, o el naan y el curry. Grandes cosas, grandes sabores, todo combina perfectamente.
En esta situación, sin embargo, estoy hablando de React y GraphQL, y les contaré dos historias propias que son anécdotas básicas de lo que pasé para argumentar que se utilicen React y GraphQL en proyectos. Específicamente, un proyecto de dispositivos IoT, donde se utilizaban pequeños chips RFID dentro de almacenes masivos y en áreas geográficas para rastrear productos de comercio electrónico y cosas así, y también solo contenedores de cosas dentro de un almacén en general y su movimiento dentro y fuera de un lugar. Necesitábamos construir una interfaz que reemplazara una aplicación de Windows. Era una aplicación nativa de Windows. Creo que se ejecutaba en Windows 95, Windows 98. Un poco antigua en estos días, pero queríamos llevarla a la web para que las personas pudieran usarla no solo en un escritorio de Windows, sino en cualquier lugar de la web.
Y luego, el otro proyecto es un proyecto de interfaces de informes donde teníamos todas estas fuentes de datos dispares y diferentes bases de datos como Postgres, MySQL, Apache Cassandra y otras cosas. Algunas de las bases de datos eran tan distintivas y algo antiguas que eran como bases de datos multivaluadas. ¿Quién ha oído hablar de eso? Ni siquiera se usa más. Pero una base de datos tenía más de 30 años, y creamos una interfaz de GraphQL sobre ella y la utilizamos en este proyecto.
Entonces, ¿por qué React y GraphQL? ¿Por qué insistí en eso en estos proyectos? La clave es esta lista básica que les voy a dar. Comenzó mencionando los patrones y prácticas que obtuvimos directamente con estas dos bibliotecas. Con React y GraphQL, hay muchas piezas que se utilizan de inmediato que son muy efectivas para el desarrollo de software. Luego, más allá de eso, al igual que con los patrones, obtuvimos mucha repetibilidad y reutilización de esas piezas dentro de esas bibliotecas. Pero también nos ayudó a ir más allá de eso y evitar mucho sobreobtención o subobtención de datos. Ese es uno de los grandes beneficios de GraphQL. Realmente te ayuda a enfocarte en lo que estás tratando de obtener y trabajar con tus datos. Y luego, además de eso, también nos enfocamos aún más en la forma en que usamos mutadores, accesores y todas estas cosas para obtener esos datos y lo que estábamos haciendo con esos datos. Ayudó mucho. Luego usamos muchos patrones como el objeto de transferencia de datos y el objeto de acceso a datos con los que el personal de desarrollo existente ya estaba familiarizado. No siempre estaban familiarizados con GraphQL o tal vez React, pero pudieron adaptarse rápidamente debido a la familiaridad existente con los patrones que habían utilizado en el pasado. Luego, yendo más allá de eso, nos deshicimos de muchas incertidumbres, como, ¿qué pasa si vamos a usar esta base de datos para siempre y la vamos a cambiar a esta otra base de datos? ¿Estamos atados a ella? ¿Tenemos bloqueo? Bueno, GraphQL eliminó eso por completo. No estamos atados a nada porque estamos construyendo una capa sobre la base de datos. Y luego obtenemos mucha reutilización de componentes y cosas así, donde es más fácil seguir patrones como el patrón de responsabilidad única para los componentes de React. Y luego, yendo aún más lejos, muchos de esos paradigmas modernos de desarrollo en torno a la programación reactiva y basada en eventos son fáciles de usar con GraphQL y React, porque gran parte de ello es la forma nativa en que esas bibliotecas harían algo, ya que ambas están construidas enfocadas en la web asíncrona. Por lo tanto, la propia naturaleza de la forma en que funcionan hace que eso sea aún más posible y más fácil de implementar con Reactive. Así que, volviendo a todo eso, esa lista de cosas, y haciendo un poco de matemáticas rápidas, como se podría decir.
Comments