PrimeNG e Angular Material, qual melhor satisfaz o seu projeto?
Rogério Marques
10 outubro 2018 - 13:47 | Atualizado em 29 março 2023 - 17:31
Neste artigo, discutiremos a respeito de diferenças, pontos fortes e fracos a respeito destas duas ricas bibliotecas de componentes disponíveis para a criação de aplicações web que utilizam Angular para o desenvolvimento front-end: PrimeNG e Angular Material. Este artigo não abordará a criação de uma aplicação complexa do zero, entretanto tratá alguns exemplos simples, além de proporcionar ao leitor conhecimento para decidir qual das bibliotecas se adapta mais ao seu projeto.
Em se tratando de aplicações web, a grande maioria delas possuem campos de inputs, botões, tabelas e outros componentes que possuem grandes semelhanças. Normalmente as mudanças são em relação ao design ou detalhes na forma como se comportam. Uma das soluções para acelerar o desenvolvimento e perder menos tempo com componentes relativamente simples, que já foram criados por outras pessoas e direcionar a atenção e recursos para lugares de maior complexidade da aplicação, é o uso de bibliotecas que já possuem esses componentes básicos prontos, sendo possível alterá-los no que se diz respeito a estilo, tamanho, cor e outros atributos que podem ser acessados pelo desenvolvedor.
Para o desenvolvimento de um projeto pode-se fazer o uso de diversos frameworks, o em questão neste artigo é o Angular, sendo utilizado majoritariamente no front-end, utilizando Typescript como linguagem de programação. Assim como outros frameworks, este nos disponibiliza diversas interfaces, funcionalidades, estruturação de projeto, conjunto de classes (contendo conceitos de polimorfismo, herança e abstração) prontas que colaboram entre si, incorporando um design abstrato para resolução de problemas que sejam familiares dentro de um certo contexto. Ou seja, acaba sendo um “facilitador” voltado para os desenvolvedores.
O front-end, que é onde o Angular atua, é a parte do desenvolvimento de software que se preocupa com a interface de interação com o usuário, é quem dá vida à interface e faz com que o software pareça amigável ao usuário. Para isto, é essencial a criação de objetos visuais intuitivos já conhecidos pela maioria dos usuários, como botões, tabelas, telas sobrepostas, os chamados modais, que normalmente apenas variam o design de projeto para projeto. É possível a criação desses objetos através de programação utilizando principalmente CSS (design), HTML (estruturação na tela) e Javascript (manipulação dos dados), sendo uma tarefa relativamente trabalhosa dependendo do componente a ser desenvolvido, e solução mais rápida e viável, como dito anteriormente, é o uso de bibliotecas.
Neste estudo, as bibliotecas visadas que são compatíveis com o Angular são: a Angular Material e PrimeNG. Iremos aqui falar um pouco sobre cada característica importante de cada uma delas separadamente, oferecendo assim informações importantes para que o leitor analise e avalie sua situação.
Angular Material
O Angular Material 2 disponibiliza em torno de 25 High-Quality UI Components ( User Interface Components – componentes de interface de usuário de alta qualidade ) construídos utilizando Angular e TypeScript, oferece suporte para as mais novas versões dos navegadores mais utilizados na Web, sendo eles Chrome (incluindo o Android), Firefox, Safari (incluindo iOS) e Internet Explorer 11 / Edge. Além disso, este também se preocupa com a experiência do usuário, trazendo assim os seguintes Screen Readers: NVDA e o JAWS voltados para o Internet Explorer, Firefox e Chrome (no Windows), VoiceOver acompanhando o Safari no iOS e Safari / Chrome no OSX, e por fim o TalkBack com o Chrome no Android.
O que são High-Quality Components (HQC)?
São componentes internacionalizados que podem ser usados por qualquer desenvolvedor, usam APIs diretas que não confundem o usuário, comportam-se de maneira correta e sem bugs, são testados com testes unitários e de integração, são pouco custosos para processamento, customizáveis dentro dos limites das especificações do Material Design, possuem um código limpo e bem documentado servindo de exemplo e também como um manual de boas práticas para desenvolvedores que utilizam o Angular.
Espaço
Os pacotes necessários para utilizá-lo são o do próprio Material, e o Angular CDK. Estes foram instalados utilizando o seguinte comando:
O tamanho inicial do projeto, criado através do Angular CLI (versão 1.7.2) e Node (versão 7.8.0) era de 283,4 MB. Após a instalação dos pacotes o tamanho total do projeto saltou para 308,3 MB.
PrimeNG
O PrimeNG possui cerca de 80 componentes de código aberto e gratuito com o uso sob a licença MIT. Foi desenvolvido pela PrimeTek Informatics e todos seus widgets estão hospedados no GitHub e a grande maioria são nativo. É uma biblioteca rica em componentes de entendimento relativamente simples com códigos limpos e bem organizados. Apesar disso possui alguns defeitos com relação a consistência de seus componentes e nem sempre fornece todas as variáveis necessárias para uma determinada atividade. Em contraste está sempre gerando novas versões e há correções dos erros que encontram.
Exemplos de Dropdown
Espaço
Os pacotes necessários são o “primeng” e “font-awesome”, ambos foram instalados utilizando o seguinte comando:
$ npm install primeng font-awesome
O tamanho inicial do projeto, criado (utilizando os mesmos recursos que foram usados para a criação do outro) era de 283,4 MB. Após a instalação dos pacotes o tamanho total do projeto subiu para 289,3 MB, incluindo os styles necessários no angular-cli.json.
Conclusão
Ambas são bibliotecas ricas, rápidas e muito utilizadas em todo o universo de desenvolvimento web, cada um com suas vantagens e desvantagens. O Material acaba sendo mais popular que o PrimeNG, não por motivos óbvios, mas talvez pela história do Angular e confiabilidade que os desenvolvedores já possuíam anteriormente pelo nome construído.
Em suma maioria os projetos em desenvolvimento na Cedro Technologies utilizam o Angular Material como principal, mesmo exigindo um pouco mais de espaço, neste caso o PrimeNG é utilizado quando algum componente necessário não se faz presente na outra biblioteca. E aí, já sabe qual melhor se encaixa no seu projeto?
Artigo escrito pelos cedrenses Leonardo Sergi Molina e Márcio Antônio de Freitas Júnior.
Recomendados para você
Tecnologia em processamento de dados: veja os engenhosos sistemas ...
Face Match: uso de IA para aprimorar a validação cadastral ...
O futuro do negócio bancário (banking) provavelmente não é serviços bancários ...
A Cedro Technologies utiliza cookies para melhorar a sua experiência de navegação, personalizar conteúdos e desenvolver iniciativas de marketing. Para informações sobre os tipos de cookies e para configurá-los de acordo com a sua preferência, clique em “Definições de cookies”, onde poderão ser habilitados e desabilitados conforme sua preferência. Para aceitá-los, clique em "Aceitar todos os cookies". Querendo saber mais, acesse nossa Política de Privacidade.
Cookies estritamente necessários
Os cookies estritamente necessários permitem um funcionamento adequado do nosso site, não coletando ou armazenando informações sobre você ou em relação às suas preferências. Normalmente, eles só são configurados em resposta a ações realizadas pelos usuários, como por exemplo salvar as suas preferências de privacidade, realizar login ou salvar informações para o preenchimento de formulários. Por essa razão, não é possível desabilitá-los.
Se você desativar este cookie, não poderemos salvar suas preferências. Isso significa que toda vez que você visitar este site, você precisará ativar ou desativar os cookies novamente.
Cookies de desempenho (Performance cookies)
Esse tipo de cookie coleta informações sobre como os usuários utilizam e navegam no site, como por exemplo:
Quais páginas os usuários acessam com mais frequência;
Se o usuário recebe mensagens de erro de nossas páginas.
Vale ressaltar que esse tipo de cookie não coleta informações que identificam o usuário. Todas as informações que esses cookies coletam são agregadas e, portanto, anônimas, sendo usados apenas para melhorar o funcionamento do site (medição e melhoria de desempenho do site).
Ative primeiro os Cookies estritamente necessários para que possamos salvar suas preferências!
Cookies de funcionalidade (Functional cookies)
Permitem que o site forneça funcionalidade e personalização aprimoradas. Eles podem ser definidos por nós ou por fornecedores terceiros cujos serviços adicionamos às nossas páginas.
Ative primeiro os Cookies estritamente necessários para que possamos salvar suas preferências!