También disponible en Inglés
El problema
Un equipo adopta una biblioteca de componentes. Los botones se ven bien. Las tarjetas son consistentes. Los modales se comportan como deben comportarse.
Seis meses después, nadie puede predecir con certeza cuál de dos reglas en conflicto ganará en una página determinada. No porque la biblioteca haya hecho un mal trabajo; hizo exactamente lo que prometió. Solo que nunca prometió nada sobre eso.
Por qué existe el problema
Las bibliotecas se evalúan según la calidad y la integridad de lo que entregan: cuántos componentes incluyen, qué tan consistentes lucen, qué tan bien los cubre la documentación. Son aspectos razonables a verificar. Ninguno de ellos influye en la precedencia, los límites o el orden de resolución.
Una biblioteca puede calificar alto en cada eje evaluado y, aun así, dejar la cascada tan desatendida como antes de su llegada. No es un fallo oculto que nadie haya detectado. Es una categoría que la evaluación nunca consideró, porque ¿qué tan buenos son los componentes? y ¿qué garantiza este sistema? son preguntas distintas. Y solo una se suele formular en voz alta.
El primer principio
Una biblioteca es una colección de componentes. Una arquitectura es una colección de garantías.
Una biblioteca responde qué puedo usar. Una arquitectura responde en qué puedo confiar. Un equipo puede tener una respuesta excelente y bien documentada para la primera pregunta y ninguna para la segunda. Poseer un gran conjunto de componentes no implica nada sobre cómo se resuelven entre sí, ni frente a cualquier otro elemento que ya esté en la página.
Demostración del principio
.card-title { font-size: 1.25rem; }
.text-lg { font-size: 2rem; }
Ambos provienen de la misma biblioteca. Aplicados al mismo elemento, uno de ellos gana, decidido por la especificidad ordinaria, el source order o lo que esté presente en la hoja de estilo ese día. La biblioteca nunca declaró una respuesta en ningún sentido. Entregó dos componentes y dejó su relación mutua completamente sin resolver. Abordar esa relación nunca formó parte de lo que significaba biblioteca.
quell como caso de estudio
quell no es una biblioteca de componentes con una arquitectura añadida a posteriori. Las garantías son lo primero; los componentes son su superficie visible.
La lección general
La misma confusión aparece dondequiera que la abundancia se confunda con la estructura. Una caja de herramientas bien surtida no es un diseño sobre cómo deben usarse esas herramientas juntas, sin importar cuántas contenga ni qué tan bien fabricada esté cada una.
Esa es la distinción sobre la que continúan construyendo los dos últimos artículos.
Top comments (0)