최근의 소프트웨어는 모바일을 기본으로 하고 있을 정도로 PC 기반 소프트웨어에서 모바일 기반 소프트웨어로 변화하고 있는 추세다.모바일 소프트웨어도 스마트폰의 발달로 인해 다양한 형태로 개발되고 있는데, 소프트웨어 개발 프로젝트에서는 어떠한 형태로 개발해야 하는지를 예산, 개발 기간, 사용자 분석 등을 통해 결정한 후 개발해야 한다. 이번 회에서는 모바일 소프트웨어의 종류와 개발 방법에 대해 살펴보도록 한다. 개발 방법을 잘 이해하여 효율적인 모바일 소프트웨어 개발이 되기를 기대한다.
모바일 소프트웨어의 종류
모바일 소프트웨어의 종류는 네이티브 앱(Native app), 모바일 웹(Mobile web), 하이브리드 앱(Hybrid app) 등 3가지가 있다. 네이티브 앱은 모바일 운영체제에 따라 프레임워크가 선택되고 그에 맞춰 소프트웨어 개발이 이루어지기 때문에 디바이스에 최적화된 소프트웨어를 만들 수 있지만 해당 모바일 운영체제 외에서는 구동되지 않는다. 모바일 웹은 모바일 디바이스 안에 있는 브라우저를 통해 구동되기 때문에 모바일 운영체제와 상관없이 구동 되지만 브라우저가 지원하지 않는 기능은 구현되지 못한다. 하이브리드 앱은 이 두가지를 모두 지원하는 방식이다(그림1). 단순히 생각하면, 무조건 하이브리드 형태로 하는 것이 나을 듯 싶지만 만들고자 하는 모바일 소프트웨어의 특성을 고려해 정하는 것이 좋다.
<그림1> 네이티브 앱과 하이브리드 앱의 개발 방식
출처: http://www.codejs.co.kr/mobile-web/
이 외에도 기술적으로는 웹 앱이지만, UI/UX를 네이티브 앱으로 구현하여 겉으로 보이기에는 네이티브 앱으로 보이도록 한 모바일 웹앱(Mobile web app)이 있다.
모바일 소프트웨어의 장단점
각 모바일 소프트웨어는 개발 방식에 따라 장단점을 가지고 있다. 그림2는 디바이스의 기능 액세스, 속도, 개발 비용, 스토어 활용, 개발 프로세스 별로 구분하여 나타내고 있다. 종합적인 부분을 살펴본다면 하이브리드 앱이 효율이 높은 것으로 나타나고 있다.
<그림2> 모바일 소프트웨어의 부문별 효과
출처: http://www.scribd.com