En la era de la inteligencia artificial y la proliferación de herramientas de desarrollo web complejas, a menudo nos perdemos en la búsqueda de interacciones sofisticadas y dinámicas en las páginas web. Sin embargo, el autor, Jim Nielsen, propone un enfoque refrescante y fundamental: construir sitios web a partir de múltiples páginas HTML sencillas, conectadas mediante enlaces tradicionales y mejoradas con transiciones de vista CSS. Esta técnica, que él denomina “(L)ots of (L)ittle ht(M)l page(s)”, busca evitar la dependencia excesiva de JavaScript para las interacciones, priorizando la accesibilidad, la robustez y la simplicidad.
¿Cómo funciona? En lugar de desplegar menús o elementos interactivos mediante JavaScript, se crea una página HTML dedicada a cada función. Por ejemplo, en lugar de un menú desplegable, se crea una página /menu/ a la que se accede a través de un enlace. La navegación entre páginas se realza con transiciones CSS, proporcionando una experiencia visual atractiva sin comprometer la funcionalidad en dispositivos o navegadores más antiguos o con JavaScript desactivado. La “magia” radica en cómo se implementa el cierre de la página del menú. Al volver a la página anterior, se utiliza JavaScript para simular un “back” en el historial del navegador, evitando así que la apertura y cierre del menú se registren como entradas separadas en el historial. Esto se logra mediante una comprobación (document.referrer) para determinar si la página se accedió a través de una navegación normal o directamente, ajustando el comportamiento del enlace de cierre en consecuencia.
¿Para qué sirve y quién lo usaría? Esta técnica es ideal para sitios web donde la accesibilidad y la compatibilidad son primordiales, como blogs, sitios de documentación o incluso aplicaciones web más complejas donde se busca una arquitectura más predecible y fácil de mantener. Es especialmente útil para desarrolladores que buscan alejarse de la complejidad del JavaScript moderno y volver a los fundamentos de la web.
Consideraciones: Aunque el concepto es simple, su implementación requiere una cuidadosa planificación y una comprensión de cómo funciona la navegación web. La principal limitación es que puede no ser adecuado para aplicaciones web que requieren interacciones extremadamente complejas o actualizaciones en tiempo real. Alternativas incluyen el uso de frameworks JavaScript más ligeros o la optimización del código JavaScript existente para mejorar el rendimiento y la accesibilidad. En última instancia, el enfoque de Nielsen nos recuerda que a veces, la solución más elegante es la más simple: volver a los fundamentos de la web y aprovechar el poder de los enlaces y las transiciones CSS.
