É possível executar aplicativos JavaFX no iOS, Android ou Windows Phone 8?
105
É possível desenvolver um aplicativo inteiro usando JavaFX e executá-lo no iOS, Android ou Windows Phone 8, sem escrever código específico para a plataforma?
Oracle desenvolve ADF mobile. Veja isso. Suporta iOS e Android.
Alexander Kirov
Basta procurar a palavra javafxports no www. A maioria dos recursos do javafx funcionam bem no windows / android / iOS. No momento, existem alguns recursos que ainda não estão funcionando no Android, como: Task.cancel () ou caracteres Unicode internacionais, ou o reprodutor de mídia fx, etc.
Amin
Respostas:
61
fundo
A resposta da Invariant é um bom recurso de como tudo foi iniciado e qual era o estado do JavaFX em embarcado e móvel no início de 2014. Mas, muito mudou desde então e os usuários que tropeçam neste tópico não obtêm as informações atualizadas.
A maioria dos meus pontos está relacionada à resposta do Invariant, então eu sugiro que você vá primeiro.
JavaFX ainda funciona em Android, iOS e na maioria dos dispositivos Embedded
JavaFXPorts SDK para dispositivos Android, iOS e incorporados pode ser baixado aqui
O projeto JavaFXPorts ainda está prosperando e é mais fácil do que nunca executar o JavaFX em dispositivos móveis, tudo graças aos plug-ins IDE que são construídos sobre esses SDKs e permitem que você comece em alguns minutos sem o incômodo de instalar qualquer SDK
GluonVM para substituir RoboVM habilitando suporte Java 9 para desenvolvedores móveis. Sim, você ouviu direito.
O Mobile Project foi lançado pela Oracle para oferecer suporte ao JDK em todas as principais plataformas móveis. Deve ser compatível com JavaFX também;)
Como começar
Se você não for do tipo faça você mesmo, sugiro instalar o plug-in IDE em seu IDE favorito e começar.
A maior parte da documentação sobre como começar pode ser encontrada aqui e alguns dos exemplos podem ser encontrados aqui .
Não tenho certeza de quando você usou o JavaFX pela última vez, mas muitas melhorias foram feitas no JavaFX 8. Muitas coisas também mudaram de JavaFXPorts iniciais para Gluon Mobile.
ItachiUchiha
Obrigado por esta atualização. Uma pergunta rápida, o JavaFXPorts é gratuito para uso comercial (usar a biblioteca, não alterá-la)? Tenho uma base de código JavaFX que espero integrar ao Android de alguma forma. O Gluon Mobile oferece um teste gratuito, mas preciso de uma solução permanente. JavaFXPorts (não Gluon Mobile) é a solução? Esclareça
Nova
@Nova Hi. Sim, JavaFXPorts está sob a exceção GPLv2 + CLASSPATH para que você possa usá-lo em seu projeto sem se preocupar. Mas, uma vez que JavaFXPorts apenas oferece um suporte mínimo (sem suporte IDE + sem controles móveis), eu seria cético em escolhê-lo para algo comercial. O Gluon Mobile é de uso gratuito, ele só tem uma tela de Nag quando seu aplicativo é iniciado (para a versão gratuita). Mas, você pode se livrar dele quando seu aplicativo for famoso pagando uma taxa :)
ItachiUchiha
@ItachiUchiha isso parece promissor! Uma última pergunta: a comparação dos produtos Gluon Mobile encontrados aqui mostra que a tela nag é a única diferença entre a camada gratuita e a camada Indie. É seguro presumir que posso usar a versão gratuita para uso comercial, por tempo ilimitado? Tipo, sem data de validade? Eu posso lidar com a tela de nag até os fundos rolarem :) Obrigado por esclarecer
Nova
1
Desculpe, mais uma pergunta: Meu código JavaFX está 90% completo com mais de 20.000 linhas de código. Ainda posso integrar o Gluon Mobile em minha base de código ... ou preciso usá-lo desde o início, antes de escrever uma única linha? Thx
Nova
75
Sim, você pode executar o aplicativo JavaFX no iOS, Android, desktop, RaspberryPI (sem windows8 mobile ainda).
Se você vai desenvolver aplicativos sérios, aqui estão mais algumas informações
Diversos:
No momento, a lista de prioridades do Oracle para JavaFX é Desktop (Mac, Windows, Linux) e Embedded (Raspberry Pi, beagle Board etc) . não é um JVM da oracle para ios / android.Community está juntando tudo preenchendo a peça que faltava (JVM) para ios / android, Community fez um bom progresso na execução de JavaFX em ios ( RoboVM) / android ( DalvikVM ). Se você quiser, também pode contribuir com a comunidade patrocinando ( Torne-se um patrocinador do RoboVM ) ou comece a desenvolver aplicativos e relatar problemas.
Editar 23/06/2014:
Johan Vos criou um site para portas javafx JavaFX em celulares e tablets , verifique isso para obter informações atualizadas.
Há também um projeto JavaFXPorts , que é um projeto de código aberto patrocinado por terceiros . Seu objetivo é portar a biblioteca JavaFX para Android e iOS.
No Android, essa biblioteca pode ser usada como qualquer outra biblioteca Java; o bytecode JVM é compilado para o bytecode Dalvik . É o que as pessoas querem dizer com "Android roda Java".
iOS: status não claro
No iOS, a situação é um pouco mais complexa, pois nem o Java SE nem o OpenJDK suportam dispositivos móveis da Apple. Até recentemente, a única opção sensata era usar o compilador Java RoboVM antecipado para iOS. Infelizmente, em 15 de abril de 2015, o projeto RoboVM foi encerrado .
Uma alternativa possível é o Multi-OS Engine da Intel . Até recentemente, era uma tecnologia proprietária, mas em 11 de agosto de 2016 era de código aberto . Embora seja possível compilar um aplicativo iOS JavaFX usando a implementação JavaFX do JavaFXPorts, não há evidências disso até agora. Como você pode ver, a situação está mudando dinamicamente e esta resposta será atualizada quando novas informações estiverem disponíveis.
Windows Phone: sem suporte
Com o Windows Phone é simples: não há suporte para JavaFX de nenhum tipo.
Possível. Você também pode praticar esportes comerciais.
JavaFXPorts é o nome do projeto de código aberto mantido pela Gluon que desenvolve o código necessário para que Java e JavaFX funcionem bem em hardware móvel e embarcado. O objetivo deste projeto é contribuir ao máximo para o projeto OpenJFX sempre que possível e, quando não for possível, manter o número mínimo de mudanças necessárias para habilitar os objetivos do JavaFXPorts. Gluon pega o código-fonte JavaFXPorts e o compila em binários prontos para implantação em iOS, Android e hardware integrado. As compilações JavaFXPorts estão disponíveis gratuitamente neste site para todos os desenvolvedores.
Respostas:
fundo
A resposta da Invariant é um bom recurso de como tudo foi iniciado e qual era o estado do JavaFX em embarcado e móvel no início de 2014. Mas, muito mudou desde então e os usuários que tropeçam neste tópico não obtêm as informações atualizadas.
A maioria dos meus pontos está relacionada à resposta do Invariant, então eu sugiro que você vá primeiro.
Status atual do JavaFX no celular / incorporado
Algumas más notícias primeiro:
Agora, algumas boas notícias:
Como começar
Se você não for do tipo faça você mesmo, sugiro instalar o plug-in IDE em seu IDE favorito e começar.
A maior parte da documentação sobre como começar pode ser encontrada aqui e alguns dos exemplos podem ser encontrados aqui .
fonte
Sim, você pode executar o aplicativo JavaFX no iOS, Android, desktop, RaspberryPI (sem windows8 mobile ainda).
Trabalho em ação:
Conseguimos! Projeto de multimídia JavaFX8 no iPad, Android, Windows e Mac!
JavaFX Everywhere
Ensemble8 Javafx8 Android Demo
Meu aplicativo JavaFX de amostra em execução no Raspberry Pi
Meu aplicativo de amostra em execução no Android
JavaFX em iOS e Android
Recursos de desenvolvimento:
Android:
Criação e implantação de aplicativos JavaFX no Android
iOS:
O suporte do NetBeans para JavaFX para iOS foi lançado!
Desenvolva um aplicativo JavaFX + iOS com ferramentas de clipse RoboVM + e (fx) em 10 minutos
Se você vai desenvolver aplicativos sérios, aqui estão mais algumas informações
Diversos:
No momento, a lista de prioridades do Oracle para JavaFX é Desktop (Mac, Windows, Linux)
e Embedded (Raspberry Pi, beagle Board etc). não é um JVM da oracle para ios / android.Community está juntando tudo preenchendo a peça que faltava (JVM) para ios / android, Community fez um bom progresso na execução de JavaFX em ios ( RoboVM) / android ( DalvikVM ). Se você quiser, também pode contribuir com a comunidade patrocinando ( Torne-se um patrocinador do RoboVM ) ou comece a desenvolver aplicativos e relatar problemas.Editar 23/06/2014:
Johan Vos criou um site para portas javafx JavaFX em celulares e tablets , verifique isso para obter informações atualizadas.
fonte
Desktop: suporte de primeira classe
O Oracle JavaFX do Java SE oferece suporte apenas para OS X (macOS), GNU / Linux e Microsoft Windows . Nessas plataformas, os aplicativos JavaFX normalmente são executados na JVM do Java SE ou OpenJDK.
Android: deve funcionar
Há também um projeto JavaFXPorts , que é um projeto de código aberto patrocinado por terceiros . Seu objetivo é portar a biblioteca JavaFX para Android e iOS.
No Android, essa biblioteca pode ser usada como qualquer outra biblioteca Java; o bytecode JVM é compilado para o bytecode Dalvik . É o que as pessoas querem dizer com "Android roda Java".
iOS: status não claro
No iOS, a situação é um pouco mais complexa, pois nem o Java SE nem o OpenJDK suportam dispositivos móveis da Apple. Até recentemente, a única opção sensata era usar o compilador Java RoboVM antecipado para iOS. Infelizmente, em 15 de abril de 2015, o projeto RoboVM foi encerrado .
Uma alternativa possível é o Multi-OS Engine da Intel . Até recentemente, era uma tecnologia proprietária, mas em 11 de agosto de 2016 era de código aberto . Embora seja possível compilar um aplicativo iOS JavaFX usando a implementação JavaFX do JavaFXPorts, não há evidências disso até agora. Como você pode ver, a situação está mudando dinamicamente e esta resposta será atualizada quando novas informações estiverem disponíveis.
Windows Phone: sem suporte
Com o Windows Phone é simples: não há suporte para JavaFX de nenhum tipo.
fonte
Possível. Você também pode praticar esportes comerciais.
http://gluonhq.com/labs/javafxports/
fonte
fonte