2012.11.06

컬럼 | '네이티브 vs. HTML5' 앱 개발 논란 : 두 가지 다 하면 된다

Paul Krill | InfoWorld
현재 모바일 애플리케이션 개발 관련해서 가장 뜨거운 이슈 중의 하나는 최적의 방법이 네이티브 개발이냐, 아니면 모바일 웹 애플리케이션이냐에 대한 것이다.
 
개발자 입장에서 볼 때 개별적인 두 방법은 물론 두 가지를 섞은 하이브리드 애플리케이션도 장점이 있다. 어떤 애플리케이션 빌더는 앱셀러레이터 티타늄(Appcelerator Titanium) 등 자바스크립트와 같은 웹 기반 메커니즘을 네이티브 코드로 컴파일하는 개발 도구를 사용하기도 한다.

웹 기반 또는 HTML5 개발 방식을 사용하면 애플리케이션을 여러 종류의 기기용으로 신속하게 개발할 수 있다고 개발자들은 말한다. 그러나 애플 iOS용 오브젝티브-C, 구글 안드로이드 기기용 자바와 같은 네이티브 개발은 특정 기기의 기능을 세세하게 활용할 수 있게 해주고 이는 개별 플랫폼마다 독립적으로 코드를 개발해야 하는(기반 로직은 아니지만) 비용을 상쇄할 만한 가치를 제공하는 경우가 많다.
 
네이티브 환경이 가장 앞선다
홈즈닷컴(Homes.com)의 모바일 개발 관리자인 제시 뉴커머는 “웹과 HTML5도 많이 발전했지만 UI, 멀티 터치, 애플리케이션에서 사용자가 기대하는 요소라는 측면에서 아직 네이티브 환경 수준에는 이르지 못했다”고 말한다. 개인 개발자인 케탄 마지무다르도 네이티브 애플리케이션과 비교할 때 모바일 웹 애플리케이션의 문제는 오프라인 관련 특성이라고 말한다.

애플리케이션은 온라인 웹 서비스와 통신해 데이터를 가져오거나 그게 아니라면 데이터 저장소가 앱과 함께 지원해야 한다. 마지무다르는 “기술로서 HTML5는 아직 성숙한 단계가 아니다"며 "거의 그 수준에 이르긴 했지만 데이터 다운로드와 같이 풀어야 할 문제가 많다”고 말했다. 반면 네이티브 애플리케이션은 다운로드할 때 이미 데이터가 안에 포함되어 있다. 즉, 필요한 데이터의 대부분이 이미 완비되어 있는 것이다.
 
마지무다르는 “네이티브 개발은 사라지지 않는다"며 "오브젝티브-C 개발자는 앞으로도 항상 필요할 것”이라고 전망했다. 물류 서비스 업체 모간 서플라이 온 디맨드(Morgan Supply on Demand)의 시스템 엔지니어이자 웹 개발자인 폴 넬슨도 “네이티브 방식을 사용할 때 속도와 메모리 제어 기능 측면에서 더 유리하다”고 말했다. 넬슨은 페이스북이 iOS용으로 HTML5 애플리케이션을 만든 것은 '큰 실수'였다며 “페이스북은 네이티브 앱을 개발할 자금과 리소스를 갖고 있음에도 그런 결정을 내렸다”라고 지적했다.
 
모바일 환경 개발 업체인 앱매트릭스(AppMatrix)의 제품 설계 담당 이사인 조니 스프레이틀리는 iOS의 시리 음성 명령과 같은 특정 기능에 접근하기 위해 네이티브 개발을 사용할 수밖에 없는 경우도 있다고 말한다. 특정 기능을 위해 네이티브가 필요한 경우가 항상 있다는 것이다.
 
HTML5와 혼합 방식의 유리한 점
대부분의 개발자들이 네이티브 개발의 장점에 동의하지만 그렇다고 손쉬운 웹 개발 또는 혼합 개발 방식을 간과할 수는 없다. 게티파이 솔루션스(Getify Solutions)의 자바스크립트 아키텍트인 카일 심슨은 “명확하게 분할되는 선택이 아니라 스펙트럼 상의 선택”이라며 “얼만큼의 네이티브를 수용하고 얼만큼의 웹을 수용할지, 그 스펙트럼은 회사에 따라 매우 다르다”라고 말했다.
 
심슨은 어도비 폰갭, 앱셀러레이터 티타늄과 같은 리컴파일 기술을 이용하면 모바일 플랫폼에서 웹 개발 방식을 활용할 수 있다고 말한다. 물론 티타늄과 같은 인기 있는 도구도 완벽하지는 않다. 홈즈닷컴의 뉴커머는 “티타늄에도 예를 들어 각 UI 요소들이 원활하게 작동하도록 만들기가 어려운 점 등 그 나름의 문제점이 있다”고 말했다.
 
앱매트릭스의 스프레이틀리는 "자바스크립트를 네이티브 코드로 변환해주는 티타늄 기능을 그다지 선호하지 않는다"고 말했다. 입력이 출력과 다르고 이로 인해 디버깅이 어려워질 수 있기 때문이다. 반면 그는 “단점은 있지만 더 많은 애플리케이션을 더 빠르게 만들어내는 데는 도움이 되며 애플리케이션을 관리하기도 더 쉽다”라고 덧붙였다.
 
전자상거래 사이트인 CNV.com의 경우 고민할 필요도 없이 HTML5 개발 방식을 선택했다. 이 업체의 개발자인 다니엘 라슈아는 “우리는 전자상거래 플랫폼으로서 거래를 처리해야 하고 신용 카드를 다룰 때 보안도 중요하다”며 “가장 안전한 솔루션은 모든 정보가 우리 서버에 위치하는 웹 기반 솔루션이라고 판단했고 복수의 단말기에 대한 앱 배포 또는 각 단말기의 보안에 대처할 필요가 없다”고 말했다. 그러나 CNV.com도 순수 HTML5 앱에 의존하지는 않고 앱셀러레이터를 사용해 네이티브 기기 기능에 접근한다.
 
캘리포니아주 플레이서 카운티 수자원 관리국의 정보 시스템 애널리스트이자 개발자인 브라이언 히스는 “HTML5를 사용하면 여러 기기에 소프트웨어를 배포하기가 더 쉽다"며 "특히 인기 있는 스마트폰이 계속해서 바뀌는 상황에서는 이 부분이 더 중요하다”라고 말했다. 이어 “안드로이드와 iOS를 위한 API 툴셋을 다루는 일은 듣기만 해도 골치가 아픈 것 같다”고 덧붙였다.

라슈아는 웹 배포 방식에도 단점은 있다며 “사용자가 원하는 환경을 이용하지 못할 때가 있다”고 말한다. 예를 들어 단일 아이콘으로 회사 웹 사이트를 여는 기능을 구현하기가 더 어렵고 HTML5 애플리케이션은 오프라인으로 사용이 불가능하다. 그러나 CNV.com에 사용되는 것과 같은 전자상거래 애플리케이션은 어차피 오프라인에서 별 효용이 없다고 라슈아는 말한다.
 
HTML5 개발은 계속 발전하는 중
앞으로 모든 또는 일부 개발 작업에라도 네이티브 페러다임을 고수하는 개발자는 늘 있을 것이다. 그러나 HTML5와 자바스크립트 조합은 무시하기에는 너무 매력적이다. 쿼드 엘리먼츠(Quad Elements)의 부사장인 카자유키 코노는 “네이티브가 가장 좋겠지만 너무 많은 비용과 시간이 들어간다”며 “물론 네이티브 애플리케이션의 성능은 탁월하지만 티타늄과 같은 도구 역시 리컴파일된 빠른 애플리케이션을 제공한다”고 말했다.
 
또한 HTML5 개발이 다수의 자바스크립트 개발자에게 모바일 기기를 향한 문을 열어주는 것은 분명하다. 물론 특정 태블릿과 스마트폰에 대해 접근 가능한 기능의 다양성이라는 측면에서는 순수 네이티브 개발자들이 더 유리하다. 기업 및 상업용 소프트웨어 개발자들은 앞으로도 각자의 필요에 따라 가장 적합한 선택을 저울질할 것이다.

그러나 이런 선택의 대부분은 두 가지 옵션을 모두 선택하거나 혹은 혼합한 방법을 택하는 형태가 될 것이다. 왜냐하면 가장 중요한 것은 네이티브로 가느냐 HTML로 가느냐가 아니라 ‘어떤 경우인가’이기 때문이다. editor@idg.co.kr



2012.11.06

컬럼 | '네이티브 vs. HTML5' 앱 개발 논란 : 두 가지 다 하면 된다

Paul Krill | InfoWorld
현재 모바일 애플리케이션 개발 관련해서 가장 뜨거운 이슈 중의 하나는 최적의 방법이 네이티브 개발이냐, 아니면 모바일 웹 애플리케이션이냐에 대한 것이다.
 
개발자 입장에서 볼 때 개별적인 두 방법은 물론 두 가지를 섞은 하이브리드 애플리케이션도 장점이 있다. 어떤 애플리케이션 빌더는 앱셀러레이터 티타늄(Appcelerator Titanium) 등 자바스크립트와 같은 웹 기반 메커니즘을 네이티브 코드로 컴파일하는 개발 도구를 사용하기도 한다.

웹 기반 또는 HTML5 개발 방식을 사용하면 애플리케이션을 여러 종류의 기기용으로 신속하게 개발할 수 있다고 개발자들은 말한다. 그러나 애플 iOS용 오브젝티브-C, 구글 안드로이드 기기용 자바와 같은 네이티브 개발은 특정 기기의 기능을 세세하게 활용할 수 있게 해주고 이는 개별 플랫폼마다 독립적으로 코드를 개발해야 하는(기반 로직은 아니지만) 비용을 상쇄할 만한 가치를 제공하는 경우가 많다.
 
네이티브 환경이 가장 앞선다
홈즈닷컴(Homes.com)의 모바일 개발 관리자인 제시 뉴커머는 “웹과 HTML5도 많이 발전했지만 UI, 멀티 터치, 애플리케이션에서 사용자가 기대하는 요소라는 측면에서 아직 네이티브 환경 수준에는 이르지 못했다”고 말한다. 개인 개발자인 케탄 마지무다르도 네이티브 애플리케이션과 비교할 때 모바일 웹 애플리케이션의 문제는 오프라인 관련 특성이라고 말한다.

애플리케이션은 온라인 웹 서비스와 통신해 데이터를 가져오거나 그게 아니라면 데이터 저장소가 앱과 함께 지원해야 한다. 마지무다르는 “기술로서 HTML5는 아직 성숙한 단계가 아니다"며 "거의 그 수준에 이르긴 했지만 데이터 다운로드와 같이 풀어야 할 문제가 많다”고 말했다. 반면 네이티브 애플리케이션은 다운로드할 때 이미 데이터가 안에 포함되어 있다. 즉, 필요한 데이터의 대부분이 이미 완비되어 있는 것이다.
 
마지무다르는 “네이티브 개발은 사라지지 않는다"며 "오브젝티브-C 개발자는 앞으로도 항상 필요할 것”이라고 전망했다. 물류 서비스 업체 모간 서플라이 온 디맨드(Morgan Supply on Demand)의 시스템 엔지니어이자 웹 개발자인 폴 넬슨도 “네이티브 방식을 사용할 때 속도와 메모리 제어 기능 측면에서 더 유리하다”고 말했다. 넬슨은 페이스북이 iOS용으로 HTML5 애플리케이션을 만든 것은 '큰 실수'였다며 “페이스북은 네이티브 앱을 개발할 자금과 리소스를 갖고 있음에도 그런 결정을 내렸다”라고 지적했다.
 
모바일 환경 개발 업체인 앱매트릭스(AppMatrix)의 제품 설계 담당 이사인 조니 스프레이틀리는 iOS의 시리 음성 명령과 같은 특정 기능에 접근하기 위해 네이티브 개발을 사용할 수밖에 없는 경우도 있다고 말한다. 특정 기능을 위해 네이티브가 필요한 경우가 항상 있다는 것이다.
 
HTML5와 혼합 방식의 유리한 점
대부분의 개발자들이 네이티브 개발의 장점에 동의하지만 그렇다고 손쉬운 웹 개발 또는 혼합 개발 방식을 간과할 수는 없다. 게티파이 솔루션스(Getify Solutions)의 자바스크립트 아키텍트인 카일 심슨은 “명확하게 분할되는 선택이 아니라 스펙트럼 상의 선택”이라며 “얼만큼의 네이티브를 수용하고 얼만큼의 웹을 수용할지, 그 스펙트럼은 회사에 따라 매우 다르다”라고 말했다.
 
심슨은 어도비 폰갭, 앱셀러레이터 티타늄과 같은 리컴파일 기술을 이용하면 모바일 플랫폼에서 웹 개발 방식을 활용할 수 있다고 말한다. 물론 티타늄과 같은 인기 있는 도구도 완벽하지는 않다. 홈즈닷컴의 뉴커머는 “티타늄에도 예를 들어 각 UI 요소들이 원활하게 작동하도록 만들기가 어려운 점 등 그 나름의 문제점이 있다”고 말했다.
 
앱매트릭스의 스프레이틀리는 "자바스크립트를 네이티브 코드로 변환해주는 티타늄 기능을 그다지 선호하지 않는다"고 말했다. 입력이 출력과 다르고 이로 인해 디버깅이 어려워질 수 있기 때문이다. 반면 그는 “단점은 있지만 더 많은 애플리케이션을 더 빠르게 만들어내는 데는 도움이 되며 애플리케이션을 관리하기도 더 쉽다”라고 덧붙였다.
 
전자상거래 사이트인 CNV.com의 경우 고민할 필요도 없이 HTML5 개발 방식을 선택했다. 이 업체의 개발자인 다니엘 라슈아는 “우리는 전자상거래 플랫폼으로서 거래를 처리해야 하고 신용 카드를 다룰 때 보안도 중요하다”며 “가장 안전한 솔루션은 모든 정보가 우리 서버에 위치하는 웹 기반 솔루션이라고 판단했고 복수의 단말기에 대한 앱 배포 또는 각 단말기의 보안에 대처할 필요가 없다”고 말했다. 그러나 CNV.com도 순수 HTML5 앱에 의존하지는 않고 앱셀러레이터를 사용해 네이티브 기기 기능에 접근한다.
 
캘리포니아주 플레이서 카운티 수자원 관리국의 정보 시스템 애널리스트이자 개발자인 브라이언 히스는 “HTML5를 사용하면 여러 기기에 소프트웨어를 배포하기가 더 쉽다"며 "특히 인기 있는 스마트폰이 계속해서 바뀌는 상황에서는 이 부분이 더 중요하다”라고 말했다. 이어 “안드로이드와 iOS를 위한 API 툴셋을 다루는 일은 듣기만 해도 골치가 아픈 것 같다”고 덧붙였다.

라슈아는 웹 배포 방식에도 단점은 있다며 “사용자가 원하는 환경을 이용하지 못할 때가 있다”고 말한다. 예를 들어 단일 아이콘으로 회사 웹 사이트를 여는 기능을 구현하기가 더 어렵고 HTML5 애플리케이션은 오프라인으로 사용이 불가능하다. 그러나 CNV.com에 사용되는 것과 같은 전자상거래 애플리케이션은 어차피 오프라인에서 별 효용이 없다고 라슈아는 말한다.
 
HTML5 개발은 계속 발전하는 중
앞으로 모든 또는 일부 개발 작업에라도 네이티브 페러다임을 고수하는 개발자는 늘 있을 것이다. 그러나 HTML5와 자바스크립트 조합은 무시하기에는 너무 매력적이다. 쿼드 엘리먼츠(Quad Elements)의 부사장인 카자유키 코노는 “네이티브가 가장 좋겠지만 너무 많은 비용과 시간이 들어간다”며 “물론 네이티브 애플리케이션의 성능은 탁월하지만 티타늄과 같은 도구 역시 리컴파일된 빠른 애플리케이션을 제공한다”고 말했다.
 
또한 HTML5 개발이 다수의 자바스크립트 개발자에게 모바일 기기를 향한 문을 열어주는 것은 분명하다. 물론 특정 태블릿과 스마트폰에 대해 접근 가능한 기능의 다양성이라는 측면에서는 순수 네이티브 개발자들이 더 유리하다. 기업 및 상업용 소프트웨어 개발자들은 앞으로도 각자의 필요에 따라 가장 적합한 선택을 저울질할 것이다.

그러나 이런 선택의 대부분은 두 가지 옵션을 모두 선택하거나 혹은 혼합한 방법을 택하는 형태가 될 것이다. 왜냐하면 가장 중요한 것은 네이티브로 가느냐 HTML로 가느냐가 아니라 ‘어떤 경우인가’이기 때문이다. editor@idg.co.kr

X