스타트업/기술 블로그

모바일앱, 어떤 방식으로 개발해야 할까?

2020-11-02 / 조회수 951

스타트업에서 모바일앱을 출시하려고 개발을 시작할 때 가장 먼저 결정해야 할 것은 개발 방식입니다. 어떤 개발 방식인지에 따라서 개발 비용과 기간, 설계 및 기술 이슈가 달라지게 됩니다. 모바일앱은 크게 하이브리드 앱(웹앱), 네이티브 앱, 크로스 플랫폼 등의 선택지가 있습니다.

여러 가지 모바일앱 개발 방식에 대한 설명과 장단점은 아래에 정리되어 있지만 결론만 요약해서 말씀드리면, 5천 만 원 이하의 개발 예산과 6개월 이내에 출시하는 것을 목표로 한다면 하이브리드 앱(웹앱), 개발 예산이 1억 이상이거나 아이폰/안드로이드/서버 각 파트의 개발자들로 구성된 내부 개발팀이 있다면 네이티브 앱 방식을 권합니다. 내부 개발팀이 있는데 서버 개발자로만 구성되어 있다면 리액트 네이티브나 플러터 같은 크로스 플랫폼이 괜찮은 선택지라고 생각합니다.

하이브리드 앱(웹앱)

하이브리드 앱(웹앱)은 웹 개발 방식으로 모바일 UI를 제작한 후 아이폰/안드로이드 웹뷰로 패키징하여 앱스토어에 출시하는 방식이고 적은 비용으로 빠르게 개발할 수 있습니다. 네이티브 앱 방식의 5분의 1 정도의 개발 비용만으로 개발할 수 있으며 최근에는 하이브리드 앱 제작 기술이 좋아져서 동작도 빠르고, 개발기간도 3~4개월 이내로 짧아서 초기 스타트업에 적합한 방식입니다. 보통 3~4천만 원의 비용으로 아이폰/안드로이드 양쪽 스토어 출시가 가능하고 앱 업데이트도 매번 심사를 받지 않고 서버 배포만으로 기능 추가가 가능한 방식입니다.

하이브리드 앱도 다양한 퀄리티가 존재하는데, 간단한 모바일 웹페이지를 앱으로 패키징하여 앱스토어에 출시하는 것도 하이브리드 앱이라고 불리기도 하지만, 플랫폼 서비스를 위해서는 단순한 모바일 웹페이지가 아니라 네이티브 앱과 유사한 동작과 화면 전환 효과, 좌상단 햄버거 메뉴와 하단 탭바 등으로 구성되어 모바일 UX에 최적화된 하이브리드 앱으로 제작해야 합니다. 인썸니아는 스켈레톤이라는 자체 구축한 하이브리드 앱 컴포넌트를 기반으로 네이티브 앱과 유사한 사용성을 가진 하이브리드 앱을 제작하고 있습니다.

자체 구축한 스켈레톤 하이브리드 앱 컴포넌트

굳이 네이티브로 개발할 필요가 없는 화면 구성과 서버 사이드 비즈니스 로직은 웹 개발을 기반으로 한 하이브리드 앱 방식으로 제작하고, 스마트폰의 네이티브 기능이 필요한 부분만 네이티브 코드로 작성하면 기능 제약 없이 비용 효율적으로 개발할 수 있습니다. 네이티브 기능이 필요한 부분이라 하면 푸시 메시지, 블루투스, 위치기반 서비스, QR코드 인식, 주소록 연동, SNS 로그인, 인앱 결제 등이 있습니다. 저희 인썸니아는 네이티브 기능이 필요한 부분만 네이티브 코드로 작성하고 나머지는 하이브리드 앱으로 제작하여 네이티브 기능 활용과 비용 절감 모두를 추구하고 있습니다.

네이티브 앱

네이티브 앱은 아이폰/안드로이드 각각의 네이티브 개발 언어로 제작하는 것을 말합니다. 아이폰의 네이티브 언어는 Swift(스위프트)나 Obj-C(오브젝티브-씨)이고, 안드로이드는 Java(자바)나 Kotlin(코틀린)이 네이티브 언어입니다. 스마트폰 출시 초기인 5~10년 전에는 스마트폰의 사양도 낮고 하이브리드 앱의 성능이 좋지 않아 많은 비용을 들여서라도 네이티브로 제작해야만 했습니다.

현재는 네이티브 앱 방식도 과거보다 발전하고 iOS의 경우 Obj-C 대신 Swift로, 안드로이드의 경우 Java 대신 Kotlin으로 네이티브 언어가 효율적으로 바뀌었고, 다양한 라이브러리 생태계가 뒷받침되면서 과거보다 개발이 쉬워졌습니다. 그럼에도 간단한 레이아웃과 기능을 만드는 과정이 하이브리드 앱과 비교하면 상당히 복잡하고 개발 시간이 오래 걸리고 작은 실수에도 앱 전체가 크래시가 나는 등 높은 숙련도를 요구합니다. 그리고 서버 개발 언어와 클라이언트(아이폰/안드로이드) 개발 기술이 상당히 다르기 때문에 아이폰 개발자, 안드로이드 개발자, 서버 개발자 각각을 채용해야 해서 기본적인 개발 비용이 하이브리드 앱의 4~5배 이상 필요합니다.

최소 수억 원의 투자를 유치하고 내부 개발팀이 꾸려진 스타트업에서 비용과 시간이 더 들더라도 사용성을 최적화하기 위해 네이티브 앱 제작을 선택하는 경우가 있고, 네이티브 앱들도 일부 화면들은 하이브리드 앱(웹앱)에서 사용하는 웹뷰 방식으로 제작하여 개발 비용을 절감하고 있습니다. 최근에는 내부 개발팀이 있고 자본이 충분한 경우라 하더라도 시장 출시 속도를 빠르게 하기 위해 하이브리드 앱이나 크로스 플랫폼을 선택하는 경우가 늘고 있습니다. 네이티브 앱 개발 견적은 전문 개발사에게 의뢰하는 경우 아이폰/안드로이드 두 가지 모두 출시할 때 통상 7천 ~ 1억 5천까지의 비용이 예상됩니다.

크로스 플랫폼

크로스 플랫폼은 한 가지의 개발 언어와 프레임워크로 아이폰/안드로이드 양쪽 앱스토어에 출시할 수 있는 개발 방식입니다. 2~3년 전까지는 페이스북이 주도하던 리액트 네이티브가 모바일 크로스 플랫폼 중 가장 활발하게 발전하고 있었으나 최근 1~2년 사이 구글이 주도하는 플러터라는 플랫폼이 빠르게 성장하고 있습니다. 크로스 플랫폼은 네이티브 앱과 비교하면 개발 속도가 빠르고 성능은 네이티브와 크게 차이가 나지 않는다는 장점이 있습니다.

네이티브 앱의 경우 코드 몇 글자만 고치더라도 결과를 보려면 전체 소스를 다시 빌드하는 컴파일(빌드) 타임이 있고 이 시간이 짧으면 수 초이지만 길면 수 분에 이르기 때문에 개발 속도가 느립니다. 개발을 안 해 본 분이라면 수 초에서 수 분이 별 것 아닌 것으로 느껴질 수 있지만, 프로젝트 하나를 네이티브로 개발하는데 빌드를 최소 수 천 번에서 수 만 번 해야 하기 때문에 빌드 타임이 짧아지거나 없어진다는 것은 굉장한 개발 생산성 향상과 비용 절감을 가져옵니다.

그래서 리액트 네이티브와 플러터는 코드 수정후 핫리로딩이라는 방식으로 수정한 결과를 에뮬레이터 상에서 바로 보여주어 컴파일/빌드 타임을 없애고 수정 후 결과를 바로 확인할 수 있도록 하여 개발 생산성을 증대시키고 있습니다. 더불어 한 번 코드를 작성하면 아이폰/안드로이드 앱 둘 다 제작이 가능하고 네이티브 개발 기술을 익히지 않아도 네이티브에 가까운 앱을 제작할 수 있기 때문에 네이티브 앱 개발 수요의 일부가 리액트 네이티브와 플러터로 조금씩 이동하고 있는 것 같습니다. 높은 숙련도가 필요한 네이티브 앱 방식에 비해 크로스 플랫폼은 상대적으로 쉬운 언어와 기술 기반으로 되어 있습니다.

단 하이브리드 앱과 비교하면 여전히 개발 비용은 2~3배 정도이며 하이브리드 방식과 비교해 디자인을 세밀하게 적용하는 것이 어려워서 아직까지는 리액트 네이티브나 플러터로 제작된 앱들은 디자인이 아쉬운 경우가 많습니다. 그리고, SNS 로그인이나 블루투스 연동 등 네이티브 기능이 필요한 경우 관련 라이브러리가 누군가에 의해 만들어져 있지 않으면 네이티브 코드를 작성하고 이를 브릿지 형태(크로스 플랫폼 쪽 코드의 함수와 네이티브 코드의 함수를 연결하는)로 연결해야 하는데 네이티브로 직접 작성하거나 하이브리드 앱(웹뷰 + 네이티브 코드) 방식보다는 네이티브 기능 탑재가 번거롭다고 느껴집니다.

5천 만 원 이하의 예산으로 아이폰/안드로이드 앱스토어에 스타트업 플랫폼을 출시하고자 하신다면 인썸니아에 하이브리드 앱(웹앱) 개발 의뢰를 남겨주세요