적재적소에 맞는 앱 유형 찾기
모바일에서 구동되는 앱/웹의 종류가 점차 다양해 졌다. 현업에서 일하는 나도 가끔 헷갈리고 까먹기 다반사라, 공부하며 정리해 보려고한다.
앱 형식들이 등장한 배경에 대해 알아보면 스마트폰의 보급화, 즉 모바일의 발전으로 모바일 웹, 그리고 앱의 발전 또한 동시에 이루어졌다. 편리한 방식과 어디에서나 이용할 수 있는 장점으로 모바일의 사용 비율은 크게 늘어났고 어느새 PC의 사용량을 능가했다. 늘어난 사용량만큼 모바일의 웹과 앱의 중요성도 같이 증가했는데, 모바일 웹은 적응형 / 반응형 웹의 형태로 진화했고 앱은 웹 앱, 하이브리드 앱, 네이티브 앱의 형태로 진화했다.
모바일 앱의 4가지 형태
각 앱의 형태마다 특징과 장단점에 대해서 정리해 보았다. 모바일 서비스를 이용하는 형태는 크게 4가지가 있었고 각 특징과 장단점이 무엇인지 알아보자.
(1) 모바일 웹
모바일 웹은 HTML을 기반으로 만들어지는 것이 일반적이다. 웹사이트이기에 별도의 설치가 필요 없고 앱보다 투여되는 리소스가 적다는 장점이 있다. 하지만 브라우저 API만을 사용 가능하며 핸드폰의 기능을 온전히 사용하지 못한다는 단점이 있다.
모바일 웹의 방식에는 크게 두 가지로 나뉜다. 하나는 적응형 웹, 다른 하나는 반응형 웹이다. 적응형 웹의 경우 서버, 클라이언트에서 접속한 기기가 PC 인지 모바일인지 자동으로 판단하여 기기에 맞는 PC용, 모바일용 소스를 따로 보여준다. 반응형 웹보다 깔끔하고 이용 속도도 빠르지만 각각 다른 버전의 화면을 개발하여야 하기 때문에 투여되는 리소스가 크다는 단점이 있다.
다음으로 반응형 웹의 경우, 미디어 쿼리를 사용해 각각의 화면 크기별로 확인하고 유연한 이미지와 그리드를 활용해 화면의 크기에 따라 홈페이지 페이지를 최적화해서 나타내주는 기술을 말한다. 하나의 템플릿으로 제작되어 개발이 간편하고 소요되는 리소스가 적다는 장점이 있다. 하지만 사용자는 단 하나의 기기로 접속하지만 그 경우에도 모든 기기를 위한 CSS를 전부 다운로드해야 한다는 점에서 데이터를 낭비하고 로딩 시간을 늘린다는 단점이 있다.
(2) 웹 앱
모바일 웹의 특징을 가지면서 앱의 장점을 가지고 있다. 앱의 형태로 보이지만 실제로는 웹으로 구동되는 형태이며 별도의 설치나 승인이 필요 없다. 또한 웹으로 개발되어 앱 개발보다 적은 리소스가 투입된다는 장점이 있고 모든 기기와 브라우저에서 접근 가능하며 유지 보수가 편하다는 장점이 있다. 단점으로는 겉모습만 앱이기 때문에 브라우저로 접속해야 하며 모바일 웹과 마찬가지로 핸드폰의 기능을 100% 활용할 수 없다는 단점이 있다.
(3) 하이브리드 앱
웹앱과 하이브리드 앱이 매우 헷갈릴 수 있다. 예를들면 노션은 모바일 웹, 그리고 노션 앱 두 가지 버전으로 접속이 가능한데 노션 앱은 모바일 웹과 차이점이 거의 없다.
즉, 하이브리드 앱은 일부는 앱의 형태이고 일부는 웹의 형태를 지녔으며 웹의 데이터를 그대로 불러오기 때문에 웹 부분에 있어서는 따로 업데이트를 할 필요가 없다. 그리고 앱 용량이 네이티브 앱보다 가벼우며 앱과 웹의 API를 사용할 수 있는 장점이 있다. 하지만 단점으로는 하이브리드 앱을 완벽하게 개발하려면 결국 앱 개발 지식이 필요하며 앱의 성능은 네이티브보다 떨어진다는 단점이 있다.
(4) 네이티브 앱
마지막으로 네이티브 앱은 흔히 우리가 알고 있는 앱들에 해당된다. 주로 안드로이드 플레이스토어, IOS 앱스토어에서 다운로드를 받을 수 있다. (하이드리드 앱도 여기에 해당되지만 웹 뷰를 지원하는지가 구분 방법!) 네이티브 앱은 속도가 빠르고 안정적이다. 퀄리티 높은 디자인을 입힐 수 있어 보다 뛰어난 디자인이 가능하다. 또한 디바이스 전체에 접근 권한을 가질 수 있기 때문에 디바이스 기능을 모두 사용하는 앱 제작이 가능하다. 하지만 단점으로는 여러 기능을 너무 많이 넣게 되면 앱이 무거워질 수 있으며 업데이트가 있을 때마다 해줘야 하고, 개발 리소스가 많이 든다는 단점이 있다.
그렇다면 어떤 앱 형태를 선택해야 할까?
만약 내가 실제로 앱을 개발해야 하는 상황이 닥친다면 어떤 형태의 앱을 선택해야 할까? 위에 간단하게 필요 기능에 따라서 어떤 형태를 선택하면 좋을지 차트를 그려보았다.
우선 리소스를 얼마나 투입 시킬 수 있는지 확인해 봐야 한다. 리소스는 런칭전까지 남은 시간이 될 수 있으며, 투입 가능한 자금이 될 수도, 투입할 인원의 능력이 될 수도 있다. 종합적으로 판단하여 충분한지, 빠듯한지 확 체크해 본다.
리소스가 충분하다면, 지속적으로 콘텐츠가 업로드되는지 파악해 보자. 방대한 양의 콘텐츠의 지속적인 업로드가 필요하다면 네이티브 앱보다는 하이브리드 앱이 좀 더 적당한데 그 이유는 하이브리드 앱은 웹 뷰의 연동이 가능해서 보다 적은 리소스로 많은 컨텐츠를 다룰 수 있다. (네이티브 앱도 불가능하지는 않음)
리소스도 충분하고 많은 컨텐츠를 필요로 하지 않는 서비스라면 마지막으로 앱으로서 얼만큼의 성능이 필요한지 확인해 봐야 한다. 요구되는 기능이 많고 앱의 성능이 중요하다면 네이티브 앱으로 선택해 개발하여야 한다.
반대로 리소스가 부족하다고 판단될 경우, 디바이스의 기능이 일부(카메라나 GPS 등)가 필요한지 확인해 봐야 한다. 디바이스의 기능이 일절 필요 없을 땐 모바일 웹으로 개발 방식을 정하는 것이 제일 효율적이다.
하지만 리소스는 부족하지만 약간의 디바이스 기능이 필요한 경우와, 리소스가 충분하지만 지속적인 콘텐츠를 생산해 내야 하는 경우, 마지막으로 굳이 월등하게 뛰어난 앱의 기능을 원하지 않는 경우(투입되는 리소스를 줄여 다른 곳에 투자한다면 더 큰 효율을 얻을 수 있기 때문)를 종합하여 웹앱과 하이브리드 앱 중 선택하는 것이 좋다. 웹 앱과 하이브리드 앱의 가장 큰 차이점은 접속 시 앱을 통하여 접속하는 것인가 웹을 통하여 접속하는 것인가인데, 최소한의 앱 개발이 가능한지를 판단하여 가능하다면 하이브리드 앱, 필요하지 않다면 웹 앱으로 진행하는 편이 좋아 보인다.