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

[DISCUSSÃO] ANGULAR é coisa de TIOZÃO

Renascença do Angular sem design moderno?

A comunidade do Angular tem acompanhado ultimamente um momento importante na história do framework, onde apenas no espaço de duas majors, 16 e 17, tivemos diversas atualizações com melhorias e mudanças sendo implementadas. O nível de mudanças foi tão alto que se você apresentar a alguém que nunca viu um app Angular antes duas aplicações feitas em Angular 15 e Angular 17 (implementando todas mudanças propostas, que ainda são opcionais), há uma grande chance de que esta pessoa pensará que se tratam de dois frameworks diferentes (normalmente têm comparado o novo estilo ao Svelte).

O Angular sempre foi tido como um framework robusto e escalável, mas que não caía no gosto dos mais novos por ter virtualmente a maior curva de aprendizado. A ascenção de frameworks mais pragmáticos como React e Vue fizeram o Angular sair de moda e ganhar a fama de tiozão do grupo. O time mantenedor do framework deve ter sentido isso e decidido trabalhar em uma forma de simplificar as coisas para deixá-lo mais atrativo para a nova leva de programadores. É notável: o Angular tem ficado com uma sintaxe cada vez mais enxuta e trocado conceitos desnecessários muito ligados ao OOP por opções mais funcionais, deixando-o até com a cara do React em alguns pontos. Por isso, a comunidade tem apelidado esse movimento inesperado recente de The Angular's Renaissance. E o próprio time parece ter previsto muito bem esse título, já que essas mudanças também vieram acompanhadas de um re-design da logo e da documentação.


Apesar de toda essa melhora na DevEx e modernização da engenharia por trás dos apps, uma grande pergunta agora é: mas e a UX?

Fato é: se você hoje fizer um app em Angular 17, ele ainda continuará com a cara de um app feito em Angular 15, 14, 13... Apesar de o framework em si ter sido modernizado, as libs e frameworks de design voltadas para o Angular continuam com a mesma cara de um app Android de 2018 feito em Flutter. Aquele mesmo design pastel que está em todo app da Google.

Pessoalizando um pouco, eu sou apaixonado pelo Angular. Já fiz projetos em empresas usando React, Next e Vue, e nenhum deles me encanta tanto quanto um bom app em Angular + RxJS + Signals + Declarative Coding. Ainda assim, eu não posso deixar de admitir: apps feitos nesses outros três (quase) sempre são mais bonitos e contam com um design mais moderno. É triste de ver: a React MatUI é muito mais moderna que a Angular MatUI; o PrimeVue é muito mais bonito que o PrimeNG; a NextUI então nem se fala... O Angular hoje vive basicamente de NG Bootstrap como a melhor opção - que é sim bonito e completo, mas ainda não conta com um design moderno.

Como esperar que a framework seja mais adotada pelos programadores se as empresas não vão gostar da cara final do produto? Não se pode culpar os programadores por quererem ser capaz de entregar um produto bonito e moderno. Afinal, a gente sabe, no final o que o cliente quer é tela e botão bonito pra ficar apertando e se sentir bem, toda a engenharia por debaixo do capô é irrelevante. Ainda é cedo para cobrar esse tipo de coisa, mas fica a pergunta: e o design, Google, bora modernizar também?

Carregando publicação patrocinada...
2

eu uso o prime e acho bem legal na verdade, principalmente pela quantidade de componentes e todas as configurações que eles te permitem fazer. já usei vuetify (bem bonito), material ui (achei muito trabalho pra fazer coisas simples), material design (google) bootstrap e testei outras, mas sempre comparo com o prime e volto pra ele pela praticidade que ele tem. sempre vou usar um componente e fala algum detalhe (que normalmente existe no prime). com ralação ao visual em si, uma pessoa da nossa equipe fez um tema e melhorou bastante a cara do negócio, ou seja, se quiser tem como fazer. outra grande vantagem que vejo no prime é que ele está sempre em sincronia com a versão do angular. um exemplo de como isso é essencial é o tempo que demorou pro vuetify lançar uma versão com suporte ao vue3. trabalhei em uma equipe que a gente tava empolgado com o vue3, mas como tudo era baseado no vuetify a gente não teve como fazer isso, e acabou desistindo de tanto tempo que demorou. além disso no prime (assim como no angular) normalmente a compatibilidade é mantida e em raros casos temos problema pra migrar pra uma versão nova. até o tema usamos o mesmo. espero ter contribuído com a discussão.

1

Cara, muito legal ter comentado isso, porque mordi a lingua! Eu nunca vi o Prime a fundo, só tinha esbarrado em projetos feitos com ele no passado. Visitando a documentação agora mudei totalmente de opinião sobre não existir nenhuma lib com visual moderno! Com certeza vou aderir a ela nos próximos projetos!

2

Então, trabalho com Angular desde 2018 até hj (atualmente no banco mais rico do país, sim utilizam Angular), e aí é onde quero chegar, ma maioria das grandes empresas com softwares comerciais de grande escala o Angular é amplamente utilizado, exatamente por ser robusto, possuir regras e padrões que todo bom framework implementa, ponto.

Mas não é pq ele possui um padrão e vem com uma "cara" como comentou, tbm padrão, que a empresa tenha que manter essa cara. Pode-se remodelar totalmente a aplicação com Css (se houver uma equipe competente para isso), utilizar inúmeros Design System disponíveis com diversos temas diferentes (só alguns: Nebular, AlyleUI, NG ZORRO), ou como no caso onde trabalho desenvolver seu próprio Design System totalmente do zero e customizado, o Angular é totalmente aberto e adaptável para isso.

Enfim, essa questão de aplicações Angular terem a mesma cara, depende muito da disposição da empresa que o utiliza e dos devs quererem/poderem ou não modernizá-los a sua aparência.

1

Sim, se você quiser pode construir a estilização que quiser do zero em Angular, porque qualquer framework permite isso (e mesmo se estiver fazendo em JS vanilla isso vai ser perfeitamente possível). A questão que levantei foi apenas em volta das libs de material de design pré-pronto.

A realidade da grande maioria dos projetos é que você vai querer acabar recorrendo a alguma fonte de componentes e estilizações base pra trabalhar em cima, porque estilizar tudo do zero é muito demorado e inviável de se fazer pra todo novo projeto. Isso acaba não sendo um problema pra empresas com muitos recursos de tempo e dinheiro, o que ainda não impede de que os times delas utilizem dessas libs pra ganhar agilidade.

Claro, não quero dizer que usar uma lib dessas exclui toda necessidade de se criar estilizações. Se não, daí todos apps ficariam com a mesma cara (o que na verdade acontece muito com apps React e Vue feito em porifólios, justamente porque a galera não quer ficar estilizando).