Qual tecnologia para web?

4 respostas
R

Pessoal, vamos começar um projeto novo aqui na empresa e estamos com uma discussão aberta.
Qual é a melhor tecnologia atualmente para desenvolver aplicações de grande porte para a Web
MVC? JSF? JSP? Servlet?
Alguém pode dar uma luz?

Obrigado

4 Respostas

tmvolpato

A escolha da tecnologia depende muito do tipo de aplicação que será desenvolvida.

V

Como @tmvolpato disse, depende do tipo de aplicação, mas posso te ajudar um pouco com base nos pontos chave que eu levaria em conta em escolher cada uma:

MVC - É uma forma de pensar no relacionamento entre as partes da aplicação, e não um framework ou tecnologia. Se você escolher uma tecnologia para trabalhar, quando estiver estudando como trabalhar com ela da maneira correta ou á que foi proposta no material, você perceberá que talvez ela não adote o MVC, ou há algumas partes que fazem mais de um papel.

Servlet - A meneira mais crua de como você trabalhar com uma tecnologia Web no servidor. Apenas utilize em um projeto se houver uma necessidade muito forte.

JSP - Se você está trabalhando com o HTML sendo renderizado dinâmicamente no servidor, JSP também é uma maneira digamos (primitiva) de se trabalhar com a Web. Você inclui código Java e tags através da JSTL em seu HTML e isso pode trazer uma enorme dor de cabeça para aplicações Web robustas. Se JSF não fosse uma opção, pelo que você leu e viu que não atende, eu olharia para o framework VRaptor criado pela Caelum. Ele é Action Based, que segue um modelo diferente do JSF.

JSF - É um framework baseado em componentes. Dito isto, o objetivo inicial dele foi fazer a adaptação do profissional que está acostumado em desenvolver interfaces para Desktop usando (Swing ou JavaFX) para a Web. Ele traz um grande ganho que é a plena integração entre a sua interface HTML (View) com o seu Managed Bean (Controller) e classes de negócio (Model). A grande vantagem é ele fazer parte da especificação JEE que oferece muitas bibliotecas para resolver vários problemas como (Acesso ao banco (JPA), Autenticação e Autorização (JAAS), JMS (Mensageria), Regras de negócio com baixo acoplamento (EJB), JTA (Para transações e etc…). Então cada parte se integra de uma melhor forma. Mas como ele é um framework de alto nível, a interface dele geralmente é pesada, pois os componentes que são renderizados na tela são reconstruídos e verificados á cad Request.
Resumindo: Ele é preferível quando você vai construir grandes aplicações corporativas, e não aplicações que serão acessadas pelo público em geral.

Espero ter sanado as suas dúvidas.

R

Muito obrigado pela sua resposta.
A ideia é criar uma aplicação em nuvem para vender serviço, uma espécie de ERP.
Uma aplicação desse tipo https://iclinic.com.br/

tmvolpato

JSF pelo que eu conheço não seria uma boa tecnologia para isso.

Eu iria de Spring MVC + AngularJS + Bootstrap.
Usando o Spring você tem tudo que precisa para o back-end.

Ai é claro depende do conhecimento da equipe porque Spring e AngularJS não se aprende
do dia para noite.

Criado 14 de abril de 2016
Ultima resposta 14 de abr. de 2016
Respostas 4
Participantes 3