코드스테이츠 PMB 5기 W7L1-1
Applications
앱의 대표적인 4가지 형태인 네이티브, 모바일 웹, 웹앱, 하이브리드 앱의 장단점을 비교해주세요.
이 4가지의 흐름을 이해하기 위해서는 한가지 가정을 하는게 좋을 것 같다.
“이미 웹으로 돌아가는 서비스가 있고, 이를 모바일에서도 사용하고 싶다”
이를 위해, 수업중에도 언급되었던 wizdeo analytics를 예시로 사용해보겠다.
wizdeo analytics는 위 그림과 같이 Youtube 채널별 랭킹, 조회수, 구독자수, 비디오수 등의 점수를 제공해주는 서비스이다.
이제 이 서비스를 모바일폰으로 사용하려면 어떻게 해야할까?
제일 먼저 할 수 있는 방법은, 모바일폰의 웹어플리케이션 (크롬, 사파리, 파이어폭스 등)을 통해 위 링크에 접속 하는 것이다.
안타깝게도 개발자도구를 통해 확인해 본 결과 레이아웃이 위 이미지처럼 엉망진창으로 나오게 된다.
이를 해결하기 위해 모바일 화면 크기에 맞춘 웹페이지를 아래처럼 대충 만들 수 있다.
이 방식은 UI/UX 디자이너와 프론트 개발자 한명 정도만 있으면 된다는 것이다. 아니다 사실 “m.wizdeo” 같은 처리도 하려면 백엔드도 한명 있어야 할 것 같기도 하고.. 잘 모르겠다 이건.
아무튼 만들기가 상대적으로 쉬운 편이다.
한편, 사용자 경험을 조금 더 올리고 싶다면,
가령, 내가 즐겨찾기로 설정해놓은 특정 채널의 랭크가 바뀐다던지 어떤 noti 가 필요할 때
웹을 넘어선 Push 같은 앱의 기능을 사용하고 싶을 수 있을 것이다.
이 경우 앱처럼 보이는 웹. 즉 JS 라이브러리를 열심히 주워다가 최대한 앱처럼 행동 할 수 있게 (API 연결이라던지…) 만든 서비스가 필요할 것이다.
이를 웹앱이라고 한다.
여전히 웹개발 고수 만 있다면 어떻게든 된다. 모바일웹보다는 더 힘들겠지만.
한편, 네이티브앱은 swift, kotlin 같은 언어를 이용해서 아예 웹에서 구현 되는 기능들을 전부 앱을 새롭게 만들어 내는 것이다.
당연히 앱에 최적화된 사용자 경험을 제공 할 수 있기 떄문에 가장 “비싼” 선택지가 될 것이며, ios, aos 개발자들은 몸값이 비싸다
웹이 아닌 모바일에서 사용 가능한 카메라 기능이라던가, GPS 기능 (사실 웹도 GPS가 되는 걸로 알고 있긴 한데 아무튼 안된다고 치자) 같은걸 사용해야만 할때 고려해볼 수 있다.
위 예시에서는 사용자가 거주하고 있는 지역의 유튜버 랭킹을 보여준다거나 할 때 사용 할 수 있을 것이다.
그리고 마지막으로 하이브리드는 앱의 webview에 웹을 씌워놓은 것이다.
즉 웹페이지의 기능을 앱에다가 꾸겨넣었다, 혹은 웹앱과 거의 반대의 목표를 가지고 있다고 봐도 좋을 것 같다.
그럼 이 네이티브와 하이브리드의 특징은 뭘까?
첫번째로는 둘 다 웹 주소가 아닌 어플만 실행하면 서비스에 접속 할 수 있기 때문에, 고객을 “묶어두는” 것이 가능해진다. 물론 반대로 사용성이 구리면… 바로 삭제 되버린다.
두번째로 모바일 사용경험에 최적화된 기능들을 사용 할 수 있다. 앞서 말한 카메라와 같은 것들이다.
그럼 이 둘 차이는…? 네이티브가 제일 High performance 하다. 동시에 제일 비싸고 업데이트도 제일 까다롭다.
그럼 대충 정리를 하자면 아래 이미지 처럼 표현 할 수 있다. (사실 개발 하나도 모른다 ㅎ)
자료조사를 하다가 본 표현인데, 토끼 하나 잡자고 박격포를 쓸 수는 없다고 한다.
즉, 어떤 방식으로 구현할 것인가는 서비스에 따라 다르다는 것이다.
역시… 개발 스택 늘리는 것보다 하고자 하는 것이 무엇인지를 인지하는 것이 더 우선이 맞는 것 같다.
Comments