네이티브 앱

장점
- 빠르고 안정적, 원하는 UI/UX 개발 가능
- 플랫폼(안드로이드와 IOS)의 기능을 활용할 수 있음
단점
- iOS와 Android, Web마다 다르게 개발 필요하기 때문에 시간과 비용이 많이 든다.
- 업데이트를 해도 마켓에 올라가기까지 시간이 걸린다.
- 초창기에는 소프트웨어 적으로도 하드웨어적으로도 차이가 명확.
웹앱

모바일 화면에 맞게 구성한 웹 (반응형 웹페이지)
장점
- 웹 개발 방식과 동일하여 빠르게 제작 가능
- 다양한 플랫폼에서 실행 가능
- 앱 배포 없이 기능을 자유롭게 수정 가능하여 유지보수 용이
단점
- 플랫폼 API를 활용할 수 없음
- 네이티브보다 유려한 UI/UX 구현 어려움
하이브리드 앱

- Native + HTML (웹앱에 네이티브 앱 프레임을 씌운 형태)
- Web View라는 브라우저가 실행
- 일반적인 브라우저에서 주소창이 없어진 형태
장점
- 네이티브에 대한 지식이 없어도 개발이 가능
- 웹 페이지 하나의 개발로, 웹, 앱 모두 서비스 가능
- 앱이 업데이트 될 때마다 앱 마켓에 업로드 할 필요 없음
단점
- UI로 전부 직접 개발해야 함
- 스마트폰에 있는 하드웨어적인 기능을 라이브러리로 변환해서 사용했기 때문에 속도가 느림
- 스마트폰이 제공하는 기능을 사용하기 어려움
- 네이티브의 UI를 따라가기 어려움
- 화면을 전부 불러오기 때문에 데이터 사용량이 많음
- 특정 행동이나 기능에 있어서 internet access가 필요
결론?
- 처음 공부를 한다면 네이티브를 공부. 네이티브의 원리를 잘 이해하고 있다면 하이브리드나 크로스 플랫폼(리액트 네이티브, 플러터 등)은 쉽게 익히고 다룰 수 있음.
- 빠르게 서비스를 배포하고 시장의 반응을 보고 싶다면 하이브리드나 웹앱