Y luego, cuando hacemos un despliegue, tenemos un service worker que realmente se ejecuta en segundo plano, verifica si hay una nueva versión de la API, y cada vez que hay una nueva versión de la API, actualiza los source maps del manifiesto interno del usuario. Así que, en general, han pasado más de dos años. Estamos usando el último React, el último Vite, y el último TanSec. Y estamos bastante contentos de haber mantenido la profundidad técnica lo más cercana a cero posible mientras avanzamos muy, muy rápido en la construcción de un producto orientado al consumidor. Nuestra aplicación es muy buena ahora, si soy honesto, pero hace un año, estábamos inundados de errores, ya sean funcionales o visuales. Nuestra aplicación se rompía todos los días, especialmente durante las llamadas de ventas. Conteníamos la respiración para que no se rompiera, y tristemente, usualmente lo hacía. Se puso tan mal que todos tenían una broma corriente de que nuestra aplicación solo funcionaba el 60% del tiempo.
Entonces, ¿qué hicimos? Bueno, primero implementamos una política de no ventanas rotas. Así que si no lo sabes, la teoría de la ventana rota establece que si un vecindario tiene una ventana rota, normaliza el crimen y aumenta las tasas de criminalidad. Y sucede lo mismo en las aplicaciones. Si ya tienes errores en la aplicación, simplemente los acumulas en la lista de pendientes, creando una normalidad de que la aplicación tenga errores y se rompa. Dijimos basta. Y todos los miércoles durante todo el verano, dedicamos seis horas al día a la eliminación de errores, una competencia donde tomamos todos los errores de la lista de pendientes y los corregimos, desde errores de funcionalidad hasta errores visuales e incluso pequeñas mejoras y animaciones encantadoras.
Ahora, siendo el verano con las Olimpiadas, lo hicimos una competencia con medallas y otorgamos tarjetas de regalo de Amazon a los ganadores. En realidad, me tomó dos semanas encontrar la solución donde estoy primero. Así que fue un gran éxito para limpiar nuestra aplicación. Y como puedes ver, pero eso fue solo la mitad de la batalla. Queríamos asegurarnos de que las funcionalidades no se infiltraran en nuestros productos. Así que implementamos una forma diferente de trabajar. Nuestra aplicación front-end estaba alojada en Netlify. Y Netlify tiene la capacidad de crear vistas previas de despliegue. Y, por supuesto, puedes... Vercel tiene lo mismo y otros proveedores de alojamiento hacen lo mismo. Pero usamos estas vistas previas para hacer aceptación de diseño, pruebas de control de calidad y aceptación del producto antes de que cualquier cosa se fusione en main. Luego creamos un proceso de lanzamiento bastante bueno donde cada vez que fusionas algo, tenemos una acción de GitHub que toma el título del PR, determina la versión semántica, si es un cambio mayor, menor o de ruptura. Y luego agrega esto a nuestro borrador de lanzamiento en GitHub.
Comments