네이티브 앱 vs 웹앱 vs 하이브리드 앱 vs 크로스플랫폼 앱 vs 프로그래시브 웹앱
네이티브 앱의 장점은 성능과 관련해서 하이브리드 앱이나 웹앱에 비해서 빠르고, 플랫폼(IOS or AOS)이 갖는 기능(모바일 API)을 사용할 수 있다. 또한 하이브리드 앱에 비해서 앱 스토어에 좀 더 잘 노출된다는 장점이 있다. 하지만 플랫폼에 맞는 앱 개발자를 뽑아야하고, 플랫폼에 맞는 Codebase도 두개가 존재해야 한다는 점에서 리소스가 많이 들고, 앱스토어에 배포되기 때문에 업데이트와 관련한 별도의 승인 과정이 필요하여 업데이트 사항 반영이 느리다는 단점이 있다.
웹앱은 모바일 웹보다 좀 더 모바일 최적화 되어있다고한다(참고로 모바일 웹과 모바일 웹앱은 구분이 모호하다고 한다 🙄). 웹앱의 경우 플랫폼에 맞는 앱 개발자를 뽑거나, Codebase도 두개가 존재할 필요가 없다는 점에서 리소스가 적게 들고, 앱스토어에 배포되지 않기 때문에 업데이트와 관련한 별도의 승인 과정이 없어서 업데이트 사항을 빠르게 반영할 수 있다. 또한 브라우저를 통해서 접근이 가능하다. 하지만 OS에 의존하는 플랫폼의 특정 기능을 사용할 수 없고, 네이티브앱에 비해서 느린 단점이 존재한다.
하이브리드 앱은 네이티브 앱과 웹앱의 장점을 합쳐놓았다. 겉은 앱으로 감싸져있고, 내부는 웹뷰를 통해서 브라우저를 보여주는 방식으로, 브라우저의 성능에 영향을 받는다는 특징이 존재한다. 웹앱과 마찬가지로 플랫폼에 맞는 앱 개발자를 뽑거나 Codebase가 두개 존재할 필요가 없고, 네이티브 앱처럼 특정 플랫폼 API에 접근이 가능하다는 장점이 존재한다. 하지만 웹과 앱에 대한 프로그래밍 언어적인 이해가 필요하다는 점에서 러닝커브가 높다는 단점이 존재한다.
크 로스 플랫폼 앱은 하나의 언어와 한 번의 개발로 IOS와 AOS 플랫폼에서 동작하는 앱을 만드는 것이다.
프로그래시브 웹앱은 모바일 웹의 한계를 브라우저의 발전을 통해서 끌어올린다. 일반적인 모바일 웹은 PWA가 되면서 ‘홈 화면에 추가’를 하면 주소창 없이 네이티브나 하이브리드 앱인것처럼 동작한다. 또한 웹의 지정된 내용들은 핸드폰에 저장되면서 통신이 안돼도 일반 웹처럼 공룡(구글 공룡게임)이 나타나는게 아니라, 웹의 오프라인 기능들이 화면에 나타난다. 안드로이드에서는 푸시 알람, 스토어 출시도 가능하다고 한다. 😮
리액트 네이티브에서 웹뷰를 띄어서 보여준다면, 크로스 플랫폼 앱이자 하이브리드 앱이라고 볼 수 있다.
참고 문헌
Native, Web, and Hybrid Apps in 2024: the Main Differences | Upwork