2 puntos por GN⁺ 2023-11-13 | 1 comentarios | Compartir por WhatsApp

Introducción a los principios de HTML First

  • Aprovechar las funciones básicas de los navegadores web modernos
  • Aprovechar la extrema simplicidad de la sintaxis de atributos de HTML
  • Aprovechar la función ViewSource de la web

Objetivos de HTML First

  • Ampliar la cantidad de personas que pueden trabajar en bases de código de software web
  • En lo personal, lograr que más personas se conviertan en programadores web y aumenten sus ingresos
  • Desde el punto de vista del negocio, reducir los costos de desarrollo de software y ahorrar recursos de contratación

Segundo objetivo de HTML First

  • Hacer que el desarrollo de software web sea más agradable y fluido
  • En lugar de tardar años en dominar herramientas y frameworks, alcanzar rápidamente un buen nivel con los principios de HTML First

Cómo hacer realidad HTML First

  • Reconocer que HTML es fácil de entender y usarlo como base no solo para definir contenido y estructura, sino también para el estilo y el comportamiento

Principio: preferir el enfoque Vanilla

  • Usar atributos HTML para el estilo y el comportamiento
  • Usar bibliotecas que aprovechen atributos HTML
  • Evitar la etapa de build
  • Preferir HTML "desnudo"
  • Usar un enfoque amigable con View-Source

Aprovechar el soporte nativo del navegador

  • Lograr funcionalidades con un enfoque "vanilla" en lugar de depender de frameworks externos
  • Antes de agregar bibliotecas o frameworks, verificar si puede resolverse con HTML/CSS puro

Definir estilo y comportamiento con atributos HTML

  • El estilo puede lograrse con bibliotecas SPC como Tailwind o Tachyons
  • Para el comportamiento, usar bibliotecas como hyperscript y Alpine
  • Aunque el HTML puede verse complejo, es fácil de entender y modificar para otros desarrolladores

Usar bibliotecas que aprovechen atributos HTML

  • Se recomienda usar bibliotecas que aprovechen atributos HTML en lugar de bibliotecas centradas en JavaScript o sintaxis personalizadas

Evitar la etapa de build

  • Las bibliotecas que exigen transformación de archivos aumentan la carga de mantenimiento y perjudican la función ViewSource
  • Al usar bibliotecas HTML First, se minimiza la necesidad de CSS y JS adicionales

Preferir HTML "desnudo"

  • Es el principio más aplicable a implementaciones de backend
  • Un desarrollador familiarizado con HTML puede entender archivos de vista aunque no conozca el framework de backend

Mantener la función View-Source

  • Uno de los encantos de la web inicial era poder "echar un vistazo" al código y entender parte de una página web
  • En los sitios que siguen los principios de HTML First, se recupera la función ViewSource

Cierre

  • Las prácticas y principios descritos en este sitio siguen siendo minoritarios en toda la industria
  • Se busca encontrar y conectar con personas que compartan estas ideas

Opinión de GN⁺

Lo más importante de este texto es la introducción de los principios de HTML First para mejorar la accesibilidad y la mantenibilidad del desarrollo web. Estos principios hacen que el desarrollo web sea más fácil y rápido, y ofrecen beneficios tanto a las personas como a los negocios al permitir que más gente participe en la programación web. Este enfoque resulta interesante porque puede reducir la complejidad del desarrollo web, mejorar la legibilidad del código y fomentar el intercambio de conocimiento y la colaboración dentro de la comunidad de desarrolladores.

1 comentarios

 
GN⁺ 2023-11-13
Opiniones de Hacker News
  • En teoría y en ejemplos simples suena interesante, pero hacen falta casos que muestren cómo estos principios se aplicaron en proyectos grandes y qué diferencia marcaron.
  • Estoy a favor de aprovechar al máximo la plataforma web y reducir la complejidad, pero soy escéptico de que los principios propuestos realmente reduzcan la complejidad.
  • Está bien usar las funciones básicas de HTML, pero no era práctico hace 10 años ni lo es ahora, y no siento que htmx y similares sean mejores que soluciones pesadas como React.
  • Al implementar funciones como menús desplegables, multiselección y selectores de fecha, no hay consistencia entre navegadores y el estilizado es limitado, así que los elementos HTML integrados por sí solos no bastan.
  • Los ejemplos son débiles, y definir estilos y comportamiento con atributos HTML en línea puede volverse complejo.
  • Cuando se usan las bibliotecas necesarias, estoy de acuerdo con usar bibliotecas que aprovechen atributos HTML en lugar de JavaScript o sintaxis personalizada.
  • Esta filosofía encaja bien con el desarrollo de una plataforma SaaS compuesta solo de marcado HTML.
  • Parece un antipatrón propuesto por alguien que no ha pasado por el proceso de construir sitios web complejos, y se ve como un mal consejo.
  • Estoy de acuerdo con la idea de que el usuario debería poder entenderlo mediante ver el código fuente, pero en el caso de las aplicaciones web es preferible usar un lenguaje tipado.
  • La "localidad del comportamiento" es una regla vagamente definida que va en contra de la separación de responsabilidades, y llamar al CSS una "acción escalofriante a distancia" es una exageración.