webApp과 Native app 그리고 hybrid App

나무·2024년 8월 12일
0

안녕하세요, 오랜만이에요!
오늘은 다양한 서비스 형식에 대해 이 포스팅 하나로
헷갈리는 것 없이 완벽 정리할 수 있도록 포스팅을 해보려고 해요

가장 기본 지식이지만, "웹, 웹앱, 앱, 하이브리드 앱" 뭐가 이렇게 많고 다양해?
라고 생각하실 수도 있을 것 같아요
신입 시절에 제가 그랬거든요 🥲

저와 함께 확실하게 공부하고 넘어갑시다!
레쯔고!💥



(0) web

웹은 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티미디어 정보를 하이퍼텍스트 방식으로 연결하여 제공합니다
하이퍼텍스트(hypertext)란, 문서 내부에 또 다른 문서로 연결되는 참조를 집어 넣음으로써 웹 상에 존재하는 여러 문서끼리 서로 참조할 수 있는 기술을 의미합니다
이때 문서 내부에서 또 다른 문서로 연결되는 참조를 하이퍼링크(hyperlink)라고 부릅니다
그리고 html(Hypertext markup language)를 활용하여 웹을 작성하게 됩니다.

유저 입장에서는 컴퓨터를 활용하여 크롬, 익스플로어 등으로 사용할 수 있는
홈페이지 형태를 웹이라고 칭합니다

(1) webApp

그렇다면 웹앱은 어떤 걸까요?
조금 헷갈릴 수도 있지만 모바일 브라우저에서 특정 url을 타고 들어갔을 때
모바일에서 보기 좋게 구성된 홈페이지 화면을 뜻합니다

앱과 동일하게 보여지지만, 별도의 앱 다운로드 없이 앱에서 사용하는 것처럼
브라우저 화면에서도 동일하게 이용 가능한 서비스 형태를 뜻합니다

예를 들면, naver.com을 크롬에서 접속한다면 네이버 홈화면과 동일하게 뜨는 것을 확인하실 수 있어요!


🏷️ 장점

  • 웹 기반 언어를 사용하기 때문에 개발 기간이 비교적 짧고, 제작 비용이 저렴한 편이다
  • 인터넷 브라우저를 기반으로 작동되기 때문에 앱 다운로드 없이 편리하게 사용 가능하다
  • 앱 심사를 거치지 않기 때문에 업데이트 속도가 빠르다

🏷️ 단점

  • 디바이스 접근 권한이 없어 일부 기능을 사용하지 못한다 (음성 인식, 카메라 인식 등)
  • 앱 실행 대신 url 입력, 링크 클릭 등 한 번의 절차를 더 거쳐야 하기 때문에 번거롭게 느껴질 수 있다
  • 네이티브 앱에 비해 상대적 구동 속도가 느릴 수 있다


(2) hybrid App

두번째로 하이브리드 앱에 대해 알아볼게요!
개발자 입장에서 말하자면 native app이 테두리라고 가정한다면,
web 형태지만 app처럼 ui를 꾸며놓은 것을 테두리 안에 넣어 알맹이로 만드는 것을 웹앱이라고 칭합니다

유저 입장에서는 앱을 사용할 때 이것이 웹앱인지 구분할 수 없을 거에요
앱 안에서 웹 화면이 작동하고 있는 형태기 때문에, 사용하는 화면마다 고유 url이 있고,
이를 알고 있지 않는 이상 유저는 홈페이지 형태로 접근할 수 없습니다

다만, 웹 서비스와 동일하게 사용되고 있다면 반응형 기반의 웹 서비스가 존재할 수도 있겠습니다


🏷️ 장점

  • 웹 기술이 기반이 되기 때문에 모바일 API를 사용하여 디바이스의 자체 기능을 사용할 수 있다
  • 네이티브 앱에 비해 개발 비용 및 시간을 절약할 수 있다
  • 한 번 개발해두면 패키징을 바꾸는 방식으로 여러 플랫폼에 대응할 수 있다

🏷️ 단점

  • 네이티브 앱 개발 지식이 필요하다
  • 브라우저의 성능이 떨어지면 앱 구동 속도가 저하된다
  • 네이티브 앱에 비해 디자인의 자유도가 떨어진다

(3) Native App

네이티브 앱은 코틀린(Kotlin) 또는 자바(Java)이며, iOS는 스위프트(Swift) 또는 오브젝티브 C(Objective C) 언어를 사용하여 만든 앱을 말하며, 스마트폰에서 제공하는 기능을 손쉽게 사용할 수 있다는 장점을 가지고 있으며,
네이티브 앱은 자유도가 높은 반면, 개발하는데 시간과 비용이 많이 든다는 단점도 있습니다


🏷️ 장점

  • 각 운영체제에 최적화된 방식으로 만들어지므로 앱의 구동 속도가 빠르고 안정적이다
  • 높은 사양의 그래픽으로 원하는 디자인을 구현할 수 있다. (비주얼이 화려한 게임은 대부분 네이티브 방식으로 앱 개발이 이루어짐)
  • 디바이스 전체에 접근 권한을 가질 수 있기 때문에 기기 자체의 기능을 앱에 활용할 수 있다

🏷️ 단점

  • 다른 운영체제에서 호환이 되지 않기 때문에 안드로이드와 iOS 앱을 별도로 개발해야 한다
  • 다른 앱 개발 방식에 비해 제작하는 데에 비용과 시간이 많이 든다
  • 앱에 수정사항이 생기는 경우 앱 마켓의 심사를 거치고 전체 업데이트를 진행해야 한다


오늘은 각종 서비스들의 구현 방식인 앱의 종류에 대해 알아보았는데요,
개발적인 측면은 아니지만 업무를 진행하다 보면 한 번씩은 나오는 용어들이니
차이점과 장단점을 알고 계시면 서비스를 빌드하실 때 도움이 되실 것 같습니다!

profile
🌳

0개의 댓글