본문 바로가기

Dev.World/개발상식&언어

[개발상식] 22. 모바일 앱(네이티브 앱), 모바일 웹, 웹 앱, 하이브리드 웹 앱, 그리고 프로그레시브 웹 앱


모바일 웹
모바일 환경이 대두되면서 pc용 사이트들을 모바일 환경에 맞춰서 변경한 것이다.
m. 으로 시작하는 웹 사이트들이 그 예가 된다. 풀 브라우징 방식으로 페이지를 이동하여 앱의 실행 속도가 느리다. 모바일 환경에 대응하기 위해 각종 방법들이 나타나고 있는데, 대표적인 것이 적응형 웹과 반응형 웹이다. 둘은 같은 목적을 갖고 다른 철학을 지닌다. 애초에 반응형 웹은 데스크탑 환경과 모바일 웹 환경을 완충하기 위해 등장한 것은 아니지만 그렇게 사용되고 있다. 모바일 웹은 모바일 환경에 최적화되어야 한다. 성능 면에서 그 점이 가장 중요하다.


웹 앱
웹을 기반으로 작동하기 때문에, 모바일 웹하고는 근본적인 차이는 없지만 겉모습과 구동 방식을 마치 앱인것처럼 착각하도록 꾸며놓은 것이다. 각종 버튼들을 앱처럼 만들어 사용자로 하여금 마치 Native App을 사용하는 듯한 UX를 제공하는 것이 특징이다. 물론, 네이티브 앱의 성능보다 떨어지고 네이티브 앱에서 가능한 하드웨어 관련된 기능을 사용할 수 없다. 대표적인 예로 Naver Application이 있다.


네이티브앱
개인 단말기에 설치해서 사용하는 프로그램형식의 애플리케이션, 일반적인 어플이다.
성능 기능적으로 우월하지만 개발 시간이 길고 비용이 많이 든다. 또한 가장 큰 단점은 노출되기가 쉽지 않고 모바일 기기의 용량 문제, 설치 과정의 문제 때문에 사용자들의 진입 장벽이 웹과 비교했을 때 높다. java를 기반으로 작동하는 안드로이드 애플리케이션, 오브젝티브 C 또는 Swift를 기반으로 작동하는 iOS 앱이 속한다. 모바일 운영체제에 있는 커널과 UI프레임 워크가 제공하는 서비스를 직접 호출해 실행하므로 실행속도가 빠른 것이다.


하이브리드 앱
웹과 네이티브 앱이 합쳐진 것이다. 흔히 말하는 껍데기를 앱처럼 표현해놓고 작동하는 것은 웹 서버를 동일하게 사용한다. 기본적으로 네이티브 앱이 먼저 실행되어서 웹 기술로 만들어진 것을 불러온다. 최근에 자바스크립트라는 언어에서 프레임워크들이 나오고 있지만 아직은 성능 상에 문제가 존재한다.




Progressive Web app
프로그레시브 웹 앱
PWD는 웹의 장점인 접근성을 살리면서, 디바이스의 캐싱을 이용한 웹앱이다.
설치 전에는 검색에 노출이 되는 웹 사이트 ( 모바일 웹 )이지만, 사용자로 하여금, 주로 방문하는 웹 서비스를 바탕화면에 마치 앱처럼 설치를 유도할 수 있다. 네트워크 환경이 열악한 조건에서도 디바이스에 저장된 데이터를 기반으로 작동하기 때문에, 보다 높은 접근성을 제공할 수 있다.
PWD는 모바일 환경에 대응하기 위해 고안된 웹의 전략이라고 볼 수 있다. Native App과 비교했을 때, 네이티브 앱은 빠르지만 모바일 화면의 모바일 웹사이트는 느린 것이 문제이다. 재접속하기도 정말 귀찮다. 이러한 문제를 해결하기 위한 PWD의 애플리케이션 쉘 아키텍쳐는 하이브리드 앱을 대신할 것이다.

PWD는 디바이스에 설치가 되면 독립적인 애플리케이션으로 작동되며 브라우저 기반으로 작동하는 것이 아닌 하나의 worker로서 디바이스에서 실행된다. 네이티브 앱처럼 디바이스를 통해 사용자에게 push 알림이 가능한 것이 또한 특징이 될 수 있다.

http://han41858.tistory.com/13 ( 프로그레시브 웹앱, 탭에서 벗어나기 )