네이티브 앱(Native App)
개념
- Android 또는 iOS 같은 어떤 구체적인 플랫폼만을 위해 만들어진 응용 프로그램
- Android 모바일 앱 개발의 경우 Kotlin 또는 Java로 네이티브 앱을 만들 수 있다.
- iOS의 경우 Swift또는 Objective C로 만들수 있다.
장점
- 사용자에게 가장 빠르고 안정적이며 반응이 빠른 환경을 제공
- 유용한 API의 지원도 받을 수 있다.
- 다양한 네이티브 기능을 쉽게 활용: 카메라, 마이크, GPS 및 스와이프 제스처
단점
- 둘 이상의 코드 베이스: 네이티브 앱은 Android와 iOS의 호환이 되지 않기 때문에 별도로 제작
- 더 많은 비용이 들고 빌드 하는데 시간이 오래 걸림
언제 유용한가?
- 앱의 성능이나 실행될 장치의 하드웨어 방면 기능이 매우 필요한 경우
- 3D 게임이나 애니메이션 제작
- 어떤 장치의 특별한 기능을 사용하고 싶을 때
- 앱 기능이 많고 상당히 복잡한데 그 성능이 정확히 나오게 하고 싶을 때
하이브리드 앱(Hybrid app)
개념
- 네이티브 앱과 웹 앱의 기능을 결합한 것
- JavaScript, HTML 및 CSS와 같이 잘 알려진 언어와 프레임 워크를 사용하여
다양한 플랫폼에서 사용할 수 있는 하이브리드 앱을 빠르게 만들 수 있다.
장점
- 하나의 코드 베이스: 하나의 앱을 빌드하고 약간 조정하여 두 플랫폼에서 모두 작동 -> 시간, 돈 절약
- 하이브리드 앱 개발자는 종종 네이티브 애플리케이션 개발자보다 저렴
- 손쉬운 확장: 네이티브 기능 액세스 기능
단점
- 성능(Performance) 문제가 가장 큰 단점
- 크로스 플랫폼 개발과 UX의 어려움: 하이브리드 플랫폼이 각 네이티브 플랫폼에서 적절하게
실행되도록 하려면 일반적으로 상당한 노력이 필요; 경우에 따라 총비용이 네이티브 앱의 비용과 맞먹을 수 있음
언제 유용한가?
- 다양한 플랫폼(모바일이나 웹)을 통한 사용자층이 넓을 때
- 내용을 기본으로 한 간단한 프로젝트인 경우; 애니메이션도 없고 복잡한 기능도 필요 없는 경우
- 시간은 촉박한데 여러 디바이스에서 실행돼야 하는 앱을 만들어야 할 때
- 프로젝트 아이디어가 있는 경우 가장 간단하게 테스트해보고 싶을 때
프로그레시브 웹 앱(PWA: Progressive Web App)
개념
- PWA는 하이브리드 앱과 비슷하지만 약간 다르다.
- 기본적으로 사용자들에게 네이티브 앱의 느낌을 주면서도 웹 브라우저에서
바탕화면에 바로가기를 추가하여 특별한 다운로드와 인스톨과정 없이 기본 앱처럼 사용할 수 있다.
장점
- 서비스 워커를 사용하여 느린 네트워크에서도 작동하고, 오프라인에서도 사용할 수 있다.
- 서비스 워커 업데이트 덕분에 항상 최신의 상태로 유지
- 디바이스들의 하드웨어적인 기능(카메라, GPS)을 사용할 수도 있다.
- HTTPS를 통해 제동되므로 안정성 확보
- 다양한 플랫폼에서 실행 가능
- 네이티브 앱보다 훨씬 저렴하고 빠르게 개발
- 다양한 화면 크기 수용 - 훌륭한 반응형
- 네이티브 앱과 비슷하기 때문에 사용하는데 어려움이 없음
- 참을성 있게 설치해야 할 인스톨 단계가 없음
- 검색 엔진에서 검색이 가능
단점
- 오래된 브라우저들은 PWA를 지원하지 않음
- iOS에서는 성능이 약하고 애플의 장치에 대한 지원이 적음
- 앱 스토어에서는 사용할 수 없으므로 마케팅 효과 떨어짐
- 배터리 전력 소모가 큼
언제 유용한가?
- 기본 앱의 기능이 있는 다중 플랫폼 앱 필요
- 많은 사용자들이 다양한 채널을 통해 동시 접속할 때도 동일한 서비스를 제공하고자 할 때
- 강력한 전자 상거래 서비스를 제공할 때
댓글