블로터포럼에서 'N스크린 시대, 하이브리드 앱 개발이 해법'이란 주제로 토론을 하였고, 해당 사이트에 정리하여 포스팅이 되었다. 개인적으로도 너무 잘 알고 있는 @manyoungc, @iskra2006, @xguru 님이 토론을 하고 이를 정리한 글이며 원문 주소는 http://www.bloter.net/archives/62930 이다. 내용을 따라 읽다 보니 몇가지 코멘트 할게 생겨 생각을 정리하지 않고 블로그에 간략하게 남겨본다.
1. 여전히 하이브리드앱에 대한 정의는 논란의 여지가 있다. 흔히 이야기 하는 Web in App의 형태야 이제는 명확한 것 같은데 위젯과 WAC을 하이브리드앱으로 구분하는 것은 다소 모호하다. 본문에서도 조만영대표님이 이야기 한 것과 같이 Web Application의 정의에 위젯을 포함시킨 것은 사실이다.
하지만, Web Application과 하이브리드앱의 개연성은 다소 부족하다. 개인적으로는 위젯은 하이브리드앱이라고 부를 수는 없을 듯 하다. '하이브리드'라면 양쪽의 성격을 모두 가지고 있어야 하는데 위젯은 네이티브 앱적인 성격이 매우 약하기 때문이다. 누가 맞고 틀리고를 떠나 관련 업계와 학계 등에서 명시적인 정의가 좀 더 필요한 부분이다.
2. 거시적인 관점에서 하이브리드 앱 개발을 통해 개발 리소스를 줄이고 N-Screen 환경에 대응을 할 수 있다는 점에는 이견이 없다. 하지만 실제 개발을 하다보면 이론적인 환상과 달리 몇가지 현실적인 문제를 접하게 되는게 되는데 이 부분에 대한 언급이 없어 다소 아쉽다.
일례로 Web View Component는 기본적으로 플랫폼 내 Web Core와 동일한 Component를 쓰지만 사용 환경이 동일하지 않다. Heap Size와 Cache 여부, 쿠키 관리, 외부 폰트 사용 등에 제한을 받게 된다. 그런 이유로 일반 브라우저에서 아무런 문제가 없는 부분(Web Page)이 하이브리드앱 안으로 들어가면 메모리 부족이나 성능 문제를 야기하는 경우가 많다. 더욱 심각한 것은 플랫폼에 따라 이 환경이 전혀 다르다는 것이다. 결국 플랫폼별로 하이브리드앱을 튜닝해야 하는 경우가 생긴다(단순 CSS 개발을 말하는 것이 아니다.)
하이브리드앱으로 개발한다고 해서 모든 플랫폼에 쉽게 이식된다고 생각하면 착각이다. 정적인 페이지들이 주가 되는 서비스라면 큰 문제는 없겠지만 조금 화려하거나 이미지 리소스를 많이 포함하고 있는 서비스라면 하이브리드 형태는 다시 한번 생각할 필요가 있다.
3. 하이브리드앱이란 기술적으로는 웹에 가깝고 운영과 마케팅은 앱에 가까운 기술을 요구한다. 앱스토어를 중심으로 프로모션을 하거나 유료 모델을 만드는 것은 앱스러워야 하는데 여기에 대한 노하우에 대한 이해가 필수이다. 웹개발사들이 쉽게 하이브리드앱을 통해 앱스토어에 진입할 수 있게 포장되는 것은 조금은 조심할 필요가 있다.
결국 앱스러운 머리와 웹스러운 팔이 있어야 성공할 수 있는 영역이다. 물론, 본문에 언급한 기업형 시장은 또 다른 이야기이다.
1. 여전히 하이브리드앱에 대한 정의는 논란의 여지가 있다. 흔히 이야기 하는 Web in App의 형태야 이제는 명확한 것 같은데 위젯과 WAC을 하이브리드앱으로 구분하는 것은 다소 모호하다. 본문에서도 조만영대표님이 이야기 한 것과 같이 Web Application의 정의에 위젯을 포함시킨 것은 사실이다.
The
term "Web application" refers to a Web page (XHTML or a variant thereof
+ CSS) or collection of Web pages delivered over HTTP which use
server-side or client-side processing (e.g. JavaScript) to provide an
"application-like" experience within a Web browser. Web applications are
distinct from simple Web content (the focus of BP1) in that they
include locally executable elements of interactivity and persistent
state.
하지만, Web Application과 하이브리드앱의 개연성은 다소 부족하다. 개인적으로는 위젯은 하이브리드앱이라고 부를 수는 없을 듯 하다. '하이브리드'라면 양쪽의 성격을 모두 가지고 있어야 하는데 위젯은 네이티브 앱적인 성격이 매우 약하기 때문이다. 누가 맞고 틀리고를 떠나 관련 업계와 학계 등에서 명시적인 정의가 좀 더 필요한 부분이다.
2. 거시적인 관점에서 하이브리드 앱 개발을 통해 개발 리소스를 줄이고 N-Screen 환경에 대응을 할 수 있다는 점에는 이견이 없다. 하지만 실제 개발을 하다보면 이론적인 환상과 달리 몇가지 현실적인 문제를 접하게 되는게 되는데 이 부분에 대한 언급이 없어 다소 아쉽다.
일례로 Web View Component는 기본적으로 플랫폼 내 Web Core와 동일한 Component를 쓰지만 사용 환경이 동일하지 않다. Heap Size와 Cache 여부, 쿠키 관리, 외부 폰트 사용 등에 제한을 받게 된다. 그런 이유로 일반 브라우저에서 아무런 문제가 없는 부분(Web Page)이 하이브리드앱 안으로 들어가면 메모리 부족이나 성능 문제를 야기하는 경우가 많다. 더욱 심각한 것은 플랫폼에 따라 이 환경이 전혀 다르다는 것이다. 결국 플랫폼별로 하이브리드앱을 튜닝해야 하는 경우가 생긴다(단순 CSS 개발을 말하는 것이 아니다.)
하이브리드앱으로 개발한다고 해서 모든 플랫폼에 쉽게 이식된다고 생각하면 착각이다. 정적인 페이지들이 주가 되는 서비스라면 큰 문제는 없겠지만 조금 화려하거나 이미지 리소스를 많이 포함하고 있는 서비스라면 하이브리드 형태는 다시 한번 생각할 필요가 있다.
3. 하이브리드앱이란 기술적으로는 웹에 가깝고 운영과 마케팅은 앱에 가까운 기술을 요구한다. 앱스토어를 중심으로 프로모션을 하거나 유료 모델을 만드는 것은 앱스러워야 하는데 여기에 대한 노하우에 대한 이해가 필수이다. 웹개발사들이 쉽게 하이브리드앱을 통해 앱스토어에 진입할 수 있게 포장되는 것은 조금은 조심할 필요가 있다.
결국 앱스러운 머리와 웹스러운 팔이 있어야 성공할 수 있는 영역이다. 물론, 본문에 언급한 기업형 시장은 또 다른 이야기이다.