iOS, Android 또는 Windows Phone 8에서 JavaFX 애플리케이션을 실행할 수 있습니까?


105

플랫폼 별 코드를 작성하지 않고도 JavaFX를 사용하여 전체 애플리케이션을 개발하고 iOS, Android 또는 Windows Phone 8에서 실행할 수 있습니까?


1
나는 그렇게 생각하지 않는다. 여기 봐 : news.kynosarges.org/2013/10/10/javafx-on-ios-android
Viktor K.

1
오라클은 ADF 모바일을 개발합니다. 이거 봐요. iOS 및 Android를 지원합니다.
알렉산더 키로프

www에서 javafxports라는 단어를 찾으십시오. 대부분의 javafx 기능은 windows / android / iOS에서 잘 작동합니다. 현재 Android에서 아직 작동하지 않는 몇 가지 기능이 있습니다 : Task.cancel () 또는 국제 유니 코드 문자, 또는 fx 미디어 플레이어 등.
Amin

답변:


61

배경

Invariant의 답변 은 모든 것이 어떻게 시작되었는지, 2014 년 초 임베디드 및 모바일에서 JavaFX의 상태에 대한 좋은 리소스입니다. 그러나 그 이후로 많은 것이 변경되었으며이 스레드를 우연히 발견 한 사용자는 업데이트 된 정보를 얻지 못합니다.

내 요점의 대부분은 Invariant의 답변과 관련이 있으므로 먼저 살펴볼 것을 제안합니다.

Mobile / Embedded에서 JavaFX의 현재 상태

먼저 몇 가지 나쁜 소식 :

이제 좋은 소식이 있습니다.

  • JavaFX는 여전히 Android, iOS 및 대부분의 임베디드 장치에서 실행됩니다.
  • Android, iOS 및 임베디드 장치 용 JavaFXPorts SDK는 여기 에서 다운로드 할 수 있습니다 .
  • JavaFXPorts 프로젝트는 여전히 번창하고 있으며 이러한 SDK 위에 구축 된 IDE 플러그인 덕분에 모바일 장치에서 JavaFX를 실행하는 것이 그 어느 때보 다 쉬워 졌습니다. SDK를 설치하는 번거 로움없이 몇 분 안에 시작할 수 있습니다.
  • JavaFX 3D는 이제 모바일 장치에서 지원됩니다.
  • RoboVM 을 대체하는 GluonVM 은 모바일 개발자를위한 Java 9 지원을 가능하게 합니다. 네, 잘 들었습니다.
  • Oracle은 모든 주요 모바일 플랫폼에서 JDK를 지원하기 위해 Mobile Project 를 시작했습니다. JavaFX도 지원해야합니다.)

시작하는 방법

DIY 종류가 아니라면 좋아하는 IDE에 IDE 플러그인을 설치하고 시작하는 것이 좋습니다.

시작하는 방법에 대한 대부분의 문서는 여기 에서 찾을 수 있으며 일부 샘플은 여기 에서 찾을 수 있습니다 .


언제 마지막으로 JavaFX를 사용했는지는 잘 모르겠지만 JavaFX 8에서 많은 개선이 이루어졌습니다. 초기 JavaFXPorts에서 Gluon Mobile로 많은 부분이 변경되었습니다.
ItachiUchiha 2011

이 업데이트에 감사드립니다. 빠른 질문입니다. JavaFXPorts는 상업적 목적으로 무료로 사용할 수 있습니까 (라이브러리를 변경하지 않고 사용)? 어떻게 든 Android에 통합하고 싶은 JavaFX 코드베이스가 있습니다. Gluon Mobile은 무료 평가판을 제공하지만 영구적 인 솔루션이 필요합니다. JavaFXPorts (Gluon Mobile 아님)가 솔루션입니까? 명확히 해주세요
Nova

@Nova 안녕하세요. 예, JavaFXPorts는 GPLv2 + CLASSPATH 예외 아래에 있으므로 걱정하지 않고 프로젝트에서 사용할 수 있습니다. 그러나 JavaFXPorts는 최소한의 지원 만 제공하므로 (IDE 지원 없음 + 모바일 컨트롤 없음) 상업적인 용도로 선택하는 것은 회의적입니다. Gluon Mobile은 무료로 사용할 수 있으며 애플리케이션이 시작될 때 Nag 화면 만 표시됩니다 (무료 버전). 그러나, 당신은 당신의 응용 프로그램이 :) 수수료를 지불하여 유명 때 제거 할 수
ItachiUchiha

@ItachiUchiha 유망한 소리! 마지막 질문 : 여기 에있는 Gluon Mobile 제품을 비교 하면 잔소리 화면이 프리 티어와 인디 티어의 유일한 차이점임을 알 수 있습니다. 무료 버전을 상업적 용도로 무제한으로 사용할 수 있다고 가정해도 안전합니까? 에서와 같이 만료일이 없습니까? 자금이 들어올 때까지 잔소리 화면을 처리 할 수 ​​있습니다. :) 명확히 해주셔서 감사합니다
Nova

1
죄송합니다. 한 가지 더 질문이 있습니다. 내 JavaFX 코드는 20,000 줄 이상의 코드로 90 % 완성되었습니다. 여전히 Gluon Mobile을 내 코드베이스에 통합 할 수 있습니까? 아니면 한 줄을 작성하기 전에 처음부터 사용해야합니까? Thx
Nova

75

예, iOS, Android, 데스크톱, RaspberryPI (아직 windows8 모바일 없음)에서 JavaFX 애플리케이션을 실행할 수 있습니다.

실행중인 작업 :

우리는 해냈다! iPad, Android, Windows 및 Mac의 JavaFX8 멀티미디어 프로젝트!

JavaFX Everywhere

Ensemble8 Javafx8 Android 데모

Raspberry Pi에서 실행되는 내 샘플 JavaFX 애플리케이션

Android에서 실행되는 내 샘플 애플리케이션

iOS 및 Android의 JavaFX

개발자 리소스 :

안드로이드 :

Android에서 JavaFX 응용 프로그램 빌드 및 배포

iOS :

iOS 용 JavaFX에 대한 NetBeans 지원이 종료되었습니다!

RoboVM + e (fx) clipse 도구로 10 분 만에 JavaFX + iOS 앱 개발

심각한 애플리케이션을 개발하려는 경우 여기에 몇 가지 추가 정보가 있습니다.

기타 :

현재 JavaFX Oracle의 우선 순위 목록은 Desktop (Mac, Windows, Linux) 및 Embedded (Raspberry Pi, beagle Board 등)입니다 .iOS / Android의 경우 Oracle은 OpenJFX의 일부로 이러한 플랫폼의 대부분의 노력과 opnesourced javafxport를 수행했지만 ios / android 용 oracle의 JVM이 없습니다 .Community 는 ios / android 용 누락 된 부분 (JVM)을 채워서 모두 모으고 있습니다 .Community 는 ios ( RoboVM) / android ( DalvikVM ) 에서 JavaFX를 실행하는 데 좋은 진전을 보였습니다 . 원하는 경우 후원 ( RoboVM 후원자되기) 을 통해 커뮤니티에 기여 하거나 앱 개발을 시작하고 문제를보고 할 수도 있습니다.

2014 년 6 월 23 일 수정 :

Johan Vos 는 모바일 및 태블릿 에서 JavaFX 포트 JavaFX에 대한 웹 사이트를 만들었습니다. 업데이트 된 정보를 보려면 여기를 확인하십시오.


3
RoboVM은 역대 최고의 로고를 가지고 있습니다. 새, 엄지 손가락, 아니 비행기 야!
Aleksandr Dubinsky 2014 년

다음 링크를 추가 할 수 있습니다. youtube.com/watch?v=a3dAteWr40k&feature=youtu.be ;-)
assylias 2014 년

@invariant 다양한 장치에서 마이크, 가속도계, GPS, 카메라 등에 대한 통합 및 액세스가 얼마나 잘됩니까?
mmm

첫 번째 링크는 죽었습니다. 보관 된 버전 : web.archive.org/web/20141008171951/http://...
악당

4

데스크탑 : 최고 수준의 지원

Java SE의 Oracle JavaFX는 OS X (macOS), GNU / Linux 및 Microsoft Windows 만 지원합니다 . 이러한 플랫폼에서 JavaFX 응용 프로그램은 일반적으로 Java SE 또는 OpenJDK의 JVM에서 실행됩니다.

Android : 작동해야 함

타사에서 후원하는 오픈 소스 프로젝트 인 JavaFXPorts 프로젝트 도 있습니다 . JavaFX 라이브러리 를 Android 및 iOS 로 이식하는 것을 목표로합니다 .

Android에서이 라이브러리는 다른 Java 라이브러리처럼 사용할 수 있습니다. JVM 바이트 코드는 달빅 바이트 코드로 컴파일됩니다 . 사람들이 "안드로이드가 자바를 실행한다"는 말이 의미하는 바입니다.

iOS : 상태가 명확하지 않음

iOS에서는 Java SE 나 OpenJDK가 Apple 모바일 장치를 지원하지 않기 때문에 상황이 조금 더 복잡합니다. 최근까지 유일한 현명한 옵션은 iOS 용 RoboVM 사전 Java 컴파일러를 사용하는 것입니다. 불행히도 2015 년 4 월 15 일에 RoboVM 프로젝트가 종료되었습니다 .

한 가지 가능한 대안은 Intel의 Multi-OS Engine 입니다. 최근까지는 독점 기술 이었지만 2016 년 8 월 11 일에는 오픈 소스 였습니다. JavaFXPorts의 JavaFX 구현을 사용하여 iOS JavaFX 앱을 컴파일 할 수 있지만 지금까지 이에 대한 증거는 없습니다. 보시다시피 상황은 동적으로 변화하고 있으며 새로운 정보가 제공되면이 답변이 업데이트되기를 바랍니다.

Windows Phone : 지원 없음

Windows Phone을 사용하면 간단합니다. 어떤 종류의 JavaFX도 지원하지 않습니다.


2

가능한. 상업 스포츠도 할 수 있습니다.

JavaFXPorts는 모바일 및 임베디드 하드웨어에서 Java 및 JavaFX가 잘 실행되는 데 필요한 코드를 개발하는 Gluon에서 유지 관리하는 오픈 소스 프로젝트의 이름입니다. 이 프로젝트의 목표는 JavaFXPorts의 목표를 가능하게하는 데 필요한 최소한의 변경 사항을 유지하기 위해 가능한 한 OpenJFX 프로젝트에 최대한 기여하는 것입니다. Gluon은 JavaFXPorts 소스 코드를 가져 와서 iOS, Android 및 임베디드 하드웨어에 배포 할 수있는 바이너리로 컴파일합니다. JavaFXPorts 빌드는 모든 개발자가이 웹 사이트에서 무료로 사용할 수 있습니다.

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


-4
  1. 예, iOS 및 Android에서 실행할 수 있습니다 (Win8은 지원되지 않습니다!
  2. 웹 앱으로 배포가 작동하지 않음
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.