brunch

You can make anything
by writing

C.S.Lewis

by 낭만주먹 Jul 05. 2022

앱이라고 다 똑같은 게 아니다

앱, 웹, 네이티브, 하이브리드...


앱의 다양한 종류 


| 네이티브 앱

네이티브 언어로 만들어져 모바일에 최적화된 앱


모바일 기기도  웹과 마찬가지로 OS(Operation System)이 존재한다. 대표적인 OS로는 구글의 Android, 애플의 IOS가 있다. 네이티브 앱이란 각 운영체제에서 제공하는 SDK(Software Development Kit)와 지정한 언어로 만들어진 앱을 일컫는다. Android 앱을 프로그래밍할 수 있는 언어로는 대표적으로 Java, Kotlin 이 있고, IOS 앱은 Objective-C와 Swift로 만들 수 있다. 


대표적인 네이티브앱


네이티브 앱의 경우 각 모바일 OS에 최적화되어 있기 때문에 높은 품질의 서비스를 안정적으로 제공할 수 있다는 장점이 있다. 또한 카메라, 마이크, 블루투스와 같이 디바이스의 다른 기능에 대한 접근성이 높기 때문에 모바일 기기에 최적화된 앱이라고 볼 수 있다. 


하지만 네이티브 앱으로 개발 시 시간과 비용이 많이 든다는 단점이 존재하고, 각 OS별로 서비스를 런칭할 때는 2배 이상의 노력이 필요하다. 또한 앱스토어를 통해 업데이트를 배포하기 때문에 즉시 반영이 가능한 웹에 비해 업데이트 속도가 느리다.   




| 모바일 웹

PC 웹사이트를 모바일 기기로 


모바일 웹이란 PC의  웹사이트를 모바일 기기에서 사용하기 편하도록 조정한 것이다. 단순히 모바일을 위한 웹페이지라고 생각하면 쉽다.  웹사이트와 마찬가지로 HTML, CSS, Javascript와 같은 웹 개발 언어로 만들어지며, 웹과 비슷한 특징을 가진다. 


브라우저에서 구동한 naver


우선 사용자의 입장에서는 앱과 다르게 설치가 필요 없기 때문에 접근하기가 쉽다. 또한 개발자의 입장에서는 앱에 비해 개발 시 필요한 시간, 인적 리소스가 적고 유지 보수도 간편하다는 장점이 있다. 


하지만 새로운 페이지에 접속할 때마다 서버에서 정보를 내려받는 방식(풀 브라우저)이기 때문에 인터넷 상황에 따라 서비스 품질에 차이가 발생할 수 있다. 또한 본질적으로 웹서비스이기 때문에 모바일 운영체제가 제공하는 기능에 대한 접근이 제한적이다. 




| 웹 앱

앱의 형태를 띤 웹


웹 앱은 마치 앱처럼 구동하는 것처럼 보이지만 실제로는 웹인 서비스이다. 모바일 웹과 마찬가지로 웹으로 구동되기 때문에 HTML, CSS, javascript와 같은 웹 개발 언어로 만들어지고, 개발 단계부터 모바일 기기에 초점을 맞추기 때문에 모바일 웹보다는 모바일 환경에 더욱 최적화되어 있다. 


앱인 척 하는 인스타그램 웹


앱 웹은 모바일 웹과 마찬가지로 웹을 기반으로 작동하기 때문에 유사한 장단점을 가지고 있다. 웹 브라우저를 통해 서비스를 이용할 수 있고, 모바일 웹과의 가장 큰 차이점은 풀 브라우저 방식이 아닌 '단일 페이지(SPA, Single Page Application)' 방식을 채택하기 때문에  브라우저 접속 시 필요한 정적 데이터를 한 번에 다운로드한다.


이 때문에 페이지 간 이동 시 발생되는 트래픽이 감소하고, 네이티브 앱과 비슷한 사용자 경험을 제공한다. 풀 브라우저 방식보다 전체적으로 실행 속도가 빠른 장점이 있지만, 데이터를 내려받는 초기의 구동 속도는 느린 편이다. 





| 하이브리드 앱

네이티브 앱  +  웹


하이브리드 앱은 네이티브 앱과 웹을 결합하여 서로의 장점을 극대화하고, 단점을 보완한 형식이다. 앱 안에서 웹 페이지를 불러와 구동하는 방식이기 때문에 웹으로 개발된 내부를 네이티브 앱으로 감싸는 모양새를 갖추고 있다. 


(좌) 하이브리드앱 (우) 모바일 웹


앱 내에서 작동하기 때문에 모바일 운영체제와 디바이스가 제공하는 기능에 대한 접근이 자유롭다. 또한 네이티브 앱보다 개발 리소스가 적게 필요하고, 업데이트와 같은 유지 보수가 쉽다는 장점이 있다.


하지만 기본적으로 네이티브 앱보다는 기능 퍼포먼스 부족할 수 있으며, 웹과 마찬가지로 인터넷 속도에 따라 서비스 품질의 차이가 발생할 수 있다. 네이티브 앱과 마찬가지로 앱스토어에서 다운로드하는 형식이기 때문에 웹에 비해 초기 진입 장벽이 존재한다. 




앱에도 전략이 필요하다 


| 내가 PM이라면?

무의식적으로 사용하던 앱에도 다양한 종류가 존재한다는 것을 알게 됐으며, 장단점을 비교하는 과정에서 '앱 형태를 선정하는 프로세스에서도 나름의 전략이 필요하겠구나!'라는 생각이 자연스럽게 따라왔다. 그렇다면 어떤 방식으로 앱의 형태를 설정하는 것이 좋을까? 


서비스의 형태와 목적 

우선 서비스의 형태와 사용 목적에 대해 고려해야 한다. 게임이나 이미지 편집과 같이 높은 사양을 요구하는지, 카메라와 GPS와 같은 디바이스의 기능에 접근해야 하는지, 잦은 업데이트가 요구되는지 등을 고려하여 제공하는 서비스의 형태와 목적에 부합하고, 나아가 사용자에게 최적의 경험을 제공할 수 있도록 고민해야 한다. 


개발 리소스

개발 리소스 또한 반드시 고려해야 할 요소 중 하나이다. 언어 별 개발 인원, 개발 예산과 같이 개발에 필요한 자원들은 한정적일 수밖에 없기 때문에 이에 앱의 형태를 선택하는 것이 중요하다. 출시 계획 또한 반드시 고려해야 하고, 출시 이후에도 유지 보수를 위하여 지속적으로 개발 리소스가 요구된다. 








참고자료

커버이미지 | https://www.engadget.com/what-to-expect-wwdc-2022-143053410.html

iOS·안드로이드 개발자들 주목!...각 OS에 적합한 코딩 언어는
http://www.codingworldnews.com/news/articleView.html?idxno=1565 

웹과 앱 개발 방식 종류 | https://6u2ni.tistory.com/25

SPA와 기존 웹사이트의 차이 | https://velog.io/@gwanuuoo/SPA%EB%8A%94-%EA%B8%B0%EC%A1%B4-%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%99%80-%EC%B0%A8%EC%9D%B4

작가의 이전글 Crouch, Bind, Set

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari