네이티브 앱 vs 웹앱 vs 하이브리드 앱 [코드스테이츠 PMB4]
인플루언서 마케팅을 담당할 때, 내 업무의 시작과 끝은 단체 문자/메일 발송이었다. 프로젝트 참여 모집과 발표 등의 공지는 문자로, 상세 내용과 중요 파일은 메일로 전달했는데 이때 사수분께 배운 스킬(?)이 있다. 문자로 보낼 땐 휴대폰으로 확인하니 https://m.naver.com/과 같은 모바일 주소로, 메일을 보낼 땐 pc로 확인하니 https://www.naver.com/ 같은 웹 주소로 해당 회사의 공식 블로그 주소를 전달하는 방법이었다.
또 클라이언트사에 리뷰 콘텐츠 리스트업 파일을 보낼 때도 모두 웹주소로 정리하여 전달했다. 처음엔 번거롭다 생각했는데 꼭 챙겨야 하는 디테일 중 하나였다. 보통 블로거들은 모바일로 공유 URL을 생성해 카톡으로 전달해 주었는데, 이를 그대로 클라이언트에 전달하면 pc에서 모바일 페이지로 불편하게 확인되기 때문이다.
그렇게 웹과 앱 밖에 몰랐던 내게 모바일 속 네이버가 사실은 웹뷰라는, 정확하게는 하이브리드 앱이란 진실은 가히 충격적이었다. 일부러 늘 짬뽕과 짜장면을 시켜먹었는데, 뒤늦게 짬짜면의 존재를 알게 된 기분이랄까,,? '미리 알았다면 시간과 비용을 아낄 수 있었을 텐데!' 하는 기획자의 이불킥 심정도 느껴졌다. 앱의 유형을 잘 알아야 개발에 드는 시간과 비용을 효율적으로 관리하고 커뮤니케이션할 수 있다. 유치한 짬짜면 비유는 뒤로 하고, 함께 [네이티브 앱], [웹앱], [하이브리드 앱]의 특징과 차이에 대해 알아보도록 하자 :')
iOS 개발을 위한 프로그래밍 언어는 스위프트와 Objective-C, 안드로이드 개발을 위한 언어는 자바, 코틀린으로 위 언어들을 사용해 개발한 어플리케이션을 [네이티브 앱]이라고 한다. 각각의 프로그래밍 언어로 개발해서 만들기 때문에 푸시 알림, 카메라, GPS 등 스마트폰 기능 제한에 용이하고 성능이 가장 좋다. 그만큼 개발자를 따로 채용해서 개발하고 수정해야 하니 관리 및 유지보수에 시간과 비용이 가장 많이 들기도 한다.
앱처럼 꾸며놓은 웹으로 별도의 앱 다운이 아닌 브라우저로 접근하기에 개발 및 유지보수 비용이 가장 적게 들며 애플과 구글의 심사 없이 수정이 가능하다. 하지만 웹으로 작동하기 때문에 속도가 느리고 스마트폰 기능에 대한 접근 제한이 많다.
네이티브 앱과 웹 앱의 장점을 결합한 형태로 앱 개발 비용과 시간이 상대적으로 적고, 서버를 이용해 빠르게 수정할 수 있다. 하지만 둘 다 다뤄야 하는 만큼 개발자에게 웹과 네이티브 개발 지식이 함께 요구된다. 보통 빠른 시행착오를 필요로 하는 스타트업들이 하이브리드 앱으로 시작해 어느 정도 규모가 커지면 네이티브 앱으로 넘어가는 추세다.
좀 더 이해하기 쉽게 네이버로 화면을 비교해 보자면,
[네이버 지도]는 네이티브, Safari로 접근한 모바일 웹, 네이버 앱은 하이브리드 화면으로 예를 들 수 있다.
두 번째 웹과 세 번째 하이브리드 앱 화면을 비교하면 한 화면에 담긴 디자인과 기능이 다른 것을 볼 수 있다.
하이브리드 앱에서 문제가 생겼을 때 어떤 부분이 웹인지, 어떤 부분이 앱인지 구별할 수 있어야 해당 개발자와 소통할 수 있다. 화면만 보고 이 둘을 확실히 구분하는 방법은 없지만 힌트는 있다. 손가락을 눌러 천천히 뗄 때 생기는 회색 박스는 HTML의 '링크'에 대해 브라우저가 보여주는 애니메이션으로 버튼이 눌렀음을 알려주는 효과다. 이 애니메이션이 나타난다면 그 부분은 웹이라고 추측해볼 수 있다. (가장 정확한 방법은 API 문서를 참고할 것.)
요즘 나의 취미는 클럽하우스에서 개발자 대화방을 염탐(?)하는 것인데, 최근 스타트업은 크로스 플랫폼 방식으로 개발한다고 말씀해주셨다. 다른 프로그래밍 언어로 개발해도 프레임워크를 거치면 iOS, 안드로이드 앱을 만들 수 있는데 하이브리드와는 다르게 웹을 기반으로 하지 않는 특징이 있다고 한다. 대표적으로 HTML, CSS, Javascript를 통해 개발하면 React Native라는 프레임 워크를, Dart라는 언어를 사용하면 구글에서 만든 Flutter라는 프레임워크를 통해 만들 수 있고 이는 하이브리드 앱보다 성능이 더 좋다고 한다.
앱의 유형에 대해 공부하며 느낀 점은, 인터넷에 잘못된 정보가 많다는 것이다. 같은 어플을 두고도 어떤 사람은 네이티브 앱이다, 다른 사람은 하이브리드 앱이다 라고 정의하니 초보자인 나는 혼란을 겪을 수밖에 없었다. 스스로 개발자임을 밝힌 분들은 대부분 앱의 유형과 쓰이는 언어에 대한 설명만 있을 뿐, 정확한 예시가 없었다. (대부분 네이버만을 예로 들고 있다.) 그러니 존경하는 개발자분들께! 제 글에 부족한 점이 있다면, 더 좋은 내용이 있다면 꼭 댓글로 알려주세요 :') 기다리고 있겠습니다!
브랜드를 사랑하는 앱등이로 시작해, 제품이 아닌 가치를 파는 잡스병을 거쳐
혁신을 꿈꾸는 프로덕트 매니저에 도전하다. 코드스테이츠 PM 부트캠프, 그 100일간의 기록
김긍정 brunch.co.kr/@positive-kim
1. 기획자 빅님의 브런치 : https://brunch.co.kr/@dreamit/11
2. 개발자 그랩님의 인프런 유료 강의 : https://inf.run/emyK
3. 책 [비전공자를 위한 이해할 수 있는 IT 지식]
: http://book.naver.com/bookdb/book_detail.nhn?bid=16415934