Backend de Website em Java

Olá pessoal, boa tarde.

Estou projetando um website cujo backend será em Java.

Pois bem, minha pergunta é: Preciso utilizar JSP/JSF na construção das páginas OU posso utilizar apenas HTML5 fazendo chamadas assíncronas (AJAX e derivados) ao backend em Java?

Até o que sei, ambas as opções da pergunta são “possíveis” (ainda assim, gostaria da confirmação de vocês); porém, gostaria de saber quais seriam as considerações e relevâncias para cada uma delas.

Obrigado.

Abraços!

Lucas Costa

Oi Lucas.

Penso que você deve buscar estudar mais sobre projetos WEB com Java, seja Java SE ou Java EE. Isso vai ajudar você a esclarecer esse e muitas outras dúvidas. De qualquer forma, vou ser direto na resposta, sim, é possível e é simples, por sinal.

Por isso há inúmeros frameworks frontend (AngularJS, Backbone, JSF e etc) que se comunicam com um servidor Java. Lógico que cada um com um tipo de comunicação e outros podem “compartilhar” a mesma, como chamadas AJAX com GET, POST (Angular, Backbone e etc) ou chamadas ao famosos “Beans”, do JSF, sem falar em chamadas “na unha” de Servlets, com JSP.

Enfim, existe e é tranquilo essa “ligação”. Só não sei se o mais adequado a um site é o Java como backend, pois acredito que tenha outras linguagens com foco maior nesse caso.

Abraços.

1 curtida

Usar jsf hoje em dia eu particularmente não curto, mas de resto tranquilo, dá uma olhada no vraptor

1 curtida

Olá Nel, bom dia. Agradeço a resposta. Você teria alguma recomendação preferida para backend?

igomes, obrigado pela resposta também. Legal, vou dar uma olhada no VRaptor sim. Abs

Minha experiência é com Java SE e Java EE (ênfase aqui). Mas sempre desenvolvi voltado para sistemas, produtos e não websites. A priori não vejo problemas do seu backend ser Java EE, todavia, nada impede de tu estudar mais sobre backends para sites.

Obviamente, tem que entender o teu site, um globo.com da vida eles tem arquitetura com microservicos, inclusive, para atender demandas de programas ao vivo, vídeos e etc, então, tu precisa entender o “nível” do seu site, o que ele vai oferecer, perspectiva de acesso e etc.

Abraços.

1 curtida

JSF para sites não fica bom, ele é mais focado para sistemas. Porque?

  • O site fica normalmente feio, com cara de sistema
  • Demora mais para reindexar a pagina
  • Gera códigos HTML totalmente bagunçados, que fica ruim para SEO, para a engine do google.

Aqui na empresa, fizeram um webinar online esses dias, de como criar um blog com backend java e front end angular em poucos minutos, dê uma olhada: https://www.youtube.com/watch?time_continue=1&v=wRjOUGOq8AQ

Mas como disseram, tem outras linguagens/frameworks que são mais focadas para sites, como Ruby on Rails, Grails, NodeJS, e até PHP :slight_smile:

1 curtida

Como sempre a resposta é: depende. Eu não acho que JSF seja uma boa opção para websites, por exemplo. Geralmente nesse caso você tem poucas páginas, mas precisa de muita customização de CSS e JS. Nesse caso, talvez seja interessante usar um controller MVC mas consumir dados via REST. Assim você tem mais liberadade para customizar seu front. Um outro caso, seria um sistema Web, que seja acessado somente internamente em uma empresa. Nesse caso, talvez o JSF seja uma boa opção, já que você precisaria de muitas telas “padronizadas”.

Enfim,um bom exercício para você seria listar os requisitos não-funcionais que precisam ser atendidos e avaliar quais tecnologias atendem ou não o seu caso.

1 curtida

rmendes08 e igor_ks, obrigado pelas considerações sobre o JSF. Analisando o comentário de vocês, já é mais fácil compreender que JSF não é o caminho que vou seguir.

Abraços