Apakah mungkin menjalankan aplikasi JavaFX di iOS, Android atau Windows Phone 8?
105
Bisakah seseorang mengembangkan seluruh aplikasi menggunakan JavaFX dan menjalankannya di iOS, Android atau Windows Phone 8, tanpa menulis kode khusus platform?
Oracle mengembangkan ADF mobile. Lihat ini. Ini mendukung iOS dan android.
Alexander Kirov
Cari saja kata javafxports di www. Sebagian besar fitur javafx berfungsi dengan baik di windows / android / iOS. Saat ini, ada beberapa fitur yang belum berfungsi di android seperti: Task.cancel () atau karakter unicode internasional, atau pemutar media fx, dll.
Amin
Jawaban:
61
Latar Belakang
Jawaban invarian adalah sumber yang bagus tentang bagaimana semuanya dimulai dan bagaimana keadaan JavaFX di embedded dan mobile pada awal 2014. Namun, banyak hal telah berubah sejak saat itu dan pengguna yang tersandung di thread ini tidak mendapatkan informasi yang diperbarui.
Sebagian besar poin saya terkait dengan jawaban Invarian, jadi saya sarankan untuk membahasnya terlebih dahulu.
JavaFX masih berjalan di Android, iOS dan sebagian besar perangkat yang disematkan
JavaFXPorts SDK untuk android, iOS dan perangkat yang disematkan dapat diunduh dari sini
Proyek JavaFXPorts masih berkembang dan lebih mudah dari sebelumnya untuk menjalankan JavaFX di perangkat seluler, semua berkat plugin IDE yang dibangun di atas SDK ini dan Anda mulai dalam beberapa menit tanpa perlu menginstal SDK apa pun
Saya tidak yakin kapan terakhir kali Anda menggunakan JavaFX tetapi banyak perbaikan telah terjadi di JavaFX 8. Banyak juga yang berubah dari JavaFXPorts awal menjadi Gluon Mobile.
ItachiUchiha
Terima kasih atas pembaruan ini. Pertanyaan singkatnya, apakah JavaFXPorts gratis digunakan untuk tujuan komersial (menggunakan pustaka, bukan mengubahnya)? Saya memiliki basis kode JavaFX yang saya harap dapat diintegrasikan ke dalam Android. Gluon Mobile menawarkan uji coba gratis, tetapi saya membutuhkan solusi permanen. Apakah JavaFXPorts (bukan Gluon Mobile) solusinya? Harap klarifikasi
Nova
@Ova.hai. Ya, JavaFXPorts berada di bawah pengecualian GPLv2 + CLASSPATH sehingga Anda dapat menggunakannya dalam proyek Anda tanpa khawatir. Tapi, karena JavaFXPorts hanya memberi Anda dukungan minimal (tidak ada dukungan IDE + tidak ada kontrol Seluler), saya akan skeptis untuk memilihnya untuk sesuatu yang komersial. Gluon Mobile gratis untuk digunakan, hanya memiliki layar Nag saat aplikasi Anda dimulai (untuk versi gratis). Tapi, Anda dapat menyingkirkannya saat aplikasi Anda terkenal dengan membayar biaya :)
ItachiUchiha
@ItachiUchiha kedengarannya menjanjikan! Satu pertanyaan terakhir: Perbandingan produk Gluon Mobile yang ditemukan di sini menunjukkan layar cerewet adalah satu-satunya perbedaan antara tingkat gratis dan tingkat Indie. Apakah aman untuk mengasumsikan bahwa saya dapat menggunakan versi gratis untuk penggunaan komersial, untuk waktu yang tidak terbatas? Seperti, tidak ada tanggal kedaluwarsa? Saya dapat menangani layar cerewet sampai dana masuk :) Terima kasih telah mengklarifikasi
Nova
1
Maaf, satu pertanyaan lagi: Kode JavaFX saya 90% lengkap dengan 20.000+ baris kode. Apakah saya masih dapat mengintegrasikan Gluon Mobile ke dalam basis kode saya ... atau apakah saya perlu menggunakannya dari awal, sebelum saya menulis satu baris? Thx
Nova
75
Ya, Anda dapat menjalankan aplikasi JavaFX di iOS, android, desktop, RaspberryPI (belum ada windows8 mobile).
Jika Anda ingin mengembangkan aplikasi yang serius, berikut adalah beberapa info lebih lanjut
Lain-lain:
Saat ini untuk daftar prioritas Oracle JavaFX adalah Desktop (Mac, windows, linux) dan Embedded (Raspberry Pi, beagle Board dll) . Untuk iOS / android oracle dilakukan sebagian besar kerja keras dan operasional javafxports dari platform ini sebagai bagian dari OpenJFX, tetapi ada bukan JVM dari oracle untuk ios / android. Komunitas mengumpulkan semuanya dengan mengisi bagian yang hilang (JVM) untuk ios / android, Komunitas membuat kemajuan yang baik dalam menjalankan JavaFX di ios ( RoboVM) / android ( DalvikVM ). Jika mau, Anda juga dapat berkontribusi ke komunitas dengan mensponsori ( Menjadi sponsor RoboVM ) atau mulai mengembangkan aplikasi dan melaporkan masalah.
Ada juga proyek JavaFXPorts , yang merupakan proyek sumber terbuka yang disponsori oleh pihak ketiga . Ini bertujuan untuk mem-port pustaka JavaFX ke Android dan iOS.
Di Android, pustaka ini bisa digunakan seperti pustaka Java lainnya; yang bytecode JVM dikompilasi ke Dalvik bytecode . Itu yang orang maksud dengan mengatakan bahwa "Android menjalankan Java".
iOS: status tidak jelas
Di iOS, situasinya sedikit lebih kompleks, karena baik Java SE maupun OpenJDK tidak mendukung perangkat seluler Apple. Sampai saat ini, satu-satunya pilihan yang masuk akal adalah menggunakan kompiler Java RoboVM sebelumnya untuk iOS. Sayangnya, pada 15 April 2015, proyek RoboVM ditutup .
Salah satu alternatif yang mungkin adalah Mesin Multi-OS Intel . Sampai saat ini, itu adalah teknologi berpemilik, tetapi pada 11 Agustus 2016 itu bersumber terbuka . Meskipun dimungkinkan untuk mengompilasi aplikasi JavaFX iOS menggunakan implementasi JavaFX JavaFXPorts, sejauh ini tidak ada bukti untuk itu. Seperti yang Anda lihat, situasinya berubah secara dinamis, dan jawaban ini mudah-mudahan akan diperbarui ketika informasi baru tersedia.
Windows Phone: tidak ada dukungan
Dengan Windows Phone itu sederhana: tidak ada dukungan JavaFX apa pun.
Bisa jadi. Anda juga bisa mendapatkan olahraga komersial.
JavaFXPorts adalah nama proyek open source yang dikelola oleh Gluon yang mengembangkan kode yang diperlukan untuk Java dan JavaFX agar berjalan dengan baik di perangkat seluler dan perangkat keras tertanam. Tujuan dari proyek ini adalah untuk memberikan kontribusi sebanyak mungkin kembali ke proyek OpenJFX jika memungkinkan, dan jika tidak memungkinkan, untuk mempertahankan jumlah minimal perubahan yang diperlukan untuk mengaktifkan tujuan JavaFXPorts. Gluon mengambil kode sumber JavaFXPorts dan mengompilasinya menjadi biner yang siap untuk diterapkan ke iOS, Android, dan perangkat keras yang disematkan. Build JavaFXPorts tersedia secara gratis di situs web ini untuk semua pengembang.
Jawaban:
Latar Belakang
Jawaban invarian adalah sumber yang bagus tentang bagaimana semuanya dimulai dan bagaimana keadaan JavaFX di embedded dan mobile pada awal 2014. Namun, banyak hal telah berubah sejak saat itu dan pengguna yang tersandung di thread ini tidak mendapatkan informasi yang diperbarui.
Sebagian besar poin saya terkait dengan jawaban Invarian, jadi saya sarankan untuk membahasnya terlebih dahulu.
Status JavaFX Saat Ini di Seluler / Tertanam
Beberapa kabar buruk dulu:
Sekarang, kabar baik:
Bagaimana cara memulai
Jika Anda bukan tipe DIY, saya sarankan untuk menginstal plugin IDE pada IDE favorit Anda dan memulai.
Sebagian besar dokumentasi tentang cara memulai dapat ditemukan di sini dan beberapa contoh dapat ditemukan di sini .
sumber
Ya, Anda dapat menjalankan aplikasi JavaFX di iOS, android, desktop, RaspberryPI (belum ada windows8 mobile).
Bekerja dalam Tindakan:
Kita berhasil! Proyek multimedia JavaFX8 di iPad, Android, Windows dan Mac!
JavaFX Di Mana Saja
Ensemble8 Javafx8 Android Demo
Contoh Aplikasi JavaFX Saya Berjalan di Raspberry Pi
Aplikasi Sampel Saya Berjalan di Android
JavaFX di iOS dan Android
Sumber Daya Dev:
Android:
Membangun dan menerapkan Aplikasi JavaFX di Android
iOS:
Dukungan NetBeans untuk JavaFX untuk iOS sudah keluar!
Kembangkan aplikasi JavaFX + iOS dengan alat clipse RoboVM + e (fx) dalam 10 menit
Jika Anda ingin mengembangkan aplikasi yang serius, berikut adalah beberapa info lebih lanjut
Lain-lain:
Saat ini untuk daftar prioritas Oracle JavaFX adalah Desktop (Mac, windows, linux)
dan Embedded (Raspberry Pi, beagle Board dll). Untuk iOS / android oracle dilakukan sebagian besar kerja keras dan operasional javafxports dari platform ini sebagai bagian dari OpenJFX, tetapi ada bukan JVM dari oracle untuk ios / android. Komunitas mengumpulkan semuanya dengan mengisi bagian yang hilang (JVM) untuk ios / android, Komunitas membuat kemajuan yang baik dalam menjalankan JavaFX di ios ( RoboVM) / android ( DalvikVM ). Jika mau, Anda juga dapat berkontribusi ke komunitas dengan mensponsori ( Menjadi sponsor RoboVM ) atau mulai mengembangkan aplikasi dan melaporkan masalah.Edit 23/06/2014:
Johan Vos membuat situs web untuk port javafx JavaFX di Seluler dan Tablet , periksa ini untuk info terbaru ..
sumber
Desktop: dukungan kelas satu
Oracle JavaFX dari Java SE hanya mendukung OS X (macOS), GNU / Linux dan Microsoft Windows . Pada platform ini, aplikasi JavaFX biasanya dijalankan di JVM dari Java SE atau OpenJDK.
Android: seharusnya berfungsi
Ada juga proyek JavaFXPorts , yang merupakan proyek sumber terbuka yang disponsori oleh pihak ketiga . Ini bertujuan untuk mem-port pustaka JavaFX ke Android dan iOS.
Di Android, pustaka ini bisa digunakan seperti pustaka Java lainnya; yang bytecode JVM dikompilasi ke Dalvik bytecode . Itu yang orang maksud dengan mengatakan bahwa "Android menjalankan Java".
iOS: status tidak jelas
Di iOS, situasinya sedikit lebih kompleks, karena baik Java SE maupun OpenJDK tidak mendukung perangkat seluler Apple. Sampai saat ini, satu-satunya pilihan yang masuk akal adalah menggunakan kompiler Java RoboVM sebelumnya untuk iOS. Sayangnya, pada 15 April 2015, proyek RoboVM ditutup .
Salah satu alternatif yang mungkin adalah Mesin Multi-OS Intel . Sampai saat ini, itu adalah teknologi berpemilik, tetapi pada 11 Agustus 2016 itu bersumber terbuka . Meskipun dimungkinkan untuk mengompilasi aplikasi JavaFX iOS menggunakan implementasi JavaFX JavaFXPorts, sejauh ini tidak ada bukti untuk itu. Seperti yang Anda lihat, situasinya berubah secara dinamis, dan jawaban ini mudah-mudahan akan diperbarui ketika informasi baru tersedia.
Windows Phone: tidak ada dukungan
Dengan Windows Phone itu sederhana: tidak ada dukungan JavaFX apa pun.
sumber
Bisa jadi. Anda juga bisa mendapatkan olahraga komersial.
http://gluonhq.com/labs/javafxports/
sumber
sumber