É necessário evitar Frameworks de CSS ?
Boa tarde pessoal, tive meu primeiro contato com a programação na faculdade de engenharia, acabei levando bomba na matéria e decidi estudar por conta própria, e acabei pegando gosto pela coisa, recentemente conclui um curso completão de HTML e CSS, e recentemente descobri sobre as Frameworks e librarys de CSS. Junto com isso também vi inúmeros comentários de que as mesmas sujam seu código, ou te dão menos flexibilidade, e que se vc tem o conhecimento necessário deveria fazer sua estilização do 0, porém o fator "poupar tempo" me parece muito interessante, e vocês, oque acham? Frameworks/Librarys de CSS são amigas ou inimigas?
De forma geral, todo framework é uma faca de 2 gumes.
Por um lado, te dá muita coisa pronta e pode agilizar e facilitar sua vida.
Por outro lado, te dá muita coisa pronta, mas que vc não necessariamente precisa, e seu sistema fica com aquele "peso" extra sem utilidade.
Além disso, nem sempre ele te dá flexibilidade suficiente. Às vezes vc precisa de algo um pouco diferente do que o framework faz, e tem vezes que não é possível. Ou até é, mas precisa dar tantas voltas que compensaria mais fazer tudo na mão.
Cada caso é um caso, e como tudo em computação, o ideal é estudar bem os prós e contras, e decidir de acordo com o seu contexto e necessidades.
Como o amigo já falou, é uma faca de dois gumes, pode ajudar ou atrapalhar. Uma dica. Faça projetos em tempo livre e va prestando atenção nas técnicas e macetes que vc mais usa, compila tudo e cria seu próprio framework; isso vai te ajudar nas partes chatas onde vc precisa digitar os mesmos estilos em projetos diferentes com o seu jeito de codar, sem recorrer a frameworks no qual vc vai ter que gastar tempo para aprender.
Isso irá depender muito do seu propósito, do tamanho do projeto, se é pra finalidade de estudo ou não... Via de regra a maioria das empresas trabalham com frameworks/libs de CSS. Outro ponto que julgo relevante é pesquisar a respeito delas e testá-las, ver como se adapta com elas. Eu por exemplo utilizo bastante TailwindCSS, mas tem pessoas que se adaptam melhor com Bootstrap, MUI, etc. Enfim se o fator 'poupar tempo' é o teu foco, essas ferramentas podem ser mais eficientes do que utilizar CSS puro.
Uma boa analogia seria um casa pré-fabricada e um casa construída em cima de um rochedo, na beira da praia por um arquiteto. A casa pré-fabricada seria o framework e a casa do rochedo seria você fazer do zero.
A vantagem da casa pré-fabricada é que é fácil de construir, você só precisa montar tudo, não precisa chamar arquitetos, engenheiros, pois todo o trabalho já foi realizado, assim como em um framework.
Construir uma casa do zero seria como reinventar uma roda, pois você não quer nada especial, quer um casa com dois quartos, que seja barata e rápida de construir.
Agora se você quer construir uma casa em um rochedo na beira da praia, a casa pré fabricada não vai servir, pois ela foi feita considerando um terreno plano, sem muito vento. Como os requisitos são únicos, você precisa que um engenheiro e um arquiteto projetem essa casa do zero.
Um exemplo seria um site em que o design é importante. Um site que apresente uma marca de jóias, objetos de design ou carros esportivos não pode ser um site arroz com feijão, como um site criado usando Bootstrap. Ou então se você quer fazer um jogo que rode no browser, o framework não vai te conseguir ajudar muito a estilizar esse jogo.
Dito isso, contratar um arquiteto para projetar uma casa comum seria um desperdício de tempo e dinheiro, pois uma casa pré-fabricada traria o mesmo resultado com menos tempo e menos dinheiro. O mesmo vale para tentar colocar uma casa pré-fabricada em um terreno para qual a casa não foi planejada ou se você quer se destacar da multidão.
Vai chegar uma hora que você vai precisar utilizar um framework, mas enquanto isso, estude o CSS puro (html e js tbm), além de muito mais simples, vai te dar a base necessária para utilizar o framework.
Na minha opinião os frameworks CSS sempre tentaram resolver um problema que não existe, o CSS é super simples, não tem muito o que abstrair...
O tailwind vem se mostrando flexível, pode ser uma boa porta de entrada.
eu uso tailwind direto, consigo fazer rápido tudo que preciso nele, bibliotecas como o headless UI também agilizam bastante pra criar componentes que tem uma lógica complexa, e ele não me prende a um design só, sério, não npm install
e o seu sistema de design, e horrível!