Roen의 iOS 개발로그

멋사 앱스쿨 1기 Day 2. 앱시장 탐색, 기술적 구분

by Steady On

앱시장 탐색 : 세상에는 이미 수많은 앱이 있다.

애플은 앱스토어 정책이 빡세다. 심사를 거쳐 수준이 낮은 앱은 App Store에 올리지 않는다. 그리고 새 OS 버전에 대응하기 못하면 가차없이 내려버린다. 하지만 우리는 iOS앱을 만들고 싶어서 모인 사람들이다. 앱스토어에는 애플의 빡센 심사를 거친 수많은 앱들이 있다. 하지만 그렇다고 앱을 만드는 것을 포기할 필요는 없다. 같은 종유의 앱이라도 어떤 특색을 내세우냐에 따라 충분히 경쟁력을 가질 수 있다. 예를 들어 굿노트와 노타빌리티가 있다. 둘다 필기앱이지만, 굿노트는 뛰어난 필기감과 심플한 UI를 자랑한다. 노타빌리티는 녹음 기능을 더해 강의나 회의록 작성에서 녹음을 통해 놓칠 수도 있는 부분까지 잡을 수 있게 만들어졌다. 이미 있는 앱이라고 할지라도 앱런칭은 꼭 도전해보자! 단,  '새로운 OS 버전의 신기능을 먼저 적용해서 만들어내는 것!'이 매우 중요하며, 이런 특징이 치열한 앱시장이라도 빠르게 자리를 잡을 수 있는 발판이 되기도 한다.

앱스토어에서 앱을 분류하는 카테고리의 의미에 대해 생각해보는 시간도 가졌다. '내가 만들 앱은 어느 카테고리에 들어갈 것인가'는 앱의 정체성을 정하는 중요한 선택이다. "당근마켓"은 쇼핑 카테고리에 있을 것 같지만, 소셜 네트워크에 있다. 단순히 물건을 사고파는 중고장터로써의 앱이 아니라 주변 이웃간의 커뮤니티로써의 앱으로 정체성을 잡았기 때문이다. 또, 앱의 카테고리는 어떤 앱들과 경쟁할 것인가를 결정하는 요소가 된다. 투두리스트 앱을 만들었을 때, 생산성 카테고리에 들어간다면 수많은 일정, 캘린더 앱과 경쟁해야 한다. 라이프 스타일 카테고리에 들어간다면 다이어리 앱과 경쟁해야할 것이다. 그래서 앱의 카테고리를 정할때는 비슷한 앱이 어느 카테고리에 있는지 확인하고, 내 앱의 정체성은 무엇인지 고찰해보면 좋다.

 

앱 시장의 종류

앱시장은 크게 두가지로 나누어 진다.

B2C : Business to Consumer

일반적인 AppStore, Play Store, 원스토어처럼 일반 사용자들을 위한 기업-소비자 시장이다. 유료, 무료, 인앱결제 등 다양한 이익 창출 방법이 있다.

 

B2B : Business to Business

기업과 교육 기관에서 대량 배포용 앱을 다운로드하는 곳으로 앱의 볼륨을 구매해서 조직 내부에서만 사용할 수 있게 하는 것이다. 특정 기관을 식별하여 앱의 다운로드를 허용할 수 있고, 여기에는 조직 내부에서만 사용할 수 있는 전용 앱을 배포하는 기능도 포함되어 있다고 한다.

설명 출처 : https://developer.apple.com/kr/support/volume-purchase-and-custom-apps/

 

 기술적 구분

앱은 크게 Native와 Hybrid, 그리고 WebApp으로 나눌 수 있다.

Native App

전용 언어와 툴로 만드는 앱

- iOS : Swift나 Objective-C언어를 사용해서 Xcode에서 구현하는 앱
- 안드로이드 : 코틀린이나 자바를 사용해서 안드로이드 스튜디오에서 구현하는 앱

장점 단점
- 전용 언어와 툴을 이용하기 때문에 가장 빠르고 좋은 성능을 낼 수 있음
- 플랫폼 신기술을 가장 빠르게 적용 가능
- 특정 플랫폼 기술에 종속됨
- 개별 플랫폼마다 대응이 필요해서 유지비용이 증가함

 

Hybrid App

전용 언어와 툴이 아닌 다른 언어와 툴을 사용해서 여러 플랫폼을 동시에 대응할 수 있도록 만들어진 앱

코드를 짜놓으면 툴이 기기별로 대응해서 화면을 어느정도 알아서 짜준다고 한다.

JavaScript와 React Native, 다트와 Flutter, XAML, C#과 .NET이 있다.

장점 단점
- 여러 플랫폼을 동시에 대응하므로 비용이 감소될 수 있음 - Native 앱에 비하면 성능과 속도 면에서 뒤쳐짐
- 개별 플랫폼 대응에 더 큰 문제가 발생하기도 함
- 기술과 플랫폼별 실행 속도, 성능이 제각각임
- 플랫폼의 신기술을 바로 적용할 수 없음
- 앱스토어 정책을 위한할 가능성이 있음
(ex. React Native의 Code Push*)

* Code Push란? 

이미 앱스토어에 올라가 있는 앱의 자잘한 수정 사항들을 앱스토어의 릴리즈 심사를 기다리지 않고 실시간으로 앱에 업데이트 배포하는 것. 앱스토어의 심사를 거치지 않기 때문에 제재가 가해질 가능성이 다분함

 

Web App

설치 없이 브라우저에서 바로 실행되도록 만든 앱. 앱스토어에 등록도 되어있고 설치한것 같지만 알고보면 브라우저를 통해 바로 웹을 보여주는 것이라고 생각하면 된다. 이렇게 만들어진 앱에서는 브라우저와는 다르게 푸시알림을 보낼 수 없기 때문에 바로가기 성격 + 푸시알림을 보낼 수 있는 것이 장점이다. 하지만 처음에 이렇게 갔다가 제공되는 서비스가 많아지면서 Native 앱으로 전환하는 경우도 많다.

장점 단점
- 설치없이 브라우저에서 바로 실행
- JavaScript 단일 기술로 개발
- 브라우저마다 기술 대응필요
- 자바스크립트의 실행 성능에 한계가 있음
- 네이티브 기술 접근에 제약이 있음(각종 센서와 내부 저장소 등)

 

마무리

내가 앱스쿨에서 배울 것은 iOS의 Native 앱을 만드는 방법이다. 나는 애플의 미친 연동성과 부드러운 퍼포먼스를 한껏 끌어올린 앱을 만들고 싶다! 내일도 힘내자!! 화이팅!!

 

오늘의 Score

(+) TIL

(+) 야나두 could have p.p 강의+mp3 훈련

(+) 30분 이상 운동하기 ( 강아지 산책 + 플랭크 챌린지(30초, 40초, 50초, 60초, 30초, 30초)

블로그의 정보

Roen의 iOS 개발로그

Steady On

활동하기