Novo sistema

Ola pessoal.

Estamos iniciando um novo sistema em JAVA. Estou na dúvida entre primefaces e Angular.

Poderiam me ajudar ?

Boa!

Tenho uma experiência temporal grande com JSF, que na sua questão seria o primefaces. Estou estudando frameworks javascript e a principal causa é a PRODUTIVIDADE.

Tentar extender um componente JSF é hercúleo e frustrante. O primefaces oferece algumas saídas para alguns dos problemas dos componentes JSF.

Mas nada que se compare a liberdade de criar componentes Html e integrar funcionalidades por meio de Javascript. Simples assim.

Em meus novos projetos utilizo a arquitetura Rest com Spring que já me livra muito de boilerplate code com front-end em React. Que mesmo não sendo nada mágico, ainda assim ganha dos frameworks Server-side do Java.

Abç.

Depende de que você precisa no sistema em termos de produtividade, eu recomendo o primefaces sem dúvida. Agora caso queira liberdade no front end como nosso amigo @sidronio mencionou, opte por Angular.

Vale lembrar que existem grandes difirenças entre JSF(+ primefaces) e HTML(+Angular) no quesito de desenhar a tela.

Estou estudando também arquitetura Rest com Spring, para avaliar e passar para o cliente.

Mas como hoje quase tudo que se fala é Angular, por isso a pergunta.

Sim @Matheusrfjava.

Peguei um projeto em JSF + Primefaces. Mas agora um projeto do zero, fiquei com esta dúvida.

Angular + Rest é delícia mesmo. Ponto é que, tem de manjar de html, css para ficar uma tela bacana.

Cara pode partir para REST + AngularJS sem medo de ser feliz. E mesmo assim não precisa fazer CSS do zero, tem muitos frameworks com templates bons:

https://dansup.github.io/bulma-templates/

E sobre estes componentes: https://material.angularjs.org/latest/

O trabalho do front-end, das views ficaram mais fáceis com o Bootstrap e o lte-admin.

Impossível entrar nesse assunto sem discutir o sexo dos anjos…rs
São tecnologias muito diferentes, pois uma adere à metodologia de action based e o outro component based.
Trabalhar com primefaces é lindo mesmo, tem muita coisa legal já mastigada, componentes bacanas e tal, mas como nem tudo é perfeito, se vc precisar estender um componente nativo, ou precisar manipular algo complexo com Javascript e até mesmo CSS, sua vida pode se tornar um inferno. Além de ficar um pouco preso nos templates free do Prime, pois os mais bacanas são pagos. Ah! Temos que mencionar a curva de aprendizado do JSF e sua complexidade tb.
Do outro lado do ring, entram as SPA’s da vida utilizando endpoints REST na sua mais variada forma: JAX, Spring, Jersey, entre outros. Angular é bom? Eu acho demais! Gosto de ter a liberdade de criação e manipulação do meu DOM. É mais trabalhoso? Sim, mas já se tem muuuita coisa pronta, como por exemplo, o Angular Material, que nada mais é do que uma cadeia de componentes escritos em Angular. Outro ponto positivo é a abstração do endpoint, pois a tecnologia do server side não vai importar muito, fazendo o processo de uma eventual migração menos doloroso e traumático. Além do Angular Material, existe uma gama de templates prontos por aí. Agora ao mesmo tempo que é bom, ele tb pode ser um pé no saco e se tornar muito complexo. Sua curva de aprendizado é razoável, mas exige uma necessidade de boas práticas pra não ficar muito confuso em relação aos arquivos de configuração, controladores, diretivas, entre outros.

Ambas as opções são muito boas, mas como disse, sexo dos anjos.
Se vc não tem conhecimento em HTML, CSS, JS e acha que não vai precisar inventar a roda, vai de Primefaces. Produtividade será muito boa.
Mas se quer liberdade de ações e customização, bem como flexibilidade no backend, recomendo o Angular. Tudo é uma questão de necessidade de projeto.

Muito boa sua resposta.

Mas percebi isto com o primefaces, sobre o CSS e HTML.

Tudo depende da analise de requisitos e operação que você realizou para seu projeto, acredito que, se você realizou com os métodos da UML e ferramentas afins, os diagramas estão falando tudo, rodar na web como exemplo sem uma infra equivalente tudo vai ficar uma carroça " a web tem inúmeros sistemas lentos ", não que o Angular seja tão mais leve, mas como mencionado acima pelo colegas, a liberdade com html e css, você desenvolve de acordo com seus requisitos.

O que adianta tudo muito lindo, mas ao mesmo tempo, tudo muito lento.

Temos que refazer um sistema já pronto.

  1. O sistema atual está em Maker.
  2. Banco de dados já existe.

O sistema é de importação de arquivos txt, com assinatura digital.

Para cada linha tem inúmeras funções e métodos, de validação.

Como vai ser refeito do zero, tem que estar melhor que hoje está no maker.

OBS: Estão mudando do maker por causa de ficar prezo a componentes do maker. Por mim faria em primefaces.

Mas com o Angular, estou com a dúvida.

Mas pelo que entendi, tudo depende dos modelos, isto é, das classes modelos que descrevem o banco de dados.

Fazer um bom design da sua aplicação será essencial nos dois cenários.

Mas tenho que escolher.

Se for primefaces, será um template pago.

Se for Angular usaremos este https://material.angularjs.org/latest/, até então

Não necessariamente vc precisa usar um template pago do Primefaces. Particularmente, gosto bastante do tema Bootstrap deles.

Em um outro projeto utilizamos o template primefaces. É o que me agrada.