El arranque, de principio a fin
Todo lo del nivel junto: la secuencia completa con sus tiempos objetivo, qué ocurre en cada momento y la lista de comprobación para no perderlo.
La secuencia
Los números son de referencia, no de ley. Lo que importa es la forma: la ventana aparece pronto, el usuario puede interactuar pronto, y el trabajo pesado ocurre detrás.
Los momentos que hay que instrumentar
Cinco marcas de tiempo, y con ellas se sabe todo:
Y conviene registrarlas siempre, no solo cuando se investiga: así, cuando un usuario diga que arranca lento, su registro ya trae el desglose. Nivel 55.3.
La lista de comprobación
Siete preguntas, para pasar antes de cada versión importante:
- ¿Cuánto hay antes de crear la ventana? Debería ser muy poco. Nivel 57.2.
- ¿La ventana aparece antes de medio segundo?
- ¿Se ve algo —esqueleto o caché— o está en blanco? Nivel 57.4.
- ¿Cuántas llamadas hace el frontend al montarse, y van en serie? Nivel 57.1.
- ¿Se construyen pantallas que no se ven? Nivel 57.3.
- ¿Se comprueban actualizaciones o se conecta a algo en el arranque? No debería. Nivel 57.2.
- ¿Se ha medido tras reiniciar, no la quinta vez seguida? Nivel 57.1.
La sexta es la que más veces sale mal en aplicaciones maduras, porque se añade en algún momento y nadie vuelve a mirar el arranque.
Por qué se degrada
Y el mecanismo es siempre el mismo: cada función nueva añade un poquito al arranque, nadie mide, y dos años después la aplicación tarda tres veces más sin que ningún cambio concreto sea culpable.
La defensa es la del nivel 56.4: un número medido automáticamente, con un umbral que falle. Sin eso, la degradación es invisible por construcción, porque nadie compara el arranque de hoy con el de hace seis meses.