Desarrollo web: ¿demasiada 'magia' oculta el control?

Fuentes: Magic

Este artículo de Jeremy Keith explora una perspectiva poco común en el desarrollo web moderno: una aversión a la "magia" tecnológica, entendida como la dependencia de código y herramientas que no se comprenden completamente. Keith argumenta que la búsqueda de una experiencia de usuario "sin fricciones" (seamless design) a menudo conduce a una reducción de la autonomía del usuario y, en el desarrollo front-end, a una dependencia excesiva de bibliotecas y, especialmente, frameworks como React.

El autor se describe a sí mismo como un "control freak" que prefiere escribir su propio código, evitando el uso de npm para la gestión de dependencias de JavaScript y, sobre todo, rechazando frameworks. La diferencia clave entre bibliotecas (código que se llama) y frameworks (código que llama) es crucial: los frameworks imponen una estructura y un enfoque de desarrollo, limitando la flexibilidad del desarrollador. React, por ejemplo, obliga a adoptar sus convenciones y sintaxis.

Keith reconoce que la abstracción es inevitable en la programación, pero establece una línea clara para mantenerse lo más cerca posible del HTML, CSS y JavaScript nativos, ya que son los lenguajes que los usuarios finales realmente utilizan en sus navegadores. Esta postura, aunque poco común y poco práctica en un entorno comercial, le permite mantener el control y la comprensión de sus proyectos a largo plazo, como su sitio web personal y The Session.

El artículo también aborda la aparición de herramientas de generación de código basadas en modelos de lenguaje grandes (LLMs). Si bien reconoce su potencial, Keith los ve como una forma de "magia" aún más profunda, una capa adicional de abstracción que oculta la complejidad subyacente. Compara su uso con npm, pero con una escala y opacidad mucho mayores. La principal preocupación no es el código generado en sí, sino la falta de comprensión de cómo funciona, lo que puede generar problemas de mantenimiento a largo plazo, especialmente en proyectos con una vida útil prolongada. Keith enfatiza que la verdadera deuda se acumula en la falta de documentación y la dificultad para entender las abstracciones utilizadas, convirtiendo el código en un territorio desconocido y peligroso. En última instancia, el autor aboga por un enfoque más artesanal y consciente del desarrollo front-end, donde la satisfacción personal y la comprensión del código priman sobre la velocidad y la eficiencia a corto plazo.