본문 바로가기

Dev Platfrom/01. Android

Android Hybrid App 개발

Android Hybrid App 개발


모바일 앱 환경에서 웹 개발기술을 그대로(?) 이용하여 모바일 앱을 개발하는 방법들이 나온지도...나 같은 네이티브 개발자가 하이브리드 앱을 개발하기 위해서 선택하고 학습해야 할 것이 무엇일까? 하이브리드 앱 개발 시작점에서 의문점 등에 대하여 포시팅 해 볼까 한다.

1. 현재, 하이브리드 앱 개발에 이용되고 있는 폰갭, 앱스프레소, 센차터치와 같은 플랫폼을 꼭 이용해야 하는 것인가? 순수하게 webView에 js를 이용하여 개발하면 문제점이 있나?

- 폰갭(http://helloworld.naver.com/helloworld/8180) , 해당 링크에서 폰갭 설명으로 알수 있 듯, 폰갭, 앱스프레소, 센차터치와 같은 플랫폼은 네이브티 개발방식으로만 제어 가능했던 Reference를 제공하고 Android 프레임웤 안에서 컴파일 할 수 있게 도와주고 있다.

- 폰갭, 앱스프레소, 센차터치와 같은 플랫폼이 위와 같이 네이브티에서 제공하는 Reference의 일부 기능을 인터페이스화하여 제공하는 기능만 한다면, Android에서 제공하는 WebView의 js 로드 방식과 네이티브방식으로만으로도 충분이 개발 가능할 듯 하다는 생각이 든다.

2. jquery mobile은 뭐냐?

- 예전에는 PC 환경 웹 페이지만 개발하면 되었다. 하지만 현재, 모바일 환경에 맞는 웹 페이지를 개발해야하는 경우가 많으며, jquery mobile은 모바일 환경에 맞는 웹 페이지 개발을 위한 도구이다. 그럼, 단순하게 생각하면, 앱을 개발할 필요성이 없는 것 아닐까하는 의문이 생기게 된다. 하지만 , 브라우저는 Android Reference에 직접 접근 할 수 없기 때문에 여러가지 한계에 부디치게 된다. 

3. 그럼, 어떻게 개발해야 하이브리드일까?

- 정말 말 그대로 인듯하다. 이 놈의 하이브리드라는 말이 짬뽕리드라는 말하고 똑같은 것 같다. 현재, 가지고 있는 리소스를  최대로 활용하여 잘 섞어서 개발하는 것이 하이브리드 앱이 아닐까 함. 정말 지극히 개인적인 생각이다. ~~

4. 그럼, 뭘 선택하고 학습해야 할까?

- 일단 기본적으로 html, 자바스크립트,  css 는 기본으로 알고 있어야 할 듯하다. 응용프로그램 개발자에게 웹 개발자가 되라고 강요하는 듯하다. 싫다.~ 추가로 폰갭, 앱스프레소, 센차터치와 같은 플랫폼 정도를 잘 정리하고 있으면, 완정도 높은 하이브리드앱을 개발 할 수 있지 않을까...

5. 하이브리드 앱 개발자의 생각 (퍼온 글)

- 하이브리드앱의 매력이 떨어지는 이유
    a. 개발환경의 발전으로 기본적인 UI는 HTML로 작성하나 네이티브로 작성하나 공수가 비슷하다.
    b. 멀티플랫폼 지원이라고 해봤자 어차피 iOS와 Android 정도이다. 
    c. 예전과 달리 앱의 업데이트가 용이해졌다.
    d. 단말 자원 문제와 WebView의 안정성 문제
    e. 디버깅 정말 짜증난다

- 하이브리드앱이 여전히 매력이 있는 이유
    a. 빠른 배포. 일부 변경이 되었다고 전체 배포를 다시할 필요가 없다.
    b. 기능 확장성. HyperText의 매력인 Out-link를 통한 외부 연결.
    c. 재활용성이 뛰어나다. 심지어 PC용 포팅도 가능
    d. IE4.0 쓰던 시절을 돌아보자. 얼마나 느리고 불안정했던지. 계속 발전하고 있다.

6. 하이브리드 앱? 웹앱?

- 하이브리드앱은 HTML, CSS, 자바스크립트와 같은 웹 표준 기술을 사용하여 개발된 모바일웹을 모바일 프레임워크(폰갭이나 앱스프레소와 같은)를 사용하여 네이티브앱으로 변환한 앱을 말합니다. 웹의 특성과 네이티브의 장점이 모두 들어있는 앱을 의미합니다.

- 웹앱이란 모바일 디바이스의 웹 브라우저 안에서 동작하면서도 네이티브앱과 비슷한 사용자경험(UX)과 기능을 제공하는 웹 응용 프로그램을 의미합니다. 웹클립 아이콘은 홈화면에 등록한 인터넷 바로가기 아이콘으로 사용자가 쉽게 인터넷 사이트를 접속하거나 웹앱을 이용할 수 있도록 도와주는 역할을 수행합니다.

참고 :

- 폰갭 공식홈 : http://phonegap.com/

- 하이브리드 앱 어떻게 개발해야 하나? : http://www.androidside.com/data/file/B57/3232235521_6NxgHebY_c1-111017073535-phpapp01.pdf

'Dev Platfrom > 01. Android' 카테고리의 다른 글

Android Fragment  (0) 2013.02.28
TextView or EditView 에 숫자 콤마 (가격 숫자)  (1) 2013.02.21
삼성 아이콘 뱃지  (0) 2013.02.01
주소록 초성 검색 소스  (0) 2013.02.01
Android 푸시알림  (0) 2013.02.01