새싹톤 회의 중, 우리가 구현하고자 하는 서비스는 웹보다는 앱이 접근성과 사용성 측면에서 좋다는 결론이 나왔다.
하지만 나는 웹 프론트엔드여서 모바일 개발은 해본 경험이 없었다.(학교 수업이 전부였고 교수님이 너무 미웠던 기억이 있다 🤮)최종적으로 모바일 사이즈에 맞춰서 웹을 구현하면 되겠다는 얘기가 나왔다.
그런데 이걸 어떻게 따로 만드는 방법이 있는건지 아니면 그냥 화면 사이즈만 줄이면 되는건지 몰랐다. 이게 웹 뷰인건지 웹 앱인건지...?예전부터 궁금했었는데 이제야 정리하고자 한다.
우리가 흔히 말하는 어플리케이션이 여기에 속한다. 각 플랫폼(안드로이드, iOS)에 맞는 언어(Swift, Kotlin, Java, ...)로 개발한 어플리케이션이다.
모바일 기기에 최적화된 언어로 개발되어 유저가 사용하기에 빠르고 편하다.
ex. 카카오톡, 인스타그램, 유튜브, 페이스북, ...
웹 페이지를 모바일 기기의 화면 크기로 줄인 것이다.(모바일 웹과는 큰 차이가 없다)
기기와 상관없이 모든 기기에서 같은 콘텐츠를 볼 수 있도록 해준다.
즉, 겉모습과 구동방식을 앱처럼 꾸며놓아 실제로는 웹 방식으로 작동하지만, 사용자에게 앱을 사용하는 것 같은 경험을 전달한다.
겉으로는 네이티브 앱과 동일하게 보이지만 실제로는 웹 뷰를 띄워 웹을 실행시키는 형태로 구성되어있는 어플리케이션이다. 네이티브 앱과 웹 앱의 개발 방식을 모두 사용하며 두 방식의 장점을 하나로 합친 방식이다.
즉, 어플 안에 웹 페이지를 불러오는 방식이다.
ex. 네이버, 다음, 크롬, ...
웹 뷰(WebView)란 프레임워크에 내장된 웹 브라우저 컴포넌트로 뷰(View)의 형태로 앱에 임베딩하는 것을 말한다.
즉, 앱 안에 HTML iframe을 넣어놓은 것이다.
즉, App에서 웹 브라우저를 이용해 화면을 보여주는 방식을 뜻한다.
결론적으로, 웹 뷰는 앱 안에 임베딩을 하는 것이므로 결국 앱을 만들어야 한다.
그러니까 나는 웹 앱 방식으로 구현해야 한다!😁