2 pontos por GN⁺ 2023-11-13 | 1 comentários | Compartilhar no WhatsApp

Introdução aos princípios de HTML First

  • Aproveitar as funcionalidades nativas dos navegadores web modernos
  • Explorar a extrema simplicidade da sintaxe de atributos do HTML
  • Aproveitar o recurso View Source da web

Objetivos do HTML First

  • Ampliar o número de pessoas capazes de trabalhar em codebases de software web
  • Pessoalmente, permitir que mais pessoas se tornem programadoras web e aumentem sua renda
  • Do ponto de vista de negócios, reduzir os custos de desenvolvimento de software e economizar recursos de contratação

Segundo objetivo do HTML First

  • Tornar o desenvolvimento de software web mais agradável e fluido
  • Em vez de levar anos para dominar ferramentas e frameworks, alcançar proficiência rapidamente com os princípios do HTML First

Como colocar o HTML First em prática

  • Reconhecer que o HTML é fácil de entender e usá-lo como base não apenas para definir conteúdo e estrutura, mas também para estilização e comportamento

Princípio: preferência pela abordagem Vanilla

  • Usar atributos HTML para estilização e comportamento
  • Usar bibliotecas que aproveitam atributos HTML
  • Evitar etapa de build
  • Preferir HTML "nu"
  • Usar uma abordagem amigável ao View Source

Aproveitar os recursos nativos do navegador

  • Alcançar funcionalidades com uma abordagem "vanilla" em vez de frameworks externos
  • Antes de adicionar bibliotecas ou frameworks, verificar se é possível fazer com HTML/CSS puro

Definir estilo e comportamento com atributos HTML

  • A estilização pode ser feita com bibliotecas SPC como Tailwind ou Tachyons
  • O comportamento pode ser implementado com bibliotecas como hyperscript e Alpine
  • O HTML pode parecer complexo, mas é fácil para outros desenvolvedores entenderem e modificarem

Usar bibliotecas que aproveitam atributos HTML

  • Recomenda-se usar bibliotecas que aproveitam atributos HTML em vez de bibliotecas centradas em JavaScript ou em sintaxes personalizadas

Evitar etapa de build

  • Bibliotecas que exigem transformação de arquivos aumentam a carga de manutenção e prejudicam o recurso View Source
  • Ao usar bibliotecas HTML First, a necessidade de CSS e JS adicionais é minimizada

Preferir HTML "nu"

  • Princípio mais aplicável a implementações de backend
  • Desenvolvedores familiarizados com HTML conseguem entender arquivos de view mesmo sem conhecer o framework de backend

Manter o recurso View Source

  • O charme da web inicial era poder "espiar" o código e entender parte de uma página web
  • Em sites que seguem os princípios do HTML First, o recurso View Source é recuperado

Encerramento

  • As práticas e princípios explicados neste site ainda são minoritários na indústria como um todo
  • A intenção é encontrar e conectar pessoas que se identificam com essas ideias

Opinião do GN⁺

O ponto mais importante deste texto é a adoção dos princípios de HTML First para melhorar a acessibilidade e a manutenibilidade do desenvolvimento web. Esses princípios tornam o desenvolvimento web mais fácil e rápido e beneficiam tanto indivíduos quanto empresas ao permitir que mais pessoas participem da programação web. Essa abordagem é interessante porque pode reduzir a complexidade do desenvolvimento web, aumentar a legibilidade do código e promover o compartilhamento de conhecimento e a colaboração dentro da comunidade de desenvolvedores.

1 comentários

 
GN⁺ 2023-11-13
Comentários do Hacker News
  • Em teoria e em exemplos simples é interessante, mas faltam casos mostrando como esses princípios se aplicam a projetos grandes e que diferença fizeram.
  • Sou a favor de aproveitar ao máximo a plataforma web e reduzir a complexidade, mas sou cético quanto a esses princípios realmente reduzirem a complexidade na prática.
  • Usar os recursos básicos do HTML é bom, mas não era prático há 10 anos e continua não sendo; também não acho que htmx e afins sejam melhores do que soluções pesadas como React.
  • Ao implementar recursos como dropdown, multisseleção e seletor de data, há inconsistências entre navegadores e limitações de estilização, então elementos HTML nativos por si só não bastam.
  • Os exemplos são fracos, e definir estilo e comportamento por meio de atributos inline no HTML pode ficar complexo.
  • Ao usar as bibliotecas necessárias, concordo com o uso de bibliotecas que aproveitam atributos HTML em vez de JavaScript ou sintaxe personalizada.
  • Essa filosofia combina bem com o desenvolvimento de plataformas SaaS compostas apenas por marcação HTML.
  • Parece um antipadrão proposto por alguém que nunca passou pelo processo de construir um site complexo, e soa como um mau conselho.
  • Concordo com a ideia de que o usuário deveria conseguir entender pelo “ver código-fonte”, mas, no caso de aplicativos web, é desejável usar uma linguagem tipada.
  • "Localidade do comportamento" é uma regra vagamente definida que vai contra a separação de responsabilidades, e chamar o CSS de "ação assustadora à distância" é um exagero.