하이브리드 플랫폼 (Hybrid App) 2 - 안드로이드 웹앱

2014. 2. 18. 15:33Programing/Android / Java

기념 개념은 "하이브리드 플랫폼 (Hybrid App) 1 - 안드로이드 웹앱"에서 알아보고,

하이브리드 플랫폼에 대해서 좀 더 알아보도록 하자.


하이브리드 어플의 핵심 기술은 무엇일까?

앞에서도 언급이 되었지만, HTML5일 것이다.

개발쪽에서 어플 좀 만들어다는 사람들과 이야기를 해보면 항상 결론은 비슷하다.

앞으로 모바일 쪽에서 살아 남을 수 있는 프로그램은 결국, 리눅스와 웹이라는 것이다.

대표 플랫폼 두개의 웹 브라우저와 웹킷 지원 여부는 아래와 같다.


구분

아이폰

안드로이드 

웹 브라우저

사파리

크롬

웹킷 지원 

지원 

지원 


현대 대부분의 스마트폰은 웹킷 엔진을 탑재한 웹 브라우저를 갖고 있고, 개발환경은 WebKit 기반의 웹 브라우저 컴포넌트를 SDK 형태로 제공하고 있다.

하이브리드 어플의 마지막 결과물은 해당 소프트웨어 플랫폼에서 생성하는 네이티브 어플과 동일하다.

다시 말하면, 각 플랫폼에 대해서 기본 개발환경에 대한 공부만 하고, HTML5와 CSS, 자바스크립트에만 집중을 한다면,

모든 플랫폼에 적용 가능한 어플을 만들 수 있고, 심지어 HTML5로만 구성이 되는 Smart TV 영역까지도 침범 할 수 있게 되는 것이다.

그럼 웹 개발하고 머가 다른걸까?

모바일 기기 특성의 하드웨어를 사용하고, PC와 다르게 가상 키보드를 사용는 등의 차이가 있기 때문에,

자바스크립트 API를 통해 스마트폰 하이웨어에 접근 할 수 있다는 차이점을 갖습니다.


그림으로 다시 정리해보면, 

우리가 개발을 해야 하는 부분은 HTML5 / JavaScript / CSS 부분이고,

각 스마트폰 OS와 Mapping을 시켜주는 부분은 WebKit이 해주는 것이다.



이렇게 유용한 WebKit의 구성 요소를 살펴보자.


구성 요소

설    명 

   WebCore

 HTML, SVG 레이아웃 랜더링, DOM 라이브러리 

   JavaScriptCore

 자바스크립트 엔진 

   Drosera

 자바스크립트 디버거 



그러면, 우리는 어떠한 플랫폼을 이용하면 될까?

다른 사이트를 보시면, 3개(PhoneGap / QuickConnect / Titanium)의 플랫폼이 보통 언급이 된다.

하지만, 난 주로 안드로이드를 개발하기 때문에, 

가장 정보가 많고, Apache 2.0 라이선스 오픈소스를 사용하는 PhoneGap을 사용하겠다.