앱을 만드는 방법은 크게 네가지로 나누어진다.
1. 네이티브 앱
네이티브 앱이란 특정 플랫폼에 최적화된 방법으로 만들어낸 앱을 말한다.
예를들면 안드로이드 앱을 안드로이드 스튜디오 등의 환경에서 Java, Kotlin 등을 사용하여 개발하고, IOS 앱은 Xcode 등의 환경에서 Swift, Objective-C 를 사용하여 개발하는 방식이다.
장점 : 안드로이드, IOS 플랫폼에서 제공하는 모든 기능들을 100% 활용할 수 있다.
단점 : 안드로이드, IOS 앱을 각각 만들어야한다는 점에서 시간과 비용이 많이 들어간다.
2. 크로스 플랫폼 앱
크로스 플랫폼 앱은 하나의 프로그래밍 언어로 안드로이드와 IOS 양쪽에 사용하능하도록 개발한 앱을 말한다.
대표적으로 Flutter, Dart, React native, Xamarin 등이 있다.
장점 : 네이티브 앱 개발 방식과 달리 시간과 비용을 절약할 수 있다.
단점 : 네이티브 방식으로 만든 앱보다 떨어지고, 네이티브한 기능을 100% 활용하기가 어렵다는 단점이 있다. 또한 안드로이드 또는 IOS 쪽에 최신 기능이 나왓을 때 크로스 플랫폼에서 지원해주지 않는다면 이를 앱에 바로 적용시키기가 어렵다.
3. 웹 앱
웹 앱은 모바일 브라우저 환경에서 실행되는 앱을 말한다.
앱을 실행시키면 모바일 브라우저를 통해 내가 만들어놓은 웹사이트에 접속하는 방식으로 동작한다.
장점 : 웹 개발과 동일한 방식으로 개발할 수 있기 때문에 웹 개발에 익숙한 사람이라면 비교적 편하게 개발이 가능하다
단점 : 스마트폰의 하드웨어 기능 등을 사용이 불가능하거나, 사용가능하더라도 제약이 있을 수 있고, 네이티브와 크로스 플랫폼 앱에 비해 성능이 떨어진다.
4. 하이브리드 앱
웹 앱과 네이티브 앱의 기능이 결합된 형태의 앱을 말한다.
웹 앱과 마찬가지로 모바일 브라우저를 통해 접속하는것과 차이는 없으나, 최종 앱 배포에 필요한 패키징 처리가 네이티브 방식으로 되어있는 형태라고 생각하면 된다.
장점 : 웹 앱의 개발 편의성은 그대로 가져가면서 동시에 네이티브 앱 방식으로 동작하기 때문에 안드로이드, IOS 플랫폼에서 제공하는 기능들을 활용할 수 있다.
단점 : 여전히 브라우저에서 동작하는 것은 동일하기 때문에 브라우저 성능에 따라 앱 성능이 영향을 받으며, 네이티브 앱 개발 지식도 어느정도 요구된다는 단점이 있다.
그래서 나는 어떤걸로 ?
나는 비교적 웹 개발이 익숙하기 때문에 우선은 웹 앱 방식으로 개발을 하다가 필요하다면 하이브리드 앱으로 형태를 변환해서 적용하는게 좋을 것 같다
'사이드 프로젝트' 카테고리의 다른 글
[채팅어플만들기] 1 단계, 화면 구상 시작 (0) | 2024.04.14 |
---|
댓글