티스토리 뷰
앱이라면다 똑같은 줄 알았지?
스마트폰 대중화로 인해 IT 환경도 다양화되고 있다. 웹 서비스 방식도 기존의 테스크탑에서만 사용되었지만 현재는 다양한 스마트폰 디바이스로 서비스되고 있다. 그에 따라 서비스 제공하는 업체들은 기존 웹 방식에서 확장하여 모바일웹, 웹앱, 네이티브앱, 하이브리드앱 그리고 크로스플랫폼앱의 방식으로 점차 다양해 지고 있다.
요즘 앱 개발 방식을 정리해보자
네이티브앱
네이티브 앱은 우리가 흔히 말하는 어플리케이션을 말한다. Android 또는 iOS 같은 어떤 구체적인 플랫폼만을 위해 만들어진 응용 프로그램이다. 모바일 기기에 최적화된 언어로 개발된 앱으로 Android SDK를 이용해 JAVA언어로 만드는 Android과 iOS SDK를 이용해 Objective-C언어로 만드는 대부분의 아이폰 앱이 여기에 속한다.
Android 앱 개발의 경우 Kotlin 또는 Java로 네이티브 앱을 만들 수 있고 iOS의 경우 Swift 또는 Objective C로 만들 수 있다.
장점
Android, iOS 각각의 모바일 운영체제(OS)에서 제공하는 툴과 언어 등에 따라 기능들을 최대한 살리기 때문에, 속도가 빠르고 안정적이면서 동적인 효과를 구현하기에 좋다. 또 디바이스 전체에 액세스 권한을 가질 수 있어 기기에 저장된 주소록, 캘린더 등의 고유 정보를 사용할 수도 있다. (푸시 메시지, 블루투스, 위치기반 서비스, QR코드 인식, 주소록 연동, SNS 로그인, 인앱 결제 등)
단점
다른 방식들보다 높은 수준의 기술력이 필요하며, 각기의 모바일 운영체제(OS) 별로 앱을 개발해야 하기 때문에 개발 기간이나 비용이 많이 들 수 있다. 그리고 비교적 업데이트가 까다롭다. 코드 기반이 다르므로 개발자는 업데이트를 별도로 만들고 배포해야 한다.
하이브리드 앱
웹앱의 단점을 보안한 것이 바로 하이브리드앱이다. 하이브리드앱은 웹앱을 네이티브앱으로 포장하는 것인데 웹기술로 개발되었지만 모바일에 최적화된 언어로 만드는 네이티브앱처럼 보이게 하는 것이다. 실제 하이브리드앱은 네이티브앱의 형태를 띄고 있어 앱스토어나 마켓에서 다운받아 모바일에 설치할 수 있으며 현재 네이버앱, 다음앱은 하이브리드 앱이라고 할 수 있다.
쉽게 말하면 네이티브 앱과 웹 앱의 기능을 결합한 것이라 생각하면 된다. JavaScript, HTML 및 CSS와 같이 잘 알려진 언어와 프레임 워크를 사용하며, 다양한 플랫폼에서 사용할 수 있는 앱을 빠르게 만들 수 있다.
장점
단일 코드 기반으로 iOS나 Android에서 동일한 웹페이지를 사용할 수 있으므로 비교적 개발 비용 및 시간이 적게 소요된다. 모든 플랫폼에서 일관된 사용자 경험을 제공할 수 있으며 앱 용량도 비교적 가볍다. 앱 안에 웹페이지를 불러오는 방식이기 때문에 웹상에 수정 사항이 있는 경우 사용자가 업데이트할 필요가 없다.
단점
그래픽 집약적 앱의 성능이 떨어지며 네이티브 앱에 비해 동적인 요소의 구현이 어렵다. 네트워크 환경과 웹사이트의 용량에 따라 속도가 느려질 수있다.
크로스 플랫폼 앱 (Cross-platform App)
하이브리드 앱이 웹 기술로 앱을 만드는 것이라면 크로스플랫폼은 둘 이상 플랫폼에서 돌아가는 앱 만드는것이라 할 수 있다. 한 가지의 개발 언어와 프레임워크로 iOS나 Android 양쪽 앱스토어에 출시할 수 있는 개발 방식으로, 네이티브 코드가 아닌 코드로 작성을 한 후 각각의 운영체제가 이해할 수 있는 코드로 변환시킨다. 대표적으로 Google의 Flutter, React의 React Native가 있다.
장점
코드를 하나만 작성하면 이를 2개 플랫폼에서 모두 사용할 수 있으므로 시간을 굉장히 줄일 수 있고, 리액트 개발자라면 리액트 네이티브로 빠르게 모바일 애플리케이션을 개발할 수 있다. 또 하나의 코드로 작성하기 때문에 유지보수도 쉽다.
단점
역시 네이티브가 아닌 만큼 퍼포먼스를 100% 끌어올릴 수 없고 변환하는 작업이 필요하다.
모바일웹 (Mobile Web)
모바일웹은 모바일에서 PC용 사이트의 글자폰트와 이미지, 터치아이콘, 플래시 등 데스크탑 브라우저에서 실행되는 기능을 모바일에 맞추어 표현한 사이트를 말한다. PC용 홈페이지를 모바일 스크린 크기에 맞게 줄여 놓은 것이라고 생각하면된다.
웹앱 (Web App)
웹앱은 모바일웹과 네이티브 앱을 결합한 형태로 모바일웹의 특징을 가지면서 네이티브앱의 장점도 갖고 있다. 모바일웹보다는 조금 더 모바일에 최적화된 앱을 말한다. 웹앱도 모바일웹 처럼 일반적인 웹기술로 개발되고 모바일 브라우저에서 실행되지만 풀 브라우징 방식이 아닌 단일페이지 방식으로 화면을 전화해 속도가 빠르다는 장점이 있다.
나만의 앱을 만들어보자.
대학생때 옹알이라는 회화교육 어플리케이션을 기획해본 경험이 있다. 틱톡과 같이 해외 숏-펀 콘텐츠를 한국어 독어로 번역해주고 회화학습에 재미를 더할 수 있게 도와주는 서비스이다. 이 프로덕트의 구현을 위해서 나는 React Native를 활용하여 Cross Platform 앱으로 구현할 것이다.
하이브리드 앱을 사용하지 않는 이유는 웹서비스는 제공하지 않아서 웹과 앱의 동시 개발이 필요없기 때문이다.
포로덕트 개발 초기에는 개발 시간과 인력, 비용 등이 한정적이다. 그렇기 때문에 우선적으로 크로스플랫폼 프레임워크를 통해 코드를 하나 작성하여 이를 2개 플랫폼에서 모두 사용할 수 있으므로 시간을 굉장히 줄일 수 있고, 리액트 개발자라면 리액트 네이티브로 빠르게 모바일 애플리케이션을 개발할 수 있다. 또한 하나의 코드로 작성하기 때문에 유지보수도 쉽다는 것이 크로스 플랫폼 앱을 선택한 이유다.
<이미지 출처 및 참고자료>
'데일리 과제' 카테고리의 다른 글
[W7D4] 데이터 프로덕트 매니저와 Flow Chart (오늘의집) 회고 (1) | 2022.03.11 |
---|---|
[W7D3] 기상청 사람들의 Open API (3) | 2022.03.08 |
[W7D1] 버킷플레이스 프론트엔드 뜯어보기 (1) | 2022.03.04 |
[W6D4] 취업시장 동향의 데이터 시각화를 통한 가설 검증 (0) | 2022.03.02 |
[W6D3] '오늘의집'으로 알아보는 린(Lean)분석 (0) | 2022.03.01 |
- Total
- Today
- Yesterday
- 오늘부터 프로덕트 매니저
- 면접
- PMB10
- ProductManager
- 멘토멘티밋업행사
- 프로덕트매니저
- W6D3
- 코드스테이츠10
- 원어민
- 프로덕트매니져
- PBM10
- product manager
- W5D1
- PMB10기
- 원어민친구
- 외국인친구
- 원어민친구사귀기
- 코드스테이츠부트캠프
- 언어교환모임
- 영어회화
- 코드스테이츠
- 판교의 젊은 기획자들
- 코드스티에츠PBM10
- 코드스테이츠PMB
- 코드스테이츠PMB10
- W6D2
- PMB
- PM
- W6위클리과제
- 래디쉬 이승윤대표
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |