[IT월드]모바일 애플리케이션 개발 패러다임 바꿔야

 무선 액세스 프로토콜(WAP)의 실패는 모바일 애플리케이션 개발자들에게 많은 것을 암시한다. 무선 접속이 신뢰성이 다소 떨어진다는 점을 감안하면 WAP 자체에는 잘못이 없다. 문제는 모바일 애플리케이션의 이용 패러다임이 다르다는 점이다.

 최근 가트너가 조사한 기업들 중 60% 이상은 일종의 무선 또는 모바일 애플리케이션 프로젝트를 진행중이었다. 가트너는 이를 통해 다음과 같은 모바일 애플리케이션 개발의 성공 조건을 찾아냈다.

 

 △접속이 잦은 모델에서 모바일 장치, 운영 체제 및 데이터 동기화 기능의 한계에 대한 명확한 이해

 △모바일 및 데스크톱 사용 환경간 사용자 상호작용 요건에서의 근본적인 차이에 대한 정확한 파악

 △모바일 애플리케이션 개발자용 툴, 소형 화면에 맞는 사용자 인터페이스 설계 및 모바일 장치 사용자 상호작용 설계에 대한 경험

 

 모바일 및 무선 단말기에 사용되는 프로세서와 메모리의 한계는 전통적인 데스크톱 PC 개발자들이 오랫동안 잊고 있던 규칙과 사실을 다시 상기시킨다. 즉 애플리케이션 아키텍처 그리고 최대의 응답과 기능을 얻기 위해 단말기의 모든 바이트와 프로세서 사이클을 활용하는 데 중점을 두어야 한다.

 단순히 데스크톱 애플리케이션을 축소하는 일반적인 시도는 성공하지 못할 것이다. 모바일 단말기 웹 브라우저를 사용할 수도 있겠지만 이들 단말기의 기능은 데스크톱에 비하면 매우 제한된다. 개발자들은 모바일 및 무선 장치를 소형 PC처럼 다룰 수 있을 것으로 생각해선 안 된다.

 전통적인 신클라이언트 방식에서는 ‘상시 접속’ 데이터 모델을 전제로 하지만 2.5세대 및 3세대 무선 네트워크 서비스가 아시아 지역에서 시작되면서 현실은 ‘일시적 연결’ 모델에 가까운 형태로 나타났다. 대신 이 모델은 모바일 단말기의 풍부한 사용자 인터페이스, 비즈니스 로직 및 로컬 데이터 스토리지 그리고 종전과는 다르게 오프라인 데이터 동기화와 일시적인 온라인 액세스가 혼합된 형태를 필요로 한다.

 웹의 모든 애플리케이션을 모바일 단말기에 이식할 수 있지는 않다. 어떤 애플리케이션이 제대로 작동할지, 경험과 깊이 있는 이해가 필요없는 애플리케이션은 어떤 것인지 선택하는 일은 사람들이 제약이 많은 소형 단말기를 사용하도록 유도하는 데 중요하다.

 PC 사용자 상호작용은 대개 사용자가 앉아서 키보드를 누르거나 마우스를 움직이는 정적인 형태로 이뤄진다. PC 사용자들은 대개 3∼4분의 부팅, 로그인을 거쳐 누르고 선택하는 복잡한 경로를 통해 30분 정도 데이터를 검색한다.

 모바일 사용자 상호작용은 거의 언제 어디서든 일어날 수 있으며 대개는 선 채로 한 손으로만 탐색을 하고 스타일러스 펜으로 화면을 눌러 데이터를 입력한다. 모바일 단말기에 대한 사용자 경험은 작업 지향 경험으로서 부팅과정이 없는 인스턴트 온 방식이며 최소한의 탐색 및 스타일러스 탭을 사용해 검색, 한 두 번의 탭만으로 작업을 선택하고 현재의 상황에만 관련된 작업 지향 데이터를 표현한다. 이러한 일은 때로는 30초도 안되는 시간 안에 일어난다. 마지막으로 모바일 사용자가 원하는 것은 탐색 경험이다.

 분명 이런 종류의 상호작용에는 완전히 새로운 애플리케이션 설계 방식이 필요하다. 따라서 근본적으로 다른 기술이 필요하다. 예를 들어 데이터 동기화, 임베디드 그래픽 사용자 인터페이스(GUI), 일시적으로 사용 가능한 네트워크 아키텍처, 필사 및 음성 인식에 대한 지식 등을 들 수 있다.

 모바일 장치를 위해 필요한 개발 언어로는 XML, WAP(Wireless Application Protocol) 및 C++, C#, 닷넷(.NET) 및 자바와 같은 3세대 언어가 포함된다. 데스크톱 개발자들은 C++에 익숙한 경우가 많지만 모바일 장치 소프트웨어 개발 툴은 C#, 자바 및 닷넷을 사용해 개발되는 경우가 늘고 있다.

 끝으로 모바일 장치가 연결될 비즈니스 시스템에 따라 개발자는 해당 비즈니스 시스템의 애플리케이션 인터페이스에 대한 상당한 지식과 무선 애플리케이션 게이트웨이, 모바일 사용 가능 웹 서비스 및 미들웨어와 같은 모바일 애플리케이션 통합 툴에 대한 경험을 갖고 있어야 한다.

 위의 모든 성공 조건은 ‘개발자가 환경이나 업계를 위한 모바일 애플리케이션 개발 경험을 갖고 있는가’라는 한 가지 기준을 사내 또는 아웃소싱된 개발 자원에 적용함으로써 평가할 수 있다. 이 기술을 모두 갖고 있는 경우는 매우 드물며 실제 경험에 의해서만 습득할 수 있다. 성공적인 모바일 개발 능력은 하룻밤에 얻을 수 있는 성격의 것이 아니지만 아시아 전역에는 성공적으로 모바일 애플리케이션을 개발한 경험을 갖고 있는 통합업체와 벤더들이 일부 존재한다는 점도 눈여겨 둬야 한다.

 모바일 애플리케이션 개발 성공의 열쇠는 모바일 장치 사용 패러다임이 왜 다른지 그리고 어떤 차이를 갖고 있는지 이해하는 데 있다.

 <로빈 심슨 가트너 아태지역 리서치 담당 이사 robin.simpson@gartner.com>