Suena como un problema clásico de tratar de encontrar el nivel adecuado de abstracción para describir mejor las estructuras de datos disponibles. Absolutamente. Los mismos problemas en todas partes, ¿verdad?
Tenemos una pregunta de Bastian. Esto va a pedir una primicia, así que te dejo a ti responder o no. ¿Cuántas personas están utilizando realmente el gráfico, la API pública de GraphQL en GitHub? ¿Qué tipo de mecanismos de caché utilizamos? Sí, no puedo responder a la pregunta de los números, pero puedo responder a la pregunta de la caché. Así que en realidad, ese fue un buen tema del que hablamos en el panel anterior. Pero no hacemos nada muy, muy mágico para la caché que no se pueda ver en ningún otro lugar. Nuestra forma principal de caché es utilizar un enfoque de cargador de datos. Así que, en primer lugar, agrupamos las llamadas a nuestros servicios externos, pero también cachéamos las llamadas que ya hemos realizado durante la ejecución de una consulta. Así que tenemos cuidado de no quedarnos atrapados en ciclos extraños donde consultamos demasiados datos o donde consultas enormes sobrecargan nuestras bases de datos. Sí, es una buena respuesta. Y muestra que no tienes que hacer nada demasiado complicado para ejecutar una API de GraphQL, incluso a una escala bastante grande, imagino. Sí, definitivamente tenemos una gran escala. Y lo bueno es que antes de la API de GraphQL, teníamos una gran API REST. También teníamos una gran interfaz web. Así que creo que afortunadamente, confiamos mucho en lo que nuestro equipo de bases de datos ha estado haciendo durante años, en lo que nuestro equipo de infraestructura ha estado haciendo durante años. Así que en el lado de GraphQL, lo más importante es asegurarnos de no olvidarnos de usar el cargador de datos. Ese es el mayor peligro que intentamos evitar.
Tenemos una pregunta de Juan. ¿Podrías mencionar algunos ejemplos o escenarios comunes y no tan excepcionales donde definitivamente GraphQL no sería la mejor opción? Bueno, creo que ya hice esta pregunta, así que tal vez ya la haya robado a todos, pero también la he escrito. Sí, creo que ese es el ejemplo básico que tengo en mente. Otro ejemplo es cualquier cosa que tenga que ver... Si estás lidiando con archivos, por ejemplo, HTTP es genial para lidiar con la obtención de archivos y usar la caché allí. Obtener un archivo a través de un campo de GraphQL, por ejemplo, funciona, pero no es tan adecuado como obtener un punto final y obtener un archivo de vuelta.
Increíble. Genial. ¿Vas a escribir más libros ahora? ¿Lograste comprometerte con uno o la experiencia te ha desanimado de escribir más literatura sobre GraphQL? Es el tipo de cosa que parece que después de haber escrito uno, dices que nunca volverás a hacerlo, pero al final, creo que realmente quiero escribir otro. Un tema que me interesa mucho es el tema de mi charla. Así que una cosa en la que he estado investigando es este libro que tiene estos diálogos que tuve en la charla. Diálogos entre diferentes personajes y explorando los matices de todos estos temas, así que estén atentos a eso.
¿Y puedes contarnos qué se viene en la hoja de ruta de GraphQL en GitHub, o es completamente secreto? No puedo decir nada seguro, pero siempre lo estamos mejorando, así que estén atentos. Y realmente nos gustaría recibir sus comentarios también. Si hay algo que sienten que falta en una API de GraphQL, tal vez características que están presentes en nuestra interfaz de usuario y no en GraphQL, definitivamente comuníquense con nosotros, nos estamos enfocando en mejorarlo.
Perfecto. Creo que he logrado agotar todas las preguntas que tengo, y hemos satisfecho todas las preguntas en la sesión de preguntas y respuestas, así que creo que... Lo que vamos a hacer es dejarte ir después de pasar horas hablando desde un panel encantador hasta una charla y ahora todos nosotros aquí, y voy a pasar a un pequeño descanso y nos veremos pronto.
Comments