Css Interno ou Externo?
A cada passo na minha carreira, paro e penso sobre como cada tecnologia funciona e por que funciona dessa maneira.
Sou dev junior e claro que no inicio de carreira surgem curiosidades e dúvidas sobre o funcionamento e aplicação das tecnologias. Um exemplo interessante que aconteceu comigo foi sobre a folha de CSS, interna ou externa?
Minha carreira começou com angular em uma empresa na qual eu era desenvolvedor full stack Jr, eu não tinha muita experiêcia com o fremework mas me aprofundei nos estudos, e percebi que o angular um framework muito potênte, com um sistema robusto de encapsulamento de estilos embutido. Ele oferece suporte direto para o gerenciamento de CSS com escopo local e global. Em geral suas caracteriscas são:
- CSS Global: Arquivos CSS globais definidos em
angular.json
ou importados no componente raiz. - CSS Local: Estilos encapsulados automaticamente por componente, usando ViewEncapsulation.
- Preprocessadores: Angular suporta SCSS, LESS e outros preprocessadores nativamente.
- Inline Styles: Definição de estilos diretamente no arquivo TypeScript do componente ou em
styleUrls
Após um período usando apenas angular em meus projetos, passou pela minha cabeça me arriscar em react, afinal o mercado para desenvolvedores em 2024 não foi dos melhores, então decidi aumentar um pouco os estudos para buscar vagas com react. Ao começar os estudos em um bootcamp de react na DIO, percebi a flexibilidade que o react dava ao CSS. Claro que para mim foi algo diferente pois estava sempre acostumado ao angular.
React é uma biblioteca voltada para a construção de interfaces de usuário. Sua abordagem ao CSS é flexível e oferece várias opções, deixando o desenvolvedor escolher a melhor forma de gerenciar estilos.
- CSS Global: Importação de arquivos CSS tradicionais (compartilhados por toda a aplicação).
- CSS Modules: Escopo local de classes por componente, evitando conflitos de estilos globais.
- Styled Components: CSS-in-JS, onde estilos são escritos como código JavaScript.
- Inline Styles: Estilos aplicados diretamente no JSX.
Quando usar cada abordagem?
- Use React:
- Quando precisar de flexibilidade total em como gerenciar estilos.
- Se a equipe preferir trabalhar com CSS-in-JS (e.g., Styled Components).
- Em projetos menores, onde usar inline ou global pode ser suficiente.
- Use Angular:
- Quando precisar de uma estrutura padronizada para organização de estilos.
- Se o projeto já utiliza preprocessadores como SCSS/LESS.
- Para equipes que preferem menos configuração inicial e maior consistência.