2014-10-06 2 views
-3

"크로스 플랫폼"이 실제로 무엇을 의미하는지 혼란스러워합니다. Windows 및 Linux 또는 Mac에서도 실행할 수있는 Java 응용 프로그램을 개발할 수 있습니다. 하지만 우리는 둘 다 Java Virtual Machine을 설치할 수 있다면 Android 스마트 폰과 Windows PC에서 실행할 응용 프로그램을 개발할 수 있습니까?Java "크로스 플랫폼"이 실제로 의미하는 것은 무엇입니까?

+2

들었을 수도 있습니다 * Java는 크로스 플랫폼 *입니다. 안드로이드는 크로스 플랫폼 *입니다. – TheLostMind

+0

및 Windows는 크로스 플랫폼입니까? Windows 및 Mac에서 앱을 실행할 수 있지만 Android에서는 실행할 수없는 이유는 무엇입니까? – Incredible

+0

안드로이드! = 자바, 안드로이드는 단지 자바 구문을 가지고 있지만 코드는 바이트 코드 (java)와 dalvik 바이트 코드 (android)로 컴파일됩니다. – maszter

답변

0

예, 프로그램을 작성한 JVM과 호환되는 JVM을 지원하는 모든 시스템에서 실행되는 응용 프로그램을 작성할 수 있습니다. 호환되는 JVM 외에도이 앱은 특정 라이브러리에 의존해야합니다. 모든 사용자는 사용 가능한 JVM에서 실행될 수 있어야하며 앱에서 사용할 수 있어야합니다.

예를 들어, 1.4부터 Swing 패키지와 JVM을 사용하여 '데스크탑 GUI'응용 프로그램을 작성할 수 있습니다. 자바 버전 1.6에 의존하는 언어 기능을 사용한다고 가정 해 보겠습니다. 이 응용 프로그램은 JVM이 1.6 이상인 모든 컴퓨터에서 실행할 수 있으며 Swing 라이브러리 (및 내가 사용한 적이있는 다른 라이브러리)도 사용할 수 있습니다.

Android는 환경을 고려한 특수 UI 시스템을 사용합니다. 나는 당신이 다른 컴퓨터에서 안드로이드 UI를 실행할 수있는 개발 환경 밖에있는 어떤 시스템도 알지 못하지만 그렇게하기는 어렵다고 생각하지 않는다. 그러나 나는 또한 그것을위한 많은 시장이 있다는 것을 모른다. 안드로이드 UI가 꽤 기본 수준에서 지원해야하는 터치 스크린을 가진 데스크톱은 거의 없습니다.

+0

스윙 라이브러리를 Android 장치로 가져올 때 스윙 UI를 사용하는 응용 프로그램을 실행할 수 있습니까? – Incredible

+0

Android에서 Swing 라이브러리를 사용할 수 있다면 Android에서 Swing을 실행할 수 있다는 것을 의미합니다. 가능한지 의심 스럽지만 직접적인 정보는 없습니다. 필자는 Swing 구현의 깊은 부분이 스윙이 그 마법을 쓰는 기반 OS에서 캔버스를 얻는 것이며, 안드로이드에 반드시 같은 구조가 존재하지 않는다고 기대한다. 하지만 이봐, Win95를 시계에 이식했다고 들었는데, 누가 알 겠어? – arcy

관련 문제