estou estudando desenvolvimento web e já vi JSP e JSF. Do Spring, a primeira vista, não parece ser tão produtivo quanto esperava. Ouvi dizer dos frameworks Play e VRaptor. Alguém que tenha trabalhado com esses frameworks tem algo em suas defesas?
Não tem como encontrar nada muito produtivo pra Java. Mas Spring é o que tem de melhor para Java.
Play com linguagem Scala dizem ser produtivo. Mas nunca confiei em Play Framework tanto com Scala ou Java, por ser fora de cogitação no mercado, assim como VRaptor.
VRaptor ainda conta com o nosso complexo de vira-latas por ter sido desenvolvido por brasileiros.
Uma curiosidade, por que o seu apelido é javaflex se você acha o Java improdutivo? Não seria melhor mudar para javascriptflex, pythonflex ou kotlinflex?
Foi na época que esse forum era só de Java. Pagando bem uso qualquer tecnologia, inclusive Java. Mas foi uma das tecnologias mais improdutivas que já usei comparado a outras para o mesmo fim. Com Spring Boot e todo ecossistema Spring o mundo do Java web melhorou. Espanta voce falar que nao achou Spring produtivo dentro do mundo Java, pois antes os projetos Java eram Deus nos acuda.
Independente do que for, não pegou, mas se quiser se arriscar fique livre pra isso.
Não cheguei efetivamente a trabalhar com o Spring Boot. Apenas tive uma pincelada da tecnologia, mas me pareceu trabalhosa ainda para quem havia ouvido falar maravilhas desse framework. Pode ser que o instrutor não tenha passado de uma maneira muito didática ou eu não a tenha contextalizado dentro de um projeto real.
A propósito, você trabalha com o que hoje em dia? Angular/React/Vue JS de frontend com o Javascript de backend? Ou adepto de Ruby on Rails, Django ou Laravel?
ASP.NET Core, além de ajudar em um projeto Java 8 com Spring Boot. Meu foco é mais back-end apesar de meter a mão em tudo. Dependendo do projeto a equipe do front-end usa Angular ou Reactjs pra SPAs. Angular é mais fácil e organizado, por outro lado mais pesado do que Reactjs. Pra freela/projeto particular prefiro não usar Angular nem Reactjs, uso a razor engine (umas das opções do ASP.NET Core) por ser muito mais ágil pro caso de monolitos. No browser o mínimo possível de js com jquery quando necessário.
Se teu foco é Java, recomendo ir na linha do Spring mesmo, não conheço outra ferramenta melhor pra Java.
Li na apostila da Caelum que VRaptor foi desenvolvido na USP pelos criadores deste fórum, GUJ, e que atualmente é mantido pela própria Caelum e que o GUJ foi feito em Vraptor 2 ou 3.
VRaptor é no GUJ Respostas. Este forum aqui usou a solução pronta Discourse https://www.discourse.org/, que é desenvolvida em Ruby on Rails no back-end.
Pelo que eu entendi o Spring Boot se assemelha ao Rails na medida em que adota convenção sobre configuração, mas na aula que eu tive tem que ficar criando properties, xmls etc. Parece que conforme é simplificada tarefas repetitivas, como a construção de classes Dao para cada classe, se complica, tendo que escrever diversos outros arquivos. Ou seja, você deixa um pouco de ser programador Java para se tornar configurador.
A ideia do Spring Boot é o inverso, configurar o mínimo possível e codar somente o essencial, acredito que sua aula tenha sido um pouco infeliz nos exemplos que foram apresentados, por isso você está com essa impressão, por ser muito flexível existem muitas formas de estruturar um projeto.
Como o professor é DBA também e arquiteto se concentrou muito em explicar o maven, o arquivo pom.xml, coisas que eu não gosto. E é daqueles professores que explicam devagar e repetidamente o que é fácil e rápido a medida que o curso avança e as coisas vão ficando complicados.
PS: Mas agora estou assistindo aulas da Udemy no meu ritmo e também tem um material da casa do código que posso usar para referência.