모바일 개발자라면 요즘에는 Adobe Flash Lite를 지원하는 장치들이 늘고 있다는 사실을 알고 있을 것입니다. 최근의 연구에 의하면, 어떤 형태로든 Flash Lite 규격을 따르는 장치들이 시중에 약 3억 개가 넘습니다. 물론 그 정도 숫자는 현재 12억 개에 이르는 Java ME 장치에 비하면 아무 것도 아니지만, 각 플랫폼의 장단점을 나란히 비교해 보는 것도 의미가 있을 것이라 생각합니다. 아래 여러 표에는 두 플랫폼의 최신 및 최고 규격이 다음과 같은 범주로 비교되어 있습니다.

  • 그래픽
  • 멀티미디어
  • 로컬 장치 접근성
  • 보안
  • 네트워크 연결성
  • 기타

가장 먼저 비교할 범주는 그래픽입니다. 바로 아래 표에서 알 수 있듯이 Flash Lite 3 플랫폼은 모든 표준 래스터 그래픽 형식을 지원하며 벡터 그래픽의 경우에는 FLA(Flash 형식)와 SVG 형식을 지원합니다. 제 생각에는 FLA가 SVG에 비해 더 우월한 벡터 그래픽 형식이며, 정교한 애플리케이션 제작에 필요한 도구들도 FLA의 경우가 SVG에 비해 사용하기 더 쉽고 더 널리 보급되어 있습니다.

따라서 Flash Lite 3 플랫폼은 모바일 애플리케이션용 그래픽 부분에서는 훌륭한 경쟁 상대입니다. 이는 Flash Lite 애플리케이션의 대부분이 게임이라는 점을 통해서도 알 수 있습니다. 그러나 Flash Lite 3의 한 가지 단점은 3D 그래픽을 지원하지 않는다는 점입니다.

사용자 삽입 이미지


멀티미디어
(다양한 오디오 및 비디오 형식과 코덱의 재생)에 관한 한, 승자는 명백히 Flash Lite 3 플랫폼입니다. 이 플랫폼은 Flash 8 비디오 규격뿐만 아니라 압축 비디오의 업계 표준인 Sorensen 비디오 규격도 지원합니다. 모바일 장치와 미디어 서버의 커뮤니케이션에 필수적인 스트리밍 오디오 및 비디오는 두 플랫폼 모두 지원하고 있습니다.

사용자 삽입 이미지


모바일 장치의 로컬 리소스에 대한 접근성의 경우에는 어떨까요? 아래 표에서 알 수 있듯이 Java ME MSA 규격은 GPS 수신기, 카메라, 마이크 등 유례 없이 다양한 종류의 로컬 리소스를 개발자들이 액세스할 수 있게 해줍니다.

전화번호를 다이얼링하라는 요청을 핸드셋에 보내는 기능은 두 플랫폼 모두 지원한다는 사실은 어느 정도 알려져 있습니다. 그러나 Java ME MSA 플랫폼은 로컬 장치의 전화번호부 항목도 읽을 수 있기 때문에 강력한 비즈니스 애플리케이션의 제작에 더 적합합니다. 그리고 가속도계의 센서 데이터를 액세스할 수 있는 기능을 Java ME 및 Flash Lite로 구현한 경우도 있지만 Java ME MSA 규격 또는 Flash Lite 3 규격에 포함된 기능은 아닙니다.

사용자 삽입 이미지


보안
영역의 경우, 두 플랫폼 모두 HTTPS를 지원하므로 어느 플랫폼을 사용하든 SSL 기능이 있는 웹 서버와 보안 통신이 가능합니다. 그러나 Java ME MSA 플랫폼을 활용한 애플리케이션은 안전한 신원 확인을 위한 디지털 인증서도 사용할 수 있습니다. MSA 장치는 다양한 암호화 알고리즘을 사용하여 파일 시스템에 묻혀 있는 데이터를 안전하게 보호할 수 있는 기능도 추가로 갖고 있습니다.

사용자 삽입 이미지


모바일 애플리케이션이 외부 리소스와 통신해야 할 경우, 어느 플랫폼이 더 다양한 연결 옵션을 제공할까요? 아래 표는 네트워크 장치 또는 로컬 장치와의 통신이 필요한 모바일 애플리케이션을 제작할 때 각 플랫폼이 제공하는 기능을 잘 보여줍니다. 표에서 알 수 있듯이, 두 플랫폼 모두 모바일 애플리케이션이 기본 TCP 소켓을 이용하거나 HTTP 프로토콜을 통해 요청을 개시할 수 있는 기능을 지원합니다. 그러나 Java ME MSA 표준을 지원하는 모바일 장치는 서버로 역할하여, TCP 및 UDP 전송부에 다양한 프로토콜로 들어오는 요청에 대기할 수 있는 기능도 갖고 있습니다. 따라서 이 모바일 장치는 서버 대 프록시 요청 없이도 P2P 모드로 통신이 가능합니다. 서버 모드에서는, 애플리케이션이 실행 중인 상태가 아니더라도 데이터를 수신할 수 있습니다. PushRegistry는 네트워크 요청이 들어오면 Java ME 애플리케이션이 '기동'되도록 해줍니다.

Java ME MSA 표준을 준수하는 모바일 장치는 로컬 직렬 포트 또는 적외선 포트도 사용할 수 있습니다.

사용자 삽입 이미지


아래 기능들은 이 글에서 지금까지 논의한 범주들 가운데 어느 것에도 포함되지 않는 기능들입니다. Flash Lite 애플리케이션 개발 경험이 없는 분들은 Flash Lite가 부동소수점 계산 기능, XML 구문 분석 기능을 지원하며 심지어 스레딩 프레임워크를 사용하지 않고도 개발자들이 TCP/IP 네트워킹 기능을 구현할 수 있게 한다는 사실에 놀라실지도 모르겠습니다.

사용자 삽입 이미지


결론

각 플랫폼에는 모바일 애플리케이션 개발 측면에서 고유의 장점과 단점이 있습니다. Flash Lite 지원 장치는 그래픽 및 멀티미디어 구현에 매우 우수하여 일부 게임 애플리케이션에 매우 적합합니다. 한편, Java ME MSA 플랫폼을 지원하는 장치는 블루투스 장치와의 통신, 위치 기반 서비스, 오디오/비디오 캡처, 3D 그래픽 렌더링, 모든 형태의 비동기 통신 등에서 명백히 뛰어난 능력을 보여줍니다.

저는 Java ME 라이선스 보유 업체 중 하나인 Sony Ericsson이 4월 하순에 발표한 Capuchin 기술을 통해 두 플랫폼 사이의 장벽이 해소된 것을 매우 기쁘게 생각합니다. "...Java ME와 Adobe Flash Lite 프로그래밍 환경을 연결하는 이 Java ME API는 Flash Lite를 애플리케이션의 프런트엔드로, Java ME를 백엔드로 사용할 수 있게 해줍니다. 즉, Flash 도구를 사용하여 UI를 설계하면서도 Java ME에 제공되는 모든 전화 서비스를 액세스할 수 있게 해줍니다." 두 플랫폼 모두 첫 버전인 1.0 이후 크게 발전했습니다. 관련 표준의 발전에 따라 두 플랫폼의 미래가 어떻게 전개될지 매우 궁금합니다.

Bruce Hopkins는 Bluetooth for Java(Apress Publishers)의 저자이며 JB-22 개발자 키트를 창안했습니다.


이 글의 영문 원본은
Comparing Mobile Platforms: Java ME and Adobe Flash Lite
에서 보실 수 있습니다.

"Java ME" 카테고리의 다른 글

2008/06/03 16:42 2008/06/03 16:42

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/583

  1. kj의 생각

    Tracked from kjunine's me2DAY  삭제

    모바일 플랫폼의 비교: Java ME와 Adobe Flash Lite

    2008/06/19 13:48

댓글을 달아 주세요

[로그인][오픈아이디란?]

◀ Prev 1  ... 252 253 254 255 256 257 258 259 260  ... 806  Next ▶