앱 제작 시 효율적인 하이브리드 방식으로 설계하고, Flutter나 React native 플랫폼을 이용해 멀티 운영체제 지원 앱을 빠르게 제작할 수 있습니다. 단, 개발플랫폼, 언어, 개발환경 등에 따라 앱의 동작 속도나 개발 일정에 영향을 미치므로 선택 시 주의가 필요합니다.
앱 제작 고려사항
가장 먼저 어떤 유형의 앱을 만들 것인지 정해야 합니다. 제작하려는 앱의 종류에(게임, SNS, 뉴스 등) 따라 플랫폼이 다르고 이에 따라 일정과 비용도 차이가 생기기 때문입니다.
속도가 크게 중요하지 않고 간편하고 빠르게 앱을 개발한다면 하이브리드 앱의 형태가 개발 속도 및 유지보수성에도 좋습니다. 만약 빠른 속도가 중요하다면 네이티브 앱을 개발해야 합니다.
일정과 비용
앱 제작 시 단순히 코딩해서 개발하는 것만 일정에 포함해서는 안 됩니다. 눈에 보이지는 않지만, 디자인-개발-테스트-유지보수의 단계별로 비용을 예측하는 것이 중요합니다.
무턱대고 시작했다가 초반에 비용 부족으로 중단될 수도 있고, 출시하더라도 유지비용이 너무 커서 업데이트가 어려워질 수 있기 때문입니다. 아래 일정과 비용계획시 고려할 점을 적어보겠습니다.
- 개발자 Learning Curve: 만약 새로운 플랫폼을 선택했다면 개발자가 신규 툴에 익숙해지기까지 시간도 비용에 포함합니다. 따라서 가능한 범용적인 플랫폼을 선택하는 것이 비용절약에 유리합니다.
- 라이센스 비용: 만약 게임을 개발한다면 필요한 기능과 퀄리티에 따라 엔진의 종류도 다릅니다. 또한 고급기능을 사용한다면 유료 버전을 사용해야 할 수 있습니다.
- 테스트 비용: 1인 개발자라 하더라도 기본적으로 많이 사용하는 OS 버전과 스마트폰 모델 (해상도 사이즈) 에서는 테스트가 필요합니다. 기업용 앱이라면 더 가혹한 테스트가 필수적이며 그만큼 비용도 증가합니다.
- 유지보수 비용: 수시로 업데이트 필요한 성격의 앱이라면 이를 위한 예상비용도 고려합니다.
제작하려는 앱이 대규모 개발인력이 투입되는 것이 아니라면 다음과 같은 재능 플랫폼을 통해 1익 개발자나 소규모 팀을 통한 제작도 가능합니다. 앱 제작을 위한 상세한 비용은 다음을 참고 바랍니다.
출시 플랫폼
모바일 플랫폼은 아이폰과 안드로이드로 나뉩니다. 아래는 2021년 기준 우리나라의 모바일 운영체제 점유율을 나타낸 표로써, 두 OS가 99%를 차지하고 있는 과점시장입니다.
안드로이드 | iOS | 기타 |
74% | 25.5% | 0.5% |
보통 아이폰은 여성이나 10대에서 많이 사용한다고 알려져 있습니다. 즉, 개발하려는 모바일 앱의 수요에 따라 어떤 플랫폼을 선택하는 것이 유리할지 고민합니다.
앱 제작 플랫폼
만약 제작하려는 앱이 빠른 속도가 필요하지 않다면 네이티브 플랫폼이 아닌 크로스 플랫폼이 유리합니다. 최근에 많이 사용하는 안드로이드와 iOS 운영체제를 동시지원 크로스 플랫폼은 플러터와 리액트 네이티브 입니다. (윈도, 리눅스 등도 지원)
플러터 | 리액트 네이티브 |
구글에서 개발한 플랫폼으로 Android, 아이폰, 윈도, 리눅스 등의 대부분의 운영체제용 앱을 한번에 개발 및 출시가 가능한 플랫폼. 빠른 렌더링 속도가 강점이며 구글의 서포트에 의해 큰 개발지 커뮤니티를 가지고 있다. | 페이스북에 의해 개발된 모바일 앱 개발 플랫폼으로 안드로이드, 아이폰 동시 개발이 가능하다. 프론트엔드 개발자에게 익숙한 JS 언어를 기반으로 하여, 개발된 앱의 유지보수가 간편하다. (일부 앱 배포 가능) > 웹 개발시 프론트엔드, 벡엔드의 차이 |
개인적으로 플러터는 C 언어와 유사한 Dart 라는 구글이 개발한 언어로 되어있어, 웹개발을 주로 하신 분들은 생소하게 느껴질 수도 있습니다. 하지만 초기 러닝커브만 극복한다면 장래에 많이 활용될 수 있는 크로스 플랫폼용 개발 언어로 생각됩니다.
모바일 게임엔진 비교
가령 게임을 만든다면 2D, 3D 유형에 따라 사용하는 게임 엔진이 달라질 것입니다. 게임엔진은 대부분 멀티 플랫폼을 지원하여 대표적으로 다음의 종류가 있습니다.
- Cocos2D: 2D 무료 라이센스 기반으로 멀티플랫폼을 지원합니다. 모바일 게임용으로 많이 사용되며 특히 2D 기반의 캐주얼 게임을 제작할 때 간편합니다.
- 언리얼 엔진: 개인이 단기간에 적용해 개발하는 것은 조금 어렵지만 그만큼 성능은 뛰어납니다. 최근에는 3D 게임 외에도 영화, 방송, 건축 분야까지 활용될만큼 고서능과 범용성을 가집니다.
- 유니티 3D: 언리얼에 비해 1인 개발자들도 많이 사용하는 게임 엔진이지만 역시 다양한 분야에서도 많이 활용되고 있습니다. 기본 무료 버전도 있지만 고급 기술이 적용된 PRO 버전을 저렴하게 이용할 수도 있습니다.
덧붙여, 개발 시 테스트나 유지보수 비용도 고려해야 합니다. 가령 별 생각없이 iOS까지 개발에 포함하는 순간 두 운영체제를 위한 테스트 모델과 비용, 일정이 증가합니다.
앱 제작 언어
제작언어는 위에서 말씀드린 개발 프레임워크가 정해지면 90% 이상 이미 정해진다고 생각됩니다. 다만 하이브리드 웹 형태로 개발한다면 WEB 영역에 필요한 언어는 조금 차이가 있습니다.
일반적으로 최근의 개발 프레임워크는 사용자가 익숙한 Javascript (e.g 리액트 네이티브)를 사용하거나, 쉬운 문법으로 개발 효율성을 높인 Python 기반의 프레임워크 (Django 등)이 있습니다.
앱 제작 개발환경
최근에는 MS에서 개발한 Visual Code IDE가 가장 많이 사용됩니다. 이외에도 이클립스나 Jetbranins IDE도 유명하고 많이 사용하는 툴의 하나입나더. 각 IDE마다 시스템 리소스 사용량과 및 특, 장점이 있으므로 이에 관해서는 이전 글을 참고해주시기 바랍니다.
이상으로 앱 제작을 빠르고 효율적으로 할 수 있는 플랫폼, 언어, 개발 환경 등에 대해 알아보았습니다.