Android 또는 iOS 같은 어떤 구체적인 플랫폼만을 위해 만들어진 응용 프로그램을 네이티브 앱(Native App)이라고 한다.
Android 모바일 앱 개발의 경우는 Kotlin 또는 Java로 네이티브 앱을 만들 수 있고 iOS의 경우 Swift 또는 Objective C로 만들 수 있다.
앱의 실행 속도가 빠르고 유용한 API의 지원도 받을 수 있는 장점이 있는 반면 다른 운영체제에서도 실행되기 위해서는 시간도 노력도 돈도 많이 드는 단점이 있다.
3D 게임이나 애니메이션을 제작할 경우
어떤 장치의 특별한 기능을 사용하고 싶을 경우
앱 기능이 많고 상당히 복잡한데 그 성능이 정확히 나오게 하고 싶을 경우
네이티브 코드가 아닌 언어로 코딩을 한 후, 나중에 ios/android가 이해할 수 있는 코드로 변환
크로스 플랫폼 프레임 워크(Cross-platform frameworks)
하이브리드 앱은 네이티브 앱과 웹 앱의 기능을 결합한 것으로 JavaScript, HTML 및 CSS와 같이 잘 알려진 언어와 프레임 워크를 사용하여 다양한 플랫폼에서 사용할 수 있는 하이브리드 앱을 빠르게 만들 수 있다.
비용도 시간도 덜 들고 유지 보수도 쉽고 기본 API 기능도 사용 가능하나 오프라인(offline)으로는 작동하지 않고 똑같은 코드를 베이스로 하기 때문에 안드로이드나 아이폰 등 각 디바이스의 특정 기능을 사용하는 데 문제가 발생할 수도 있다.
다양한 플랫폼(모바일이나 웹)을 통한 사용자층이 넓을 경우
내용을 기본으로 한 간단한 프로젝트인 경우
애니메이션도 없고 복잡한 기능도 필요 없을 경우
시간은 촉박한데 여러 디바이스에서 실행돼야 하는 앱을 만들어야 할 경우
프로젝트 아이디어가 있는 경우 가장 간단하게 테스트해보고 싶을 경우
사용자들에게 네이티브 앱의 느낌을 주면서도 웹 브라우저에서 바탕화면에 바로가기를 추가하여 특별한 다운로드와 인스톨 과정 없이 기본 앱처럼 사용할 수 있다는 것이 특징
오프라인에서도 사용할 수도 있고 알림 메시지도 받을 수 있고 iOS보다 안드로이드가 훨씬 용이하긴 하지만 디바이스들의 하드웨어적인 기능(카메라나 GPS 같은)을 사용할 수도 있다.
PWA는 각 플랫폼에 최적화된 사용자 경험을 기반으로 하며, PWA만을 위한 언어나 프레임워크 또는 PWA만을 위한 전문 개발자도 필요가 없다.
리액트(React)나 앵귤러(Angular)만 있으면 만들 수 있다.
기본 앱의 기능이 있는 다중 플랫폼 앱이 필요할 경우
많은 사용자들이 다양한 채널을 통해 동시 접속할 때도 동일한 서비스를 제공하고자 할 경우
강력한 전자 상거래 서비스를 제공할 경우