네이티브 앱
당근마켓, 카카오뱅크, 스타벅스 앱 등...
모바일 운영체제의 종류는 구글의 안드로이드 SDK를 이용한 JAVA(코틀린)와 애플의 iOS기반 SDK를 이용한 Swift언어 두 가지가 있다. 각 모바일 운영체제에 최적화된 프레임워크를 사용하여 개발한 앱을 뜻한다.
✨ 장점
- 네이티브 앱은 각 운영체제에 최적화된 방식으로 만들어지므로 앱의 구동속도가 빠르고 안정적이다.
- 스마트폰에 기본적으로 제공되는 기능(카메라, 마이크, GPS..)를 쉽게 활용하고, 디바이스 전체에 접근 권한을 가질 수 있어 기기 자체의 기능을 앱에 활용이 가능하다.
- 원하는 디자인을 높은 사양의 그래픽으로 구현할 수 있다.
🤔 단점
- 두 개의 다른 운영체제에서 서로 호환이 되지 않아 안드로이드, iOS 앱 중 하나에 맞추어 별도로 개발해야 한다.
- 개발의 자유도가 높은 만큼, 다른 앱 개발 방식에 비해 제작 비용, 시간이 많이 든다.
- 앱에 수정사항이 생길 경우, 앱 마켓의 심사를 거쳐 전체 업데이트를 진행해야 한다.
모바일 웹 앱
네이티브 앱처럼 보이기도 하고, 기능도 앱과 같이 구현된다. 하지만 웹 기술을 사용하여 만들어진 앱을 말한다.
네이티브 앱과 달리, 웹 기반의 HTML, CSS, 자바스크립트을 활용하여 개발한다. 인터넷 브라우저를 통해 접속하므로 주소창이 있다는 것이 특징이다. 네이버, 구글 웹 앱이 대표적인 예시이다.
✔ 모바일 웹은 화면 일부가 바뀔 때 전체를 서버에서 새롭게 불러오는 풀 브라우징(Full Browsing) 방식, 모바일 웹 앱은 변경이 필요한 부분만 바꾸는 단일 페이지 방식(SPA, Single Page Application)입니다. 따라서 스마트폰 사용자에게 더 최적화된 환경은 모바일 웹 앱이다.
✨ 장점
- 인터넷 브라우저를 기반으로 작동하므로, 별도의 앱 설치가 필요없다.
- 표준 웹 언어로 제작되므로 상대적으로 비용이 저렴하고 개발 기간이 짧다.
- 수정사항이 생겨도 앱 마켓의 심사가 필요없다.따라서 업데이트 속도가 빠르다.
🤔 단점
- 디바이스 접근 권한이 없어 카메라나 음성인식 등 스마트폰 기능을 활용할 수 없을 수 있다.
- 브라우저 실행, URL입력, 별도의 링크 클릭 등의 과정을 거쳐야 하므로 사용자 입장에서는 번거롭다.
- 네이티브 앱에 비하면 구동 속도가 느리고 안정성이 떨어진다.
하이브리드 앱
앱 유형마다 각기 장단점이 존재한다. 이 단점을 해결하기 위해 탄생한 것이 바로 하이브리드 앱이다. 네이티브 앱의 장점 + 모바일 웹 앱의 장점을 합친 앱 형태이다.
- 앱의 화면이나 기능 등 콘텐츠 영역의 제작방식 : 모바일 웹 앱
- 최종 앱 배포에 필요한 앱 마켓 등록 설치를 위하 패키징(안드로이드/iOS)처리 : 네이티브 앱
✨ 장점
- 웹과 앱의 API를 모두 사용가능하여, 웹 앱에서는 불가능했던 '디바이스 자체 기능 접근'도 이용이 가능하다
(예시 : 네이버 웹 앱에서는 음성 검색 기능을 이용하려면 앱 설치 페이지로 연결된다. 네이버 앱(하이브리드 앱)을 설치하여 이용하면 바로 음성 검색 기능 이용이 가능하다.)
- 네이티브 앱에 비해 개발 비용과 시간을 절약할 수 있다.
- 패키징 처리를 안드로이드/iOS로 하여 배포가 가능하므로 한 번의 하이브리드 앱 개발로 여러 플랫폼에 대응할 수 있게 된다.
🤔 단점
- 네이티브 앱 개발 방식에 대한 지식이 필요하다. ( 내부 페이지 개발 ; 웹 개발 지식 필요, 외부 앱 패키징 : 앱 개발 지식 필요)
- 앱의 콘텐츠가 웹에서 실행되므로, 브라우저의 성능이 떨어지면 앱 구동 속도가 저하될 수 있다.
- 네이티브 앱에 비해 디자인 자유도가 떨어진다.
요약
- 그래픽 등 비주얼 요소가 중한 앱(게임, 지도..) : 네이티브 앱
- 시간, 비용, 개발자 리소스 등이 제한적이고 자주 업데이트 되야 할 때 : 모바일 웹 앱
- 디바이스 접근이 쉬워야 하고, 유지 보수 업데이트도 자주 일어날 때(쇼핑몰, 포털, 금융권 앱..) : 하이브리드 앱