Os 5 Pilares de um Front-End Sólido

Como uma simples pergunta na entrevista fez com que eu revisasse como programo (e ainda me garantiu a vaga).


Em resumo, o que é um front-end performático e de fácil manutenção pra você?
“Só isso? Uma entrevista com uma única pergunta? Essa foi fácil.”

Ao menos foi o que pensei, só para descobrir que, apesar da aparente simplicidade, a pergunta não tem uma resposta simples. Se eu usar diretrizes existentes, estou trapaceando. Se eu for prolixo, vão pular meu e-mail. Se minha resposta for muito curta, eu não me esforcei o suficiente.

Do que diabos se constitui um bom front-end? Isomorphic JS? SPAs? Flexbox? Web components? Shadow DOM? ES6? Quais são os aspectos mais importantes?

Eu passei um bom tempo tentando chegar numa boa resposta. Acontece que a resposta não se encontrava em tecnologias, mas em filosofias de programação.

Abaixo você vai encontrar um facsimile da minha resposta, que eu descaradamente estou batizando de “Os 5 Pilares de um Front-end Sólido”. Espero que te inspire de alguma forma.


1) É acessível.

Essa é a fundação mais importante de um bom front-end. Não estamos falando apenas de pessoas com deficiências (mas também) — um site acessível para todos aperfeiçoa a experiência geral do usuário, coloca o foco no conteúdo, leva à independência de dispositivos, melhora a performance e até influencia no SEO.

2) É orientado a progressive enhancement.

Progressive enhancement torna o desenvolvimento cross-browser muito mais fácil. É performático porque não apóia a estrutura em CSS3 ou JS e gera código mais limpo pois reduz o espaço para device detection ou gambiarras.

3) Tem seu próprio DevOps.

Com bom front-end ops você pode garantir releases rápidos e livres de problemas. A performance torna-se mensurável, erros são monitorados e todos os processos são automatizados — geração de sprites, prefixos de CSS, linting, gerenciamento de dependências, etc.

4) É modular.

O JS, HTML e o CSS são completamente dissociados uns dos outros*. Ao invés de estilos ou scripts por página, todo o código é escrito como componentes individuais e reutilizáveis.

Menos disso:

#home #top-section #pictures-wrapper { /* ... */ }

... E mais disso:

.photo-gallery { /* ... */ }

*Isso não necessariamente se aplica a React :)

5) Tem diretrizes de código e documentação.

A maior parte do código deve parecer que foi escrita pelo mesmo desenvolvedor. O front-end segue metodologias, o código é organizado e limpo, e tudo é propriamente documentado.


Agora é a minha vez de perguntar:

Em resumo, o que é um front-end performático e de fácil manutenção pra você?

Escreva uma resposta abaixo e compartilhe o que pensa.


Obrigado por ler até aqui! Se você gostou do que acabou de ler, eu peço que role a página um pouco mais e clique no botão ♥ Recommend.

Além disso, siga-me no twitter para saber quando eu postar artigos semelhantes. Aviso: às vezes eu sou chato com tecnologia. -> twitter.com/joaocunha

Siga o Medium Brasil | TwitterFacebookRSSCanal oficial