brunch

You can make anything
by writing

C.S.Lewis

by AJW Feb 28. 2022

앱의 유형

코드스테이츠 PMB 8기

앱의 유형



스마트폰, 태블릿 PC 등 모바일 장치에서 실행되는 응용 소프트웨어
- Mobile Application


uxstory.co.kr



▷ 모바일 앱의 4가지 유형


스마트폰의 대중화로 인해 모바일 앱 시장 규모가 웹 시장 규모를 압도하고 있다. 모바일 앱의 유형도 함께 발전하면서 현재 4가지 유형으로 다양한 스마트폰 디바이스에서 구동되고 있다.


앱을 개발할 때는 예산, 프로젝트 기간, 구현하고자 하는 기능 등 비즈니스 상황을 고려해 알맞은 유형을 선택한 후 진행해야 한다.



Native App


▶네이티브 앱


우리가 흔히 말하는 ‘어플리케이션’을 의미한다. 모바일 디바이스에 최적화된 언어로 개발된다.


장점 : 웹앱, 하이브리드 앱에 비해 성능이 좋다. 높은 사양의 그래픽, 빠른 구동 속도, 앱을 통해 제공하고자 하는 사용자 경험에 가장 가깝게 구현이 가능하다. (카메라, GPS, 캘린더 등 디바이스 전체에 대한 엑세스 권한을 가진다) 네이티브 API를 호출해 사용함으로써 플랫폼과 밀착되어 있다.


단점 : 해당 플랫폼에서 요구하는 언어에 제약이 있다. 높은 수준의 기술력이 필요하고, 모바일 운영체제별로 개발해야 하기 때문에 시간이나 비용 측면에서 부담이 되는 경우가 있다.


개발 언어 : Android → Java, kotlin / iOS → Objective-C, Swift / Android & iOS → Dart, JSX



Mobile Web App


▶모바일 웹


데스크탑 브라우저에서 실행되는 기능을 모바일에 맞춰 표현했다. 쉽게 말해, PC용 홈페이지를 모바일 스크린의 크기에 맞춰 줄여 놓은 것이다.


장점 : 모바일 디바이스에서 웹 브라우저로 접속이 가능하다. PC에서 보여지는 내용에 CSS 등을 이용해 크기를 조정하는 방식을 사용하기 때문에 개발에 용이하고 네이티브 앱처럼 OS 버전업에 대한 부담이 적어서 유지 보수가 상대적으로 효율적이다.


단점 : 서버에서 모든 데이터를 가져오기 때문에 속도가 느리고 모바일 디바이스의 자원을 활용할 수 없거나 제한된 기능만 활용할 수 있어 사용성 이 다소 떨어진다.



▶웹 앱


웹 앱은 모바일 웹과 네이티브 앱을 결합한 형태로 모바일 웹의 특징을 가지면서 네이티브 앱의 장점을 갖는다.


장점 : HTML5와 같은 표준 웹 언어로 만들어지기 때문에 개발 비용이 저렴하고, 기간도 비교적 짧은 편이다. 웹사이트를 보는 것이기 때문에 별도 설치 및 승인 과정이 없어 유지 보수가 용이하다. PC나 모바일 등 디바이스의 종류에 관계 없이 같은 콘텐츠를 볼 수 있다.


단점 : 브라우저를 통한 2차 접근 방식으로 접근성이 낮고, 네이티브 앱이나 하이브리드 앱보다 실행이 번거롭다. 스마트폰 자체의 하드웨어나 OS에서 제공되는 기능들을 이용하기가 어렵다.


개발 언어 : HTML, CSS, JavaScript


프레임 워크 : Angular, React, Vue, jQuery



Hybrid App


▶하이브리드 앱


‘네이티브 앱 + 웹 앱’이라고 생각하면 쉽다. 네이티브 앱 처럼 스마트폰에 직접 설치하는 형태의 앱이며 스마트폰에 내장된 Web-view라는 기능을 통해 구현된다. Cordova라는 프래임 워크가 하드웨어와 OS의 기능을 중계해 주면서 하드웨어 내장 기능을 사용할 수 있다.


장점 : 웹개발 기술을 사용해 앱을 개발할 수 있고, 네이티브 API와 브라우저 API를 이용한 다양한 개발이 가능하다. 하나의 코드 베이스로 다수의 플랫폼에 대응할 수 있다.


단점 : 앱이 디바이스에서 즉시 구동되는 것이 아니라 Web-view를 거치기 때문에 네이티브 앱 대비 성능이 떨어진다. 네이티브 기능에 접근하기 위해선 네이티브 개발 지식이 결국 필요하고, UI 프레임워크 도구를 사용하지 않는다면 개발자가 UI를 제작해야 한다.


개발 언어 : HTML, CSS, JavaScript


프래임 워크 : Angular, IONIC



Cross Platform App



▶크로스 플랫폼 앱


크로스-플랫폼 앱은 스마트폰 운영체제를 신경 쓰지 않고 하나의 언어로 개발할 수 있는 네이티브 앱이다. React Native라면 JavaScript로, Flutter라면 Dart로, Xamarin이라면 C#으로 개발을 하게 되고, 빌드 타임에서 Android와 iOS가 이해할 수 있는 언어로 자동 변환된다.


장점 : 모바일 웹은 브라우저나 Web-view에서 제공하는 기능까지만 활용이 가능한 반면, 크로스 플랫폼 앱은 여러 운영체제가 제공하는 공통적인 기능까지 활용 가능하다. React Native와 같은 프레임 워크를 기반으로 크로스 플랫폼 앱을 구축하면 시간과 비용이 절약된다.


단점 : 운영체제별 네이티브 앱을 만드는 것보다는 아직 활용할 수 있는 기능이나 그 성능에 한계가 있다. 퍼포먼스를 100% 끌어올릴 수 없고 변환하는 작업이 필요하다.


개발 언어 : JavaScript, Dart, C#


프래임 워크 : React Native, Flutter, Xamarin



Cookie Run: Kingdom


▷ 제품 기획 과정에서 앱의 형태를 어떻게 선정할 것인지, 개발 단계에서는 어떠한 사항을 적용해야 좋을지 생각해 보자?


게임 업계에 종사하는 PM이라면, 개발하려는 앱이 하드웨어와 OS 기능에 대한 의존도가 크기 때문에 고민 없이 ‘네이티브 앱’을 선택할 것 같다.


R&R(role&responsibility)의 존재 이유와 중요성을 망각한 오늘 과제의 마지막 문제는 그 자체로 잘못되었다고 생각하기 때문에, 답하지 않기로 정했다. 개발 사항에 적용되는 언어나 프레임 워크, 구동 과정에 대해 딥하게 알아야만 대답할 수 있는 문제이고, 무엇보다 이러한 부분이 PM에게 필요한 역량인지에 대한 의문이 들기 때문이다. 개발 단계에서 어떠한 사항을 적용하는 부분은 개발자의 영역이므로 PM의 입장에서는 함부로 침범할 수 없고, 절대 그래서도 안 된다.

(실제 회사에서 월권이 일어나면 어떻게 되는지 생각해 보면 답이 될 것 같다)

작가의 이전글 프론트엔드 탐색
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari