JavaFX uygulamalarını iOS, Android veya Windows Phone 8'de çalıştırmak mümkün müdür?


105

JavaFX kullanarak bütün bir uygulama geliştirilip iOS, Android veya Windows Phone 8'de platforma özel kod yazmadan çalıştırılabilir mi?


1
Ben öyle düşünmüyorum. Buraya bakın: news.kynosarges.org/2013/10/10/javafx-on-ios-android
Viktor K.

1
Oracle, ADF mobil geliştirir. Şuna bak. İOS ve android'i destekler.
Alexander Kirov

Www'da javafxports kelimesini arayın. Javafx özelliklerinin çoğu Windows / android / iOS'ta iyi çalışıyor. Şu anda, Android'de henüz çalışmayan birkaç özellik var: Task.cancel () veya uluslararası unicode karakterleri veya fx media player, vb.
Amin

Yanıtlar:


61

Arka fon

Invariant'ın cevabı , her şeyin nasıl başlatıldığına ve 2014'ün başında gömülü ve mobil cihazlarda JavaFX'in durumunun ne olduğuna dair iyi bir kaynaktır. Ancak, o zamandan beri çok şey değişti ve bu konuya rastlayan kullanıcılar güncellenmiş bilgileri alamıyor.

Puanlarımın çoğu Değişmez'in cevabı ile ilgilidir, bu yüzden önce ondan geçmeyi öneririm.

Mobil / Gömülü JavaFX'in Mevcut Durumu

Önce bazı kötü haberler:

Şimdi, bazı iyi haberler:

  • JavaFX hala Android, iOS ve Gömülü cihazların çoğunda çalışıyor
  • Android, iOS ve gömülü cihazlar için JavaFXPorts SDK buradan indirilebilir
  • JavaFXPorts projesi hala gelişiyor ve JavaFX'i mobil cihazlarda çalıştırmak her zamankinden daha kolay, hepsi bu SDK'ların üzerine inşa edilen ve herhangi bir SDK yükleme zahmetine girmeden birkaç dakika içinde başlamanızı sağlayan IDE eklentileri sayesinde.
  • JavaFX 3D artık mobil cihazlarda desteklenmektedir
  • GluonVM , mobil geliştiriciler için Java 9 desteğini sağlayan RoboVM'nin yerini alacak . Evet, doğru duydunuz.
  • Mobil Proje , tüm büyük mobil platformlarda JDK'yı desteklemek için Oracle tarafından başlatıldı. JavaFX'i de desteklemelidir;)

Nasıl başlanır

DIY türünde değilseniz, IDE eklentisini favori IDE'nize yüklemenizi ve başlamanızı öneririm.

Nasıl başlayacağınıza ilişkin belgelerin çoğu burada bulunabilir ve bazı örnekler burada bulunabilir .


JavaFX'i en son ne zaman kullandığınızdan emin değilim, ancak JavaFX 8'de pek çok geliştirme yapıldı. Başlangıçtaki JavaFXPorts'tan Gluon Mobile'a da çok şey değişti.
ItachiUchiha

Bu güncelleme için teşekkürler. Hızlı soru, JavaFXPorts ticari amaçlarla kullanmak ücretsiz midir (kitaplığı değiştirmek değil, kitaplığı kullanmak)? Bir JavaFX kod tabanım var Android'e bir şekilde entegre etmeyi umuyorum. Gluon Mobile ücretsiz bir deneme sunuyor, ancak kalıcı bir çözüme ihtiyacım var. Çözüm JavaFXPorts (Gluon Mobile değil) midir? Lütfen açıklığa kavuşturun
Nova

@Nova Merhaba. Evet, JavaFXPorts GPLv2 + CLASSPATH istisnası altındadır , böylece projenizde endişelenmeden kullanabilirsiniz. Ancak, JavaFXPorts size yalnızca minimum düzeyde destek sağladığından (IDE desteği yok + Mobil kontrol yok), ticari bir şey için onu seçmekten şüphe duyarım. Gluon Mobile'ın kullanımı ücretsizdir, uygulamanız başladığında sadece bir Nag ekranına sahiptir (ücretsiz sürüm için). Ancak, uygulamanız ünlü olduğunda ücret ödeyerek ondan kurtulabilirsiniz :)
ItachiUchiha

@ItachiUchiha bu umut verici geliyor! Son bir soru: Burada bulunan Gluon Mobile ürünlerinin karşılaştırması , nag ekranının ücretsiz katman ile Bağımsız katman arasındaki tek fark olduğunu gösteriyor. Ücretsiz sürümü ticari kullanım için sınırsız süre kullanabileceğimi varsaymak güvenli mi? Olduğu gibi, son kullanma tarihi yok mu? Para gelene kadar nag ekranını idare edebilirim :)
Nova

1
Üzgünüz, bir soru daha: JavaFX kodum 20.000'den fazla kod satırı ile% 90 tamamlandı. Yine de Gluon Mobile'ı kod tabanıma entegre edebilir miyim ... yoksa tek bir satır yazmadan önce en başından beri kullanmam gerekir mi? Thx
Nova

75

Evet, JavaFX uygulamasını iOS, android, masaüstü, RaspberryPI (henüz windows8 mobile yok) üzerinde çalıştırabilirsiniz.

Eylemde Çalışın:

Yaptık! İPad, Android, Windows ve Mac'te JavaFX8 multimedya projesi!

Her Yerde JavaFX

Ensemble8 Javafx8 Android Demosu

Raspberry Pi'de Çalışan Örnek JavaFX uygulamam

Örnek Uygulamam Android'de Çalışıyor

İOS ve Android'de JavaFX

Geliştirici Kaynakları:

Android:

Android'de JavaFX Uygulamalarını derleme ve dağıtma

iOS:

İOS için JavaFX için NetBeans desteği çıktı!

RoboVM + e (fx) clipse araçlarıyla 10 dakikada bir JavaFX + iOS uygulaması geliştirin

Ciddi uygulamalar geliştirecekseniz, burada biraz daha bilgi var

Çeşitli:

Şu anda JavaFX için Oracle öncelik listesi Masaüstü (Mac, windows, linux) ve Gömülüdür (Raspberry Pi, beagle Board vb.) . İOS / android oracle için OpenJFX'in bir parçası olarak bu platformların sıkı ve açık javafxport'larının çoğunu yaptı, ancak orada ios / android için oracle'dan JVM yok. Topluluk, ios / android için eksik parçayı (JVM) doldurarak hepsini bir araya getiriyor, Topluluk, ios ( RoboVM) / android ( DalvikVM ) üzerinde JavaFX çalıştırmada iyi bir ilerleme kaydetti . İsterseniz ayrıca sponsor olarak ( RoboVM sponsoru olun ) topluluğa katkıda bulunabilir veya uygulamalar geliştirmeye başlayabilir ve sorunları bildirebilirsiniz.

06/23/2014 düzenleyin:

Johan Vos , Mobil ve Tabletlerde javafx bağlantı noktaları JavaFX için bir web sitesi oluşturdu , güncellenmiş bilgiler için bunu kontrol edin ..


3
RoboVM şimdiye kadarki en iyi logoya sahiptir. Bu bir kuş, bu bir başparmak, hayır o bir uçak!
Aleksandr Dubinsky

Şu bağlantıyı ekleyebilirsiniz: youtube.com/watch?v=a3dAteWr40k&feature=youtu.be ;-)
assylias

@invariant, çeşitli cihazlar için entegrasyon ve mikrofon, ivmeölçer, gps, kamera ve benzerlerine erişim ne kadar iyi?
mmm

İlk bağlantı öldü. Arşivlenmiş sürüm: web.archive.org/web/20141008171951/http://…
Miscreant

4

Masaüstü: birinci sınıf destek

Java SE'den Oracle JavaFX yalnızca OS X (macOS), GNU / Linux ve Microsoft Windows'u destekler . Bu platformlarda, JavaFX uygulamaları genellikle Java SE veya OpenJDK'dan JVM'de çalıştırılır.

Android: çalışmalı

Ayrıca üçüncü tarafın sponsor olduğu açık kaynaklı bir proje olan JavaFXPorts projesi de var . JavaFX kitaplığını Android ve iOS'a taşımayı amaçlamaktadır .

Android'de bu kitaplık diğer Java kitaplıkları gibi kullanılabilir; JVM baytkodu Dalvik baytkoduna derlenir . İnsanların "Android Java çalıştırıyor" derken kastettiği şey bu.

iOS: durum net değil

İOS'ta durum biraz daha karmaşıktır çünkü ne Java SE ne de OpenJDK Apple mobil cihazları desteklememektedir. Yakın zamana kadar, tek mantıklı seçenek iOS için RoboVM önceden Java derleyicisini kullanmaktı. Ne yazık ki, 15 Nisan 2015'te RoboVM projesi kapatıldı .

Olası bir alternatif Intel'in Multi-OS Engine'dir . Yakın zamana kadar tescilli bir teknolojiydi, ancak 11 Ağustos 2016'da açık kaynaklıydı . JavaFXPorts'un JavaFX uygulamasını kullanarak bir iOS JavaFX uygulamasını derlemek mümkün olsa da, şimdiye kadar bunun için bir kanıt yoktur. Gördüğünüz gibi, durum dinamik olarak değişiyor ve bu yanıt, yeni bilgiler mevcut olduğunda umarız güncellenecektir.

Windows Phone: destek yok

Windows Phone ile çok basit: hiçbir JavaFX desteği yoktur.


2

Mümkün. Ticari spor da yapabilirsiniz.

JavaFXPorts, Java ve JavaFX'in mobil ve gömülü donanımlarda iyi çalışması için gerekli kodu geliştiren Gluon tarafından sürdürülen açık kaynaklı projenin adıdır. Bu projenin amacı, JavaFXPorts hedeflerini mümkün kılmak için gerekli minimum sayıda değişikliği sürdürmek ve mümkün olmadığında OpenJFX projesine mümkün olduğunca çok katkıda bulunmaktır. Gluon, JavaFXPorts kaynak kodunu alır ve iOS, Android ve gömülü donanımlara dağıtılmaya hazır ikili dosyalar halinde derler. JavaFXPorts yapıları bu web sitesinde tüm geliştiriciler için ücretsiz olarak mevcuttur.

http://gluonhq.com/labs/javafxports/


-4
  1. evet, iOS ve Android'de çalıştırabilirsiniz (Win8 desteklenmez!
  2. web uygulaması çalışmadığı için dağıtım yok
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.