네이티브? 하이브리드? 그게 뭐야...!
데스크탑에서 스마트폰 대중화로 모바일 시대가 오면서 iOS 앱 스토어에 200만 개 이상, 구글 플레이에 350만 개 이상, 한 달에만 수만 개의 앱이 출시된다고 한다. 오늘은, 비개발자 눈에는 그냥 똑같은 어플 아닌가 싶을 정도로 비슷한 두 녀석들에 대해 알아보도록 하자.
우리가 일반적으로 생각하는 그 어플, App 맞다.
거창하게는 모바일 기기에 최적화된 언어로 개발된 Application이라고 설명할 수 있겠고, 간단하게 이해하기 쉽게 말하자면 사용자 폰에 있는 안드로이드, iOS 마켓에서 다운로드해서 사용하는 앱이라고 설명할 수 있다.
장점
- Android, iOS 기반의 API로 개발하여 속도가 빠르고 안정적이면서 동적인 효과를 구현하기에 좋다.
- 스마트폰의 다양한 하드웨어 기능들에 대한 접근이 용이하다. (카메라, 마이크, 푸시 알림, GPS 등의 최적화)
단점
- Android, iOS 개발자가 각각의 버전으로 별도
개발해야 하므로 개발 공수와 비용이 높다.
- 앱 오픈 시 이외에도 수정, 추가 개발을 했을 경우 앱스토어에 심사를 요청하여 승인 후 업데이트가 진행되어야 반영된 버전을 사용할 수 있다. 물론 사용자도 업그레이드된 서비스를 사용하기 위해서는 업데이트가 필요하다. 실제로 이러한 심사 과정과 필수적인 업데이트 등 다소 복잡하고 번거롭다는 이유로 앱으로의 개발을 꺼리는 고객사도 있다.
예시
- 유튜브, 카카오톡, 인스타그램 등
네이티브인 듯 네이티브 아닌 네이티브 같은 너..
개발은 Web, 결과물은 Native라고 말할 수 있을 것 같다. 겉으로 보기에는 앱이지만 실제로는 웹을 기반으로 하는 앱으로 웹과 네이티브 앱의 단점을 보완한 앱이다. 살짝 헷갈리기는 하지만 예시를 보면 이해가 빠르다!
장점
- 앱 안에 웹페이지를 그대로 불러오는 방식이므로 웹상에 수정 사항이 있는 경우 사용자가 별도 업데이트를 할 필요가 없다.
- iOS나 Android에서 동일한 웹페이지를 사용할 수 있으므로 개발 비용 및 시간 소요가 네이티브에 비해 적게 들어간다. 즉, 하나의 소스로 모든 모바일 플랫폼에서 실행 가능하다
- 네이티브 앱처럼 스마트폰의 다양한 기능들에 대한 접근이 자유롭고, 스토어 등록이 가능하다.
단점
- 네이티브 앱보다 동적인 요소의 구현이 어렵다. (PhoneGap, ionic, Angular JS 등 관련 기술 이해 필요)
- 웹 페이지를 불러오기 때문에 네트워크 상태에 따라 속도가 저하될 수 있다.
예시
- 네이버, 크롬, 다음
경우에 따라 네이티브앱에 부분적으로 웹페이지를 불러오는 경우도 종종 있다. 어디까지나 앱은 개발하고자 하는 서비스의 주요 기능이 어떤 기능인지 파악한 후에 적절한 방식으로 구현할 수 있도록 하는 것이 중요할 것 같다.