Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Escalabilidade, número de requests e projeto de múltipla páginas

Ao fim do curso me deparo com três dúvidas específicas acerca da arquitetura CSS em projetos de desenvolvimento web:

  1. Escalabilidade - Percebi que em um projeto de landing page simples foram criados e importados dezenas de arquivos .css, então me pergunto o quão escalável seria este modelo. Pensando em um projeto de maior porte que possua algo como por exempo uns mil "atomos", não seria igualmente compliado realizar uma navegação dezenas de arquivos .css distribuidos ao longo de centenas de diretórios?
  2. Número de requests - Outro questionamento que me veio à mente diz respeito à performance. A questão é que o protocolo HTTP funciona através de requests e responses, e usualmente o navegador irá fazer um request individual para cada link externo referenciado no projeto. Então não seria de alguma forma prejudicial em termos de performance realizar 50 requests apenas para a definição de estilo? Não seria melhor por exemplo utilizar esta arquitatura para arquivos .sass ou .scss e então compilar tudo em um único arquivo .css usado em todo o projeto?
  3. Múltiplas páginas - Um ultimo questionamento foi acerca de um sistema com múltiples páginas. Por exemplo, no projeto do curso havia apenas uma única página e a estrutura de estilo já ficou bem grande. Como seria a arquitetura de projeto em caso de múltiplas páginas? Seriam criados um diretório para cada página web dentro do css/? E como seriam organizados os estilos compartilhados entre páginas (a barra de navegação ou o rodapé por exemplo)?
2 respostas
solução!

Oi Lucas, vc levantou questões bem interessantes e que despertam um grande debate na web hoje em dia,

Antigamente, o CSS era um bloquer, então era melhor tem um grande arquivo CSS com todos os seus estilos, servido por um CDN e com um cache bem grande. Dessa forma garantiamos que o estilo seria baixado uma vez só e usado por toda a aplicação. Hoje em dia, com o uso do HTTP/2 bem difundido, multiplos requests são melhores que um unico só. O problema é justamente esse que voce falou, depois de um certo tamanho, começa a ficar uma zona.

Quando vc usa aplicacoes escritas em React e Vue, os estilo são embedded dentro do módulo e um CSS somente para ele é gerado dinamicamente. Então vc nao liga pra quantos estilos eles está gerando e onde ele esta salvando, O framework cuida disso para voce. Mas se vc está fazendo um site sem nenhum framework que lide com isso, é melhor ficar com o bom e velho CSS pra nao ter dor de cabeça no futuro.

Olá Diego, origado pela resposta! Gostei da resposta e deu para entender melhor acerca da questão dos requests sobre o protoclo HTTP2. Sobre a questão de escalabilidade eu confesso que, dado minha pouca experiência com frameworks mais modernos, eu anida não consigo abstrai muito bem. Mas imagino que de fato estes devam ajudar bastante na manutenção e na escalabilidade dos projetos.

Apesar de ter um breve contato com o Angular, tenho me concentrado agora em estudar Front-end (HTML5, CSS3 e JavaScript) e ferramentas de desenvolvimento (IDEs, SASS, Gulp, Dev Tools entre outros). Após isso certamente irei inciar com algum Framework (não sei se Angular ou React), pois assim creio que estarei mais confortável para desenvolver minhas habilidade. Neste ponto acho que vou estar afiado na questão de arquitetura de projetos front-end hehe.

Novamente, muito obrigado!