Boa noite .
Estou iniciando no mundo Java . E gostaria de saber se o JavaFX tbm pode ser utilizado para web.
Desde já agradeço a todos.
Se estiver falando de usar no navegador, os navegadores atuais mais usados deixaram de suportar qualquer tipo de coisa feita em Java.
Sim voce pode utilizar JavaFX para Web, inclusive sem precisar de nenhum plugin java no navegador
Mas não compensa né?
O próprio site que diz que da pra desenvolver pra web em JavaFX demora pra carregar.
O cara teve que colocar um Loading em cada nova página pro usuário não fugir enquanto faz o processamento (e a página não tem nada tão especial, além de que demora para renderizar por completo )
Isso e’ uma das coisas mais interessantes que surgiram em termos de Java, em relação ao tempo de carregar, isso tem a ver com o seu servidor e a demanda. Mas não está ruim não.
O Loading… ele está carregando a aplicação como em qualquer uma outra. Em relação a renderização ai que está o pulo do gato e porque eles ganharam o premio
“At Java One 2016, jpro technologies AG won Oracle’s famous Duke’s Choice Award for innovative Java based technologies at San Francisco”
Sei la, só achei meio devagar, pois da o Loading na tela e depois as imagens vão se renderizando devagar, meio que travadamente
Aqui no meu tá carregando normal e a renderização esta’ boa. No entanto, gosta quem quer e usa quem quer. mas que funciona, funciona e na minha opinião, funciona muito bem.
É uma forma de converter JavaFx em HTML/SVG/Js. Uma solução obscura que só uma minoria deve seguir, o que pode dar prejuízos futuros para a empresa conseguir manter o que o programador X escolheu um dia.
Claro, para projetos particulares usa quem quer, mas é forçar demais a barra pra codificar em Java e não aprender a codificar diretamente em HTML/Js.
Nesse caso não é nada disso. o Projeto continua em 100% em javaFX no servidor e somente a renderização do sceneGraphic vai para o navegador do usuario.
Não existe JavaFx no navegador, isso é HTML/SVG/JS. Você usa JavaFx no servidor com essa solução que faz a conversão pra resposta ser em HTML.
A maioria dos profissionais web escrevem HTML diretamente. Mas não deixa de ser uma sua, só não tem nada de JavaFx no navegador.
E santa ignorancia. Isso que dá falar pelos cotovelos de coisa que desconhece. O JavaFX roda no servidor atraves da tecnologia jpro.io.
“pro is a new technology which brings Java back into the browser - without Java Plugin. To achieve that, jpro runs JavaFX on the server and maps its scenegraph directly into the browser. The client side rendering is highly optimized with browser side approximations to get a smooth user experience free of lags”
Entendeu agora ??? ou que um desenhinho ?
Não precisa começar a ficar nervoso, leia com calma novamente o que postei, falei justamente que você usa JavaFx no servidor. Mas não tem nada de 100% JavaFx nessa solução, a resposta é HTML/SVG/JS.
Claro que tem. o processamento e toda a logica toda a biblioteca e’ 100% javaFX no servidor,ele somente mapeia a parte do sceneGraphic no navegador. Ou seja voce programa em javaFX normalmente, como ele renderiza no navegador isso e’ com ele.
Tanto e’ que esse mesmo Jar que esta no servidor pode-se distribuir como Desktop e vai rodar.
Nao importa se no navegador tem uma JVM nativa da Oracle ou de terceiros, ou ainda um JVM em javascript ou um jpro.io , o importante é que rode o Java, com ou sem plugin.
E nesse caso do jpro.io e’ diferente.
Você está discordando de coisas que as próprias demos do site provam o contrário.
O que o @Mike falou por exemplo sobre o loading, pelo menos é o que demonstra no site oficial da solução. Pode até não ser assim no seu servidor, mas não passa a menor confiança ver isso no site oficial da solução. Sem falar do certificado inválido do https. Isso não vem ao caso, mas soa como abandono.
E o que vi no código lá é puramente HTML, SVG e JS. Onde a solução faz a conversão do que você escreve no servidor em Java/JavaFx para responder ao navegador com código HTML, SVG e JS.
Não tem nada de abandono
https://www.jpro.one/?page=demos
Em relação a eles ficarem devolvendo HTML, não eles não fazem isso, já dentro do JS, eles podem sim ter mapeado o sceneGraph do JavaFX.
Agora você mudou o link do site. Nesse outro site o certificado está certo. O problema do loading continua.
Não estou questionando sobre detalhes dessa implementação, mas como você mesmo falou agora, a solução não é 100% JavaFx, envolve HTML e JS, que essa ferramenta faz a conversão em cima do que você escreve em Java no servidor, independente se o servidor devolve um HTML mínimo e resolve o resto do HTML com Js. Isso é pior ainda, deixa mais lento devido todo esse processamento. Está assim na demo do site.
Que problema de loading … ???
Em relação a ser mais rapido ou menos rapido, ele deve ser menos rapido ne’ !!, por que envolve a internet para apresentar o conteudo somente. Mas não e’ como você supõe ser tipo um JSP por exemplo onde ele fica devolvendo HTML toda hora.
Uma vez carregada a pagina e com o jpro.io ele entra em cena como um runtime normal, porem esse somente faz a renderizacao.
Se você resolver chamar um plugin qualquer, a chamada dele esta dentro da pagina em HTML, mas a renderização do conteudo não tem nada a ver com HTML.
Os caras estudaram o Prism e o sceneGraph do JavaFX e conseguiram mapea-lo.
No servidor eles podem fazer o que quiser. Mas no lado client é HTML/SVG/JS.
É bem nítido a lentidão e fora do comum da experiência web essa grande espera pelo processamento, mesmo que seja inicial. Se fosse igual a JSP + ajax quando necessário, com certeza não seria igual a isso, seria bem mais rápido, além do controle natural para manutenção direta do HTML e JS.
Essa é outra questão e são coisas completamente diferentes. Deve ser o virus gigante do Windows que deve tá deixado a apresentação lenta aí pra você isso sim.
Eu não sei porque se apegar a JavaFX para web, ao meu ver não trará beneficio algum. Você pode até falar sobre produtividade pra quem ja esta acostumado com ele, mas pq não ir de JSF que é o mais parecido em questão de sintaxe? Além de ser bem mais rápido.
Eu cliquei da página LIVE DEMOS para HOME e demorou de 8 a 11 segundos para renderiza-la por completo