Boa Noite pessoal, estou indo para o mundo web java, como não conheço muito o mercado de trabalho web, queria saber qual das duas começar a estudar primeiro para conseguir um emprego de programador Java JR, e qual das duas tem mais vagas no mercado de trabalho.
Obrigado desde ja
Mercado Java é uma zona, vai encontrar de tudo. Mas no momento de escolher um framework, vá de Spring MVC, JSF limita muito o conhecimento de quem pretende se tornar desenvolvedor web de verdade, sem se prender a componentes server em Java.
Antes de usar um framework, é importante aprender a base: HTTP, Servlet, HTML, JS, CSS.
Conteúdo pra iniciar: https://www.caelum.com.br/apostila-java-web/
3 curtidas
Bom, vamos lá! Primeiramente é necessário ter ciência que o mercado Java é de fato uma bagunça, como mencionado pelo amigo logo acima. Dificilmente vc chegará numa empresa que trabalhe só com Spring, só com JSF, só com Struts, só JSP e servlet. É importante se preparar para tudo e se especializar num de sua preferência.
Esta briga do Spring e JSF é antiga, mas vou tentar destacar alguns pontos que acho legal, ok?!
JSF
- Utiliza a metodologia de component-based, ou seja, basicamente você usará componentes já desenvolvidos pela biblioteca. Existem várias bibliotecas que complementam a camada visual do JSF, como o Primefaces e o RichFaces.
- Existe a possibilidade de criar componentes customizados por composição.
- JSF é uma especificação do JEE
- Um dos principais objetivos é maximizar a produtividade do desenvolvedor, uma vez que os componentes já prontos possuem uma gama de funcionalidades para uso extremamente simplificado.
- Ainda no quesito de facilidade, validações se tornam bem mais tranquilas!
- Curva de aprendizado relativamente menor do que a atmosfera Spring.
- Não subestime pela facilidade de entendimento de alguns pontos, pois existem outros bem complexos, como por exemplo o ciclo de vida do JSF.
- Precisa de outras bibliotecas para injeção de dependência.
- Por ser uma especificação JEE, os Java EE containers já o implementam nativamente.
- Para uso básico, pouca configuração.
- HTML pouco flexível por ser gerado automaticamente pelo framework.
- Pode encontrar dificuldade em manipulação de código javascript
- Gera “lixo” no html com alta complexidade para manipulação e entendimento.
- A falta de contexto em alguns componentes, como validadores e conversores, era uma dor de cabeça até a versão 2.2.x para injeção de dependências.
Spring
- Conhecido principalmente pelo seu mecanismo de injeção de dependências.
- Baseado em ações.
- Total controle do que acontece no front-end
- Facilidade de integração com bibliotecas no front-end
- Comunidade muito ativa
- Existe uma gama de componentes na família spring SData, SSecurity, SAOP, entre outros.
- Configuração muito chata, até pouco tempo atrás era baseada em xml. Atualmente muitas coisas, se não tudo, pode ser feito via Annotations.
- Por ter muito pontos de extensão, ao meu ver, a curva de aprendizado é um pouco maior do que o JSF.
Cada caso é um caso, mas entre o JSF e o Spring eu fico com o Spring, porém, entre o Spring e o JEE, eu fico com o JEE.
2 curtidas