Olá. Eu estou precisando fazer um programa em Java mas uma parte dele vai ter que ser escrita em HTML, CSS e Javascript. Porém eu não quero fazer uma aplicação web, e sim desktop, mas essa parte realmente precisa ser web. Essa parte do programa vai ter que me retornar algumas informações no final. Eu andei pesquisando e encontrei essa API: https://www.teamdev.com/jxbrowser. Essa API tem uma funcionalidade que me chamou bastante atenção, dá pra executar uma função Javascript e pegar o retorno da mesma pelo Java, além de exibir a página HTML é claro. Eu ainda não testei, mas creio que vai funcionar, mas o motivo pelo qual eu criei este tópico é para descobrir se tem outra maneira mais simples de integrar uma página web ao meu programa.
Qual é a melhor maneira de "executar código web" no Java?
5 Respostas
Ola Thallysson
Aconselho a vc investir numa boa arquitetura ao invés de ficar pegando esses produtos ai “mirabolantes”.
Vc pode criar um componente java e pode usar ele no desktop, web, mobile, tv, IoT e etc. Tudo questão de arquitetura.
Seu caso é classifico e muito comum. Vc faz um sistema java, e coloca ele pra rodar em 2 plataformas, desktop e web. Vc pode modularizar um jar ou compartilhar dados via REST.
Olá muito obrigado por responder. Eu já ouvi falar sobre o REST, mas me surge uma dúvida, eu preciso REALMENTE de um projeto desktop, não um projeto web, com REST dá pra fazer isso?
O REST é baseado no protocolo HTTP, tornando complicado não falar de web quando se fala dele. Como o Fernando falou, vc pode ter um módulo/componente web contendo seus HTML’s, CSS’s, JS’s e outros provendo um serviço Rest, com isso, sua aplicação desktop pode consumir esse WS por meio de requisições HTTP (padrão Rest) originadas pela aplicação desktop. Apenas ressaltando que por ser baseado no HTTP, ele usa os verbos GET, DELETE, PUT e POST, facilitando bastante o processamento dos dados.
Java é java…portabilidade total…projeto java é projeto java…seu front-end não importa, é simplemente uma “casca”…O mesmo projeto java, pode gerar um sistema 100% portável e o mesmo projeto pode ter um front end mobile, desktop, web, web-services, iot simultâneo…tenho dezenas por aqui…
Como eu falei…é questão de arquitetura…um assunto bem grande e não tem como falar assim numa resposta. Se vc tem interesse em aprender a fazer esse tipo de coisa, indico meu curso de arquitetura -
https://for-j.myedools.com/aqt-m1-introducao-a-arquitetura-de-software-com-java Aqui a coisa se inicia.
O que eu posso te responder agora é…vc pode fazer um projeto java genérico e reusar o projeto na web e no desktop…front end é mera casca…
Peço desculpas pela demora para dar uma resposta. Eu estudei REST, e realmente eu não entendi como funciona a troca de informações entre o programa e o webservice. Bom, mas eu acho melhor explicar minha situação para vocês poderem me ajudar. Eu quero fazer login com o Google na minha aplicação. Eu acabei de monta-la. Descobri que o segredo pra fazer isso estava só nas URLs, então eu faço o carregamento das páginas em uma Webview. Se nesse caso ainda for melhor usar REST, eu coloco meu código aqui pra vocês verem o que eu tô fazendo.