티스토리 뷰

앱 개발 방법론 선정

문화콘텐츠 기획서에 적합한 개발 방법 조사 및 선정

준비된 개발 환경에 적합한 개발 방법(네이티브 앱, 모바일 앱, 하이브리드 앱)을 정할 수 있다.

개발 방법 개요

안드로이드 계열의 파편화는 애플리케이션 개발에 문제점을 가져왔다. 출시 이후 빠른 속도로 성장하여 아이폰 보급률을 뛰어넘어 모바일 OS 시장의 1위 자리를 지키고 있는 안드로이드 OS의 가장 큰 문제는 파편화이다.

파편화란, 4.0(IceCreamSandwitch)으로 통합이 되었지만 이전까지 2.3진저브레드(GingerBread)인 스마트폰 OS와 3.0허니콤(HoneyComb)인 태블릿 OS로 나누어져서 생긴 부작용을 뜻한다. 또한 구글의권장사항은있었지만자유롭게수정이가능해각제조사별로맞춤 제작된하드웨어와 OS는 이런 파편화 문제를 더 심각하게 하였다. 이 같은 기기 간 다양한 OS 버전, OS 분리 정책을 비롯해 맞춤화된 제조사별 OS는 다양한 부작용을 일으켰다. 일부 기기에서 정상 작동하는 애플리 케이션이 다른 안드로이드 기기에서 제대로 작동하지 않는 등 같은 안드로이드 기기 간의 호환성 문제가 지속적으로 발생하고 있는 것이다. 이런 문제점을 해결하려면 기존의 애플리케이션 개발 과정을 살펴보아야 한다.

예를 들어 기업 소개 애플리케이션을 제작하려 하면 오브젝티브-C와 자바(Java)를 이용하여 각각 아이폰과 안드로이드용으로 애플리케이션을 제작하여 앱스토어(App Store)와 구글 플레이(Google Play)에 등록하여야 한다. 바다(Bada), WP7 및 다른 플랫폼까지 지원하려면 더 많은 시간과 비용을 소모해야 한다.

업데이트 내용이라도 있다면 처음부터 같은 작업을 반복해야 한다. 앞으로 더 많은 모바일 플랫폼 이 발매된다면 그때그때 추가 작업을 해 줘야 할 것이다.

모바일기기 플랫폼에 따라 습득 할 언어, 설치해야 할 개발툴, 개발에 필요한 환경구축방법 등이 모두 다르고, 이는 개발자들에게 많은 어려움과 불편함을 초래한다. 하이브리드 기술은 이런 문제점의 해결책으로 등장했다. 특히 오픈소스인 웹킷과 HTML5의 발전은 하이브리드 기술 등장 에 영향을 미쳤다. 웹킷이란 웹 브라우저를 만드는 기반 기술이다. 원래는 맥 OS X에 탑재된 사파리에 사용하기위해 만들어졌으며 후에 오픈소스로 공개되었다. 현재 대부분 모바일 브라우저 에서는 웹킷을 지원하고 있다. 하이브리드 앱은 웹킷 기반의 웹 브라우저 기술과 HTML5, CSS, 자바스크립트(JavaScript)등을 통해 만들어진다.

모바일 앱의 구분

일반적으로 최신 기기에서 구동되는 모바일 앱은 네이티브 앱(Native App), 웹 앱(Web App), 하이브리드 앱(Hybrid App)으로 나뉜다.

  • 네이티브 앱(Native App)
    • 모바일 기기에 직접 설치되어 구동하는 전용 애플리케이션이다. 각 플랫폼에 맞는 개발 언어와 SDK로 개발하여야 하며, 각 기기의 전용 리소스(주소록, 가속 센서, 카메라 등)를 사용할 수 있다. 기기의 하드웨어, 메모리 등과 밀접하게 상호 작용할 수 있어 모바일에 최적화된 고성능 애플리케이션을 개발할 수 있다. 또한 앱스토어나 구글 플레이스토어 같은 전용 마켓을 통해 등록 하고 판매할 수 있다. 대부분 일반 사용자들이 말하는 앱은 네이티브 앱을 지칭한다.
  • 웹 앱(Web App)
    • 최신 모바일 기기는 대부분 풀 브라우징(full browsing)을 지원한다. 모바일 웹 앱은 브라우저에 종속되어 모바일에 더 최적화하여 구동되는, 네이티브 애플리케이션화된 방식을 말한다. 웹 앱은 웹(web)과 애플리케이션(application)의 합성어로 모바일웹 앱은 웹 기술만 사용하여 풀 스크린 모드, 애니메이션 효과, 터치 인터페이스, 비동기 통신, 로컬 저장소, 오프라인 지원, 향상된 스타일 등을 구현하여 모바일 환경에서 네이티브 앱과 유사한 실행 환경, 사용자 경험(UX)을 제공하는 애플리케이션이다. 웹 앱은 웹킷을 지원하는 브라우저를 통해 모든 디바이스에서 구동 가능한 높은 호환성이 장점이다. 네이티브 앱과 달리 오류나 업데이트가 있더라도 비교적 짧은 시간에 수정·반영할 수 있어 유지 보수도 용이하다. 그러나 브라우저의 속도와 성능에 의존적이고 특성상 서버와 통신이 주기적으로 이루어지다 보니 실행 속도가 느리고, 기기의 리소스를 손쉽게 이용할 수 없다는 것이 단점으로 지적된다.
  • 하이브리드 앱(Hybrid App)
    • 하이브리드 앱은 네이티브 앱과 웹 앱의 장점을 결합한 방식이다. 일반적인 웹 기술로는 모바일 기기의 리소스를 직접 제어해 이용할 수 없다. 또한 일반 사용자가 웹 앱에 접근하려면 브라우저를 실행해 URL을 입력해 이용해야 한다. 즉, 애플 앱스토어나 구글 플레이 같은 마켓에 애플리케이션 을등록하거나다운로드해이용할수없다. 하이브리드앱은이런단점을보완해웹앱과같이 웹기술을이용해손쉽게앱을개발하고유지보수할수있고, 네이티브앱처럼모바일기기의 고유 정보를 이용하고 앱스토어에 등록/판매도 할 수 있게 하는 애플리케이션이다. 이런 것이 가능하게 하려면 모바일 기기의 리소스를 웹 기술로 호출해 사용할 수 있는 추상화된 API가 필요하 며 웹 앱을 네이티브 앱 형식으로 감싸 줄 수 있는 타이타늄(Titanium), 폰갭(PhoneGap), 앱스프 레소(Appspresso) 같은 프레임워크가 필요하다

UI/UX Design

UI/UX 환경 분석

UI/UX 계획 수립

사용자 리서치

UI/UX 요구 분석

UI/UX 콘셉트 기획

UI 아키텍쳐 설계

댓글
댓글쓰기 폼