간단하게 설명하자면 다운로드 받지 않고 인터넷이나 인트라넷을 통해 웹브라우저 위에서 이용할 수 있는 응용 소프트웨어(app)이다.
Android 또는 iOS 같은 어떤 구체적인 플랫폼만을 위해 만들어진 응용 프로그램을 네이티브 앱(Native App)이라고 하는데 native app같은 경우는 더욱 고사항이 필요한 게임 등을 만들 수 있고 앱의 실행 속도가 빠르며 유용한 API의 지원들을 받을 수 있다.
그러나 native app같은 경우는 android와 iOS의 호환이 되지 않기 때문에 두 개를 나눠서 만들어야하기 때문에 시간과 비용이 배로 드는 경우가 있다.
또한 native app은 디바이스 기능에 접근이 가능하나(카메라, 마이크, GPS 등) web app같은 경우에는 web으로 만들어서 접속하는 경우이기 때문에 접근을 할 수는 없다.
그렇기 때문에 요즘 뜨고 있는 점이 PWA라는 것이다.
pwa란 Progressive Web Apps의 줄임말로 모바일 기기에서 native app과 같은 사용자 경험을 제공하는 웹 앱이다.
그렇다고 해서 native app처럼 마켓 등에 들어가서 앱을 다운로드하거나 업데이트를 할 필요없이 웹 브라우저를 통해 앱을 바로 사용할 수 있는 장점이 있다.
또 한 가지 특징 중 하나는 웹페이지와 달리 오프라인에서도 작동이 가능하다.
원리는 캐시된 데이터.
web app과 달리 native app처럼 push notification 및 카메라, 마이크 등 모바일 기기 자체의 기능도 사용할 수 있다.
최근 스타벅스, 트위터 등에서 사용하면서 큰 이슈가 되었다.
참조: https://yozm.wishket.com/magazine/detail/1969/
pwa란 무엇이며 왜 필요한가? : https://yozm.wishket.com/magazine/detail/537/
PWA, Native app 무엇을 선택할까? :https://yozm.wishket.com/magazine/detail/534/
앱 설치 여부 | 개발 방식 | 디바이스 기능 접근 | 개발 지식 | |
---|---|---|---|---|
네이티브 앱 | O | 모바일 운영 체제별 전문 개발 언어 사용(Kotlin, Java, Swift 등 | 가능 | ios, 안드로이드 앱 개발 지식 필요 |
웹 앱 | X | 웹 코딩 기반(HTML, CSS, JS 등) | 불가능 | 웹 표준 웹 개발 지식 필요 |
PWA | O | react나 Angular에 적용 가능, 따로 설정 및 설치 | 가능 | ?? |
만드는 app의 목적성에 따라 잘 고민해보고 선택하기.