플랫폼 별 코드를 작성하지 않고도 JavaFX를 사용하여 전체 애플리케이션을 개발하고 iOS, Android 또는 Windows Phone 8에서 실행할 수 있습니까?
답변
배경
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 플러그인을 설치하고 시작하는 것이 좋습니다.
시작하는 방법에 대한 대부분의 문서는 여기 에서 찾을 수 있으며 일부 샘플은 여기 에서 찾을 수 있습니다 .
답변
예, iOS, Android, 데스크톱, RaspberryPI (아직 windows8 모바일 없음)에서 JavaFX 애플리케이션을 실행할 수 있습니다.
실행중인 작업 :
우리는 해냈다! iPad, Android, Windows 및 Mac의 JavaFX8 멀티미디어 프로젝트!
Raspberry Pi에서 실행되는 내 샘플 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에 대한 웹 사이트를 만들었습니다. 업데이트 된 정보를 보려면 여기를 확인하십시오.
답변
데스크탑 : 최고 수준의 지원
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도 지원하지 않습니다.
답변
가능한. 상업 스포츠도 할 수 있습니다.
JavaFXPorts는 모바일 및 임베디드 하드웨어에서 Java 및 JavaFX가 잘 실행되는 데 필요한 코드를 개발하는 Gluon에서 유지 관리하는 오픈 소스 프로젝트의 이름입니다. 이 프로젝트의 목표는 JavaFXPorts의 목표를 가능하게하는 데 필요한 최소한의 변경 사항을 유지하기 위해 가능한 한 OpenJFX 프로젝트에 최대한 기여하는 것입니다. Gluon은 JavaFXPorts 소스 코드를 가져 와서 iOS, Android 및 임베디드 하드웨어에 배포 할 수있는 바이너리로 컴파일합니다. JavaFXPorts 빌드는 모든 개발자가이 웹 사이트에서 무료로 사용할 수 있습니다.
답변
- 예, iOS 및 Android에서 실행할 수 있습니다 (Win8은 지원되지 않습니다!
- 웹 앱으로 배포가 작동하지 않음