Executando verificação de segurança...
2

Programmer404, MUITO OBRIGADO por compartilhar esse conhecimento valioso e por abrir os olhos da comunidade para as possibilidades do data-* e para um desenvolvimento web mais "raiz", sempre que possível.

1 .Zero dependências? CHECK.
2. Acessível? CHECK.
3. Performático? CHECK ABSOLUTO

Continue cavando fundo, explorando essas ferramentas poderosas e nos mostrando o quão longe podemos ir com HTML e CS. Isso é só a ponta do iceberg.

Com todas as novidades e recursos FANTÁSTICOS que o CSS tem ganhado nos últimos anos, como variables e animations dá criar aplicações web INSTANTÂNEAS E COMPLEXAS, praticamente sem qualquer Javascript.

Por exemplo, uma prova de conceito de SPA/SSR: Ao invés de enfiar toneladas de dependencias, builds complexos e frameworks gigantescos, basta ter um data-fetch com um <scriptzinho> no html.

<!DOCTYPE html>
<html>
<head>
    <title>Minha App HTML/CSS + data-fetch</title>
</head>
<body>
    <nav>
        <a href="/" data-fetch="/conteudo-home">Home</a>
        <a href="/sobre" data-fetch="/conteudo-sobre">Sobre</a>
        <a href="/contato" data-fetch="/conteudo-contato">Contato</a>
    </nav>

    <main id="conteudo-principal">
        <h1>Bem-vindo!</h1>
        <p>Conteúdo da página inicial.</p>
    </main>

    <script>
        document.addEventListener('click', function(event) {
            if (event.target.matches('a[data-fetch]')) {
                event.preventDefault();
                const urlFetch = event.target.getAttribute('data-fetch');
                fetch(urlFetch)
                    .then(response => response.text())
                    .then(html => {
                        document.getElementById('conteudo-principal').innerHTML = html;
                        history.pushState({}, '', event.target.getAttribute('href'));
                    });
            }
        });
    </script>
</body>
</html>
    

"Hidratação"? "Estado"? "JSON"? ESQUECE! Aqui a gente volta pro BÁSICO, pro HTML QUE VOA e pro site que carrega NA HORA! É mais rápido e mais acessível do que as coisas mais otimizadas que os frameworks conseguirão criar. E sem npm install pra quando alguém achar seu repo daqui milhares de anos sua aplicação ainda funcionar.

O HTML e CSS são o FRAMEWORK DEFINITIVO da web que gente demais ignora...

E o MELHOR DE TUDO: SEM "BACKEND" VS "FRONTEND"!

O programador WEB "RAIZ" trabalha DIRETO COM OS DADOS gerando HTML BRUTO da forma mais eficiente possível. O DESIGNER reinando absoluto no CSS, criando interfaces LINDAS e INTUITIVAS. Sem Figma pra "copiar pro código".

PROGRAMADOR E DESIGNER, CONSTRUINDO A WEB [DO FUTURO]... QUE JÁ ERA HÁ 20 ANOS ATRÁS!

A moda é cíclica, e no desenvolvimento web não é diferente! Depois da era jQuery, Angular.js, React... estamos começando a RELEMBRAR o que a gente JÁ SABIA FAZER DE MELHOR! VOCÊ JÁ TÁ NA FRENTE, MEU AMIGO! Continue nessa cavando fundo.

Um abraço e bons estudos!

Carregando publicação patrocinada...
1

Concordo plenamente. HTML e CSS evoluiu muito! E técnicamente falando, não há necessidade de tanto JavaScript para no final ser o bom e velho HTML e CSS.

O único problema do HTML é o fato de tudo ficar no mesmo documento. Se existisse uma forma de modularizar isso para ficar mais fácil de manter, eu facilmente abandonava o uso de frameworks. É muito difícil manter um documento de mais de 5 mil linhas tudo junto.

Tirando esse aspecto, a mais no HTML do que muita gente pensa!

O CSS também possui muitas das features que estão presentes no Sass por exemplo. Hoje em CSS é possível utilizar CSS de forma mais simples que antes. Claro, ainda é um inferno organizar isso do mesmo jeito que o HTML, mas ao menos da para modularizar.

Fico feliz que gosto do post!

1

O único problema do HTML é o fato de tudo ficar no mesmo documento. Se existisse uma forma de modularizar isso para ficar mais fácil de manter, eu facilmente abandonava o uso de frameworks. É muito difícil manter um documento de mais de 5 mil linhas tudo junto.

É possível aproveitar os benefícios do HTML sem abrir mão da organização e manutenibilidade. Uma solução eficaz é apenas gerar os documentos HTML de forma automática. A aplicação é desenvolvida na linguagem de preferência, seguindo a organização e padrões desejados e o HTML gerado é simplesmente seu output. É destacar notar que o Javascript, sendo parte integrante do documento HTML, também pode e deve ser gerado automaticamente.

1

Eu sinceramente não sei como eu poderia fazer isso. Seria algo como SSG? Este é um problema que realmente me incomoda. Eu já cheguei a usar Next.js apenas pela a organização...

1

TEMPLATES É A SOLUÇÃO!

E para dominar templates, comece no BERÇO DA WEB DINÂMICA: PHP: O PRIMEIRO FRAMEWORK WEB, ESCRITO EM C CIRCA 96!!!

Sim, PHP nasceu como uma engine de templates.

Mergulhe no PHP PURO. O segredo é usar echo para imprimir HTML, junto com os já conhecidos if para condicionais e for para loops. É cru, é direto, é a base.

ENTENDA ISSO PRIMEIRO! PHP puro te ensina a raiz da geração HTML.

Para entender na prática a beleza da geração de HTML com templates, nada melhor que um exemplo real e robusto: Gazelle, o motor por trás do finado what.cd!

O Gazelle é uma ESCOLA de desenvolvimento web server-side em PHP. Um exemplo IMPERDÍVEL de como construir aplicações web ROBUSTAS e EFICIENTES com PHP "raiz" e templates.

A página de torrents do Gazelle é um PRIMOR de como gerar HTML. Ela não é um arquivo único, mas sim, MONTADA POR VÁRIAS OUTRAS PÁGINAS MENORES, cada uma focada em uma parte da interface. (Componentes??)

Explore a pasta sections/torrents: Lá, você verá arquivos como details.php, browse.php, upload.php e muitos outros. Cada um deles é responsável por uma FUNCIONALIDADE ESPECÍFICA da seção de torrents. E Para entender como TUDO SE ENCAIXA, estude com atenção para o index.php. É a COMPOSIÇÃO DE TEMPLATES em ação, no seu melhor!

Qualquer coincidência com a arquitetura de componentes do React NÃO É MERA COINCIDÊNCIA! 😉) A modularização, a quebra em partes menores, é um princípio de arquitetura ATEMPORAL

MAS ATENÇÃO: CLARO QUE NÃO É ASSIM QUE SE FAZ WEB EM 2025! O mundo mudou, as tecnologias evoluíram. Gazelle é um projeto com quase 20 anos, e as ferramentas e abordagens de desenvolvimento web de fato avançaram muito desde então. PORÉM, NÃO SE ENGANE: UMA VEZ QUE VOCÊ ENTENDE A BASE DE CÓDIGO DO GAZELLE, VOCÊ ESTARÁ MUITO MAIS PREPARADO PARA FAZER O DESENVOLVIMENTO WEB MODERNO DO JEITO CERTO!

A organização, a modularização, a clareza do código, a eficiência da geração de HTML server-side, os princípios de arquitetura do Gazelle... TUDO ISSO É EXTREMAMENTE RELEVANTE HOJE, INDEPENDENTE DA LINGUAGEM OU FRAMEWORK QUE VOCÊ ESCOLHA! Porque, sejamos sinceros, a web moderna SE PERDEU UM POUCO NO CAMINHO! Em busca de "melhorias", de "ferramentas mais modernas", a gente ESQUECEU do básico!

ENTÃO, ESTUDE O CÓDIGO DO GAZELLE! Entenda sua ESSÊNCIA, seus PRINCÍPIOS! Porque ali, naquele código "arcaico", há LIÇÕES VALIOSÍSSIMAS para o FUTURO DO DESENVOLVIMENTO WEB! Aquilo ali, em GO, combinado com HTML e CSS MODERNOS (como o do post original), é VISLUMBRE DO MELHOR QUE A WEB pode ser. E eu aposto dinheiro nisso.

Sem mais.
Um abraço e bons estudos!

0