드디어 어제 썬의 기자 간담회를 통해서 자바FX스크립트에 대한 업데이트를 받을 수 있었습니다. 발표자는 자바 챔피언이자 JCO 전 회장인 양수열 님이었습니다.
양수열 님은 먼저 컴퓨터의 세대별 분류와 각 세대의 애플리케이션 특성에 대해 설명해 주었는데요. 그 첫 번째는 서버사이드의 비중이 높았던 터미널 애플리케이션 세대입니다. 아시다시피 이 때에는 애플리케이션이 대부분 서버 단에 치중되어 있었습니다.
그 이후 클라이언트/서버 애플리케이션 세대로 이동하게 되는데, PC 성능이 좋아지면서 클라이언트에서 여러 애플리케이션이 동작하던 시기입니다.
3세대인 웹 애플리케이션 세대는 웹이 대세가 되면서 서버사이드 기술이 다시 각광받게 되는 시기입니다. 4세대는 요즘 주목받고 있는 RIA(Rich Internet Applications)세대. 이 세대에서는 클라이언트 단이 무겁고 기존에 웹브라우저에서 할 수 없었던 동적이고 인터렉티브한 환경으로 변화해 가고 있습니다. 이 과정에서 다시 클라이언트 쪽의 비즈니스 로직이나 이슈가 많아지고 있다는 것도 특징입니다.
마지막으로 앞으로 도래할 세대인 5세대는 인티그레이티드 리치 클라이언트로 정의되었습니다. 이 세대에는 RIA가 서버사이드와 동일하게 통합이 되는 리치한 클라이언트 형태로 변화하게 될 것이라고 이야기 했습니다. 또, 구글 기어스나 어도비의 AIR가 바로 이런 시대로 넘어가는 주도적인 역할을 하게 될 것이라고 덧붙였습니다.
자 이제부터가 바로 중요한 부분입니다. 이러한 애플리케이션 변화의 추세 속에서 이슈가 되는 부분이 바로 코드의 양입니다. 재미있는 점은 웹 2.0이나 매쉬업 등의 이슈로 인해 애플리케이션이 고도화됨에 따라 코드의 양이 점점 늘어야 겠지만, 반대로 코드의 양은 점점 줄어드는 것이 추세라는 점입니다.
다시 말해 이제는 인터렉티브한 애플리케이션을 만들되 코드의 양은 최소한으로 줄이는 것이 트렌드라는 이야기입니다.
이런 시점에서 썬이 새롭게 런칭하게 될 것이 바로 자바FX스크립트입니다. 자바FX스크립트는 인터렉티브한 환경을 적은 코드로 만들 수 있도록 지원합니다. 스크립트 언어가 가지는 특성을 가지고 있기 때문입니다. 자바FX스크립트는 자바의 안정성을 상속받았을 뿐 아니라, 자바 플랫폼 위에서 작동되도록 되어 있으며 스크립트 언어로 되어 있기 때문에 적은 코드로 많은 일을 처리할 수 있습니다. 예를 들어, 책장을 넘기는 효과를 웹상에서 표현하기 위해 자바 애플리케이션 3D로 구현한다면 책장을 넘길 때마다 거기에 해당하는 랜더링이나 스레드 프로그램을 계속 만들어야 하지만, 자바FX스크립트에서는 단 한 줄의 코드로 구현할 수 있습니다.
양수열 회장은 플래시로 만들어진 히어로스라는 드라마의 홍보 홈페이지와 자바FX스크립트로 만들어진 홈페이지를 비교하여 보여주었습니다. 이 페이지를 만드는 데에 필요한 코드는 200줄이 채 되질 않는다고 합니다(데모화면은 아래쪽에 있는 사진을 참조해 주세요).
자바FX의 특징
자바FX스크립트로 만들어진 애플리케이션은 JRE1.5 버전 이상에서 작동하기 때문에 일반적으로 사용하는 PC에서 별다른 추가 설치 없이 실행할 수 있습니다. 또, 자바가 포팅 되어 있는 모든 환경(디바이스, 휴대폰, 셋톱박스, 데스크톱 등)이라면 어디에서라도 실행할 수 있다는 장점을 가지고 있습니다.
퀵타임 Mpeg4 디코더 등의 동영상 지원 등 다양한 멀티미디어 요소를 더욱 강화할 예정입니다.
발표 중에 양수열 님은 “자바FX스크립트는 많은 가능성을 가지고 있습니다. 플래시 등의 RIA로 되어 있는 애플리케이션을 자바환경으로 마이그레이션이 가능할 것입니다. 물론, 여기에 멀티미디어 기능이 추가되어야 할 것입니다.”라며 첫 발을 내딛는 자바FX스크립트의 가능성과 보완해야 할 점들에 대해 이야기했습니다.
이 외에도 기존에 휴대폰에 깔려있는 자바ME나 PC에 깔려있는 자바SE 환경들의 장점을 가져가면서, 적은 코드로 원하는 기능을 구현할 수 있기 때문에 개발생산성도 높일 수 있다는 것 또한 자바FX스크립트의 빼놓을 수 없는 장점입니다. 또, 기존에 자바로 만들었던 클래스와 라이브러리를 재사용 할 수 있다는 점도 자바FX스크립트만의 장점이라고 할 수 있습니다.
자바FX스크립트와 플렉스 비교
양수열 님은 플렉스 또한 사용하고 있기에 두 개발 플랫폼의 비교를 요청해 보았습니다. 그에 대한 대답은 둘이 지향하는 방향이 약간 다르다는 것이었습니다. 다음은 양수열 님의 답변 내용입니다.
“플렉스는 인터넷 환경에서 상당한 강점을 가지고 있습니다. 플래시 플레이어가 많이 깔려있기 때문입니다. 또, 멀티미디어 코덱 자체를 미디어플레이어에서 내장하고 있기 때문에 멀티미디어 관점에서는 플렉스가 우위에 있다고 봅니다. 반면에, 개발자 입장에서 개발 생산성을 고려한다면 자바FX가 우위입니다. 실제 자바 코드를 사용할 수 있기 때문입니다. 플렉스는 액션스크립트와 MXML을 사용하기 때문에 자바와 통신하려면 자바 리모트 인보케이션을 사용해야 합니다. 이 과정에서 레이어가 분리된다는 차이가 생깁니다.”
지금까지의 내용을 요약하자면 자바FX스크립트는 기존 자바 개발자들에게 친숙한 개발자 환경을 재공하면서 인터렉티브한 개발을 할 수 있도록 만들어진 스크립트 기반 개발 플랫폼입니다. 자바와 RIA, 스크립트 언어의 특징과 장점이 잘 조화되고 거기에 멀티미디어 기능까지 갖춰진다면 어제 말한 차세대 플랫폼 무대에서 중요한 입지를 확보할 수 있을 거라 생각됩니다. 하지만 제 개인적인 생각으로는 아직 자바FX스크립트는 완성품은 아닙니다. 자바FX스크립트 전용 에디터가 완성되지 않은 탓입니다.
플렉스는 자사의 디자인 노하우가 농축된 개발환경을 제공하고 있으며, MS의 실버라이트 역시 익스프레션 제품들과 디자인 환경을 공유하고 있기 때문입니다. 자바FX스크립트의 모습을 하루빨리 만나게 되길 고대해 봅니다.