- 특정 플랫폼에서 사용할 수 있도록 만들어진 프로그램(ex: AOS, iOS)
- SDK기반으로 개발된 애플리케이션
- 모바일 플랫폼 API를 이용해 개발
1) 장점
- 기기 자체의 다양한 기능을 쉽게 사용 가능
- 기기의 운영체제에 맞게 개발하여 안정적이고 빠름
2) 단점
- 둘 이상의 코드 베이스 필요 : iOS와 Android 서로 호환 안됨
-> 더 많은 비용과 시간
- 앱과 웹의 기능을 결합한 애플리케이션(외부형태는 네이티브, 내부는 모바일 웹 앱)
- JavaScript, HTML을 사용하여 여러 플랫폼에서 사용 가능
1) 장점
- 하나의 코드 베이스 : 일부분을 제외하고 iOS, Android 모두 사용 가능
- 확장성 : 네이티브 기능 엑세스 가능
2) 단점
- 각 운영체제에 맞춰 개발한것이 아니라 네이티브앱에 비해 속도가 느림
- 각 네이티브 플랫폼에서 적절히 실행시키기 어려움
- 웹페이지를 스마트폰 화면으로 줄인 것
- 사파리나 크롬 같은 웹 브라우저를 통해 기기에 엑세스하고 적응하는 반응형 웹
- 단말기의 기종에 관계없이 모든 단말기에서 같은 컨텐츠를 볼수 있도록 함
1) 장점
- HTML, CSS, JSP, PHP, .NET등 웹에서 사용하는 언어로 개발하여 비용과 시간이 저렴
- 다운로드가 불필요함으로 기기에 부담을 주지 않음
2) 단점
- 기기자체(플랫폼) API를 사용할 수 없음
- 친화적인 터치 앱을 개발하기 어려움
- 웹 브라우저를 사용하기 때문에 네이티브, 하이브리드 앱보다 실행이 까다로움
- 한 가지의 개발 언어와 프레임워크로 안드로이드, iOS 네이티브 앱을 만드는 개발 방식
-> 네이티브 코드가 아닌 다른 개발 언어로 코드를 작성 후 각각의 OS가 이해할 수 있는 코드로 컴파일 한 후, 각각의 OS의 엔진으로 실행하는 방식1) 장점
- 하나의 코드 베이스 : 일부분을 제외하고 iOS, Android 모두 사용 가능
-> 시간과 비용이 상대적으로 저렴2) 단점
- 다른 언어코드를 사용하여 OS 맞춰 컴파일 되기 때문에 네이티브 앱의 만큼의 퍼포먼스를 구현할 수 없음
- 신규기능이 추가되어도 프레임워크에서 지원이 지연 될 시 신규기능 개발 지연 발생 가능
참고
[블로그]
1. https://www.hanl.tech/blog/native-vs-hybrid-vs-pwa/
2. https://leejss.github.io/2021-07-26/native-application
3. https://velog.io/@0seo8/%EA%B0%9C%EB%B0%9C%EC%83%81%EC%8B%9D-%EC%9B%B9%EC%95%B1-%ED%95%98%EC%9D%B4%EB%B8%8C%EB%A6%AC%EB%93%9C%EC%95%B1-%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C-%EC%95%B1%EC%9D%B4%EB%9E%80
4. https://www.adjust.com/ko/blog/different-app-types-and-how-they-work/
[인프런]
1. https://www.inflearn.com/pages/infmation-49-20220607