"자바를 iOS로 이식하자"··· 새 오픈JDK 프로젝트 제안

InfoWorld
애플 iOS에서 자바를 사용할 수 있도록 하는 새로운 개발 제안이 오픈JDK 커뮤니티에서 제기됐다. 오픈JDK 모바일 프로젝트를 다시 시작해 iOS와 안드로이드용 오픈JDK 클래스와 API를 만드는 것이 주요 내용이다.
 
ⓒ Getty Images Bank

모바일 개발업체 글루온(Gluon)의 조한 보스는 최근 이런 내용의 을 커뮤니티에 올렸다. 오픈JDK 모바일은 자바 개발자에게 익숙한 툴을 이용해 오픈JDK 소스 리파지토리 최신 버전과 같은 API를 iOS와 안드로이드에 제공하는 데 집중해 왔다. 그러나 최우선 과제는 iOS였다. 전통적인 자바 지원이 취약했기 때문이다. 애플은 자바 가상머신을 iOS에서 실행하는 것을 허용하지 않고 있다.
 
오픈JDK 모바일에 대한 새 계획을 실행하려면 빌드와 함께 코드를 컴파일하기 위해 GraalVM 컴파일러가 필요하다(보스는 적시 컴파일은 iOS에서 고려하지 않고 있다고 말했다). 이후 컴파일된 자바 코드는 목표로 하는 운영체제에 맞춰 컴파일된 네이티브 라이브러리와 연동되고 해당 운영체제에서 최종적으로 실행된다. 현재 자바 11을 기반으로 iOS에서 이런 방식으로 작동하도록 이미 구현을 마쳤다.
 
GraalVM 네이티브 이미지와 오픈JDK 클래스를 이용하면 개발자가 애플의 개발 규정을 준수하는 애플리케이션을 만들 수 있다. iOS용 소프트웨어를 개발하기 위해 오브젝티브 C나 스위프트를  배울 필요도 없게 된다. 보스는 "자바를 모바일 게임 부문에 활용하는 시기는 다소 늦었지만 크로스 플랫폼의 장점은 여전하다. 핵심 요건인 보안을 충족하면서 개발할 수 있다. 클라우드 서비스로의 보안 연결도 가능하기 때문에 모바일 개발에 실제로 매우 적합한 언어가 될 수 있다"라고 말했다.
 
한편 안드로이드 개발의 경우 처음부터 자바가 사용됐다. 단, 보스에 따르면, 안드로이드는 자바 11과 호환되지 않고 자체 개발 툴인 안드로이드 스튜디오(Android Studio)와 자체 프로시저를 사용한다. 그는 "많은 개발자가 안드로이드에서 자바 프로젝트와 라이브러리를 사용하면서 심각한 문제에 직면하는 것도 이 때문이다"라고 말했다.
 
이번 계획에는 스카라(Skara) 프로젝트를 사용하기 위해 실시된 오픈JDK 마스터의 분기를 동기화하는 것도 포함됐다. 스카라 기반 리포지토리는 iOS와 안드로이드용 오픈JDK를 개발하는 데 활용될 예정이다. 자바를 iOS로 이식하는 것은 지난 수십 년간 많은 여러 프로젝트의 목표였다. 대표적인 것이 글루온의 이클립스 플러그인과 이제는 중단된 로보VM(RoboVM) 툴이었다. ciokr@idg.co.kr