lala9663
Bump into
lala9663
전체 방문자
오늘
어제
  • 분류 전체보기 (158)
    • JavaScript (1)
    • Java (39)
    • Spring (28)
    • IntelliJ (7)
    • Git,Github (2)
    • CS (22)
    • Algorithm (23)
      • Algorithm 문제 (13)
    • 공부방 (9)
    • 그 외 (27)
      • TIL (24)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준 벌집
  • servlet
  • 백준 2292
  • 웹 3.0
  • try-catch
  • 웹서버
  • 백준
  • 자바 람다
  • 자바
  • Java
  • 동적
  • Get
  • was
  • jsp
  • Post
  • Til
  • 1193
  • Intellij
  • Spring
  • 스트림(Stream)
  • thread
  • 정적

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
lala9663

Bump into

공부방

앱의 종류(웹 앱, 네이티브 앱, 하이브리드 앱)

2023. 6. 15. 19:36

차이점

애플리케이션은 고객과 정보를 교환하고 고객의 특정 작업을 완료하도록 돕는 소프트웨어이다. 개발 방법과 내부 기능에 따라 다양한 유형의 애플리케이션(또는 앱)이 있다. 웹 앱은 인터넷 브라우저를 통해 제공된다. 사용자는 디바이스에 웹 앱을 설치할 필요가 없다. 반면 네이티브 앱은 특정 플랫폼이나 디아이스 유형에 맞춰 구축된다. 사용자는 원하는 디바이스에 적절한 소프트웨어버전을 설치해야 한다. 하이브리드 앱은 웹 브라우저가 내부에 포함된 네이티브 애플리케이션이다.

그럼 조금 더 자세히 각 앱에 대해 자세히 알아보자

웹 앱 - 웹 브라우저에서 실행되는 애플리케이션




웹 앱은 웹 브라우저를 통해 접근하고 실행되는 애플리케이션이다. HTML, CSS, JavaScript와 같은 웹 기술을 사용하여 개발되며, 여러 플랫폼에서도 동작할 수 있다. 웹 앱은 사용자가 인터넷에 연결된 장치의 웹 브라우저를 통해 액세스하고, 서버와의 통신을 통해 동적인 콘텐츠를 제공한다. 웹 앱은 설치 없이 간편하게 이용할 수 있으며, 크로스 플랫폼 호환성이 뛰어나기 때문에 개발 및 배포가 비교적 간단하다.

장점

  • 크로스 플랫폼 호화성: 웹 앱은 여러 플랫폼에서 동작할 수 있다.
  • 설치 없는 이용: 웹 브라우저를 통해 즉시 액세스 할 수 있다.
  • 업데이트 용이성: 서버에서 애플리케이션을 업데이트하면 사용자는 새로운 버전을 바로 이용할 수 있다.
  • 표준 웹 언어로 만들 수 있기 때문에 상대적으로 제작 비용이 저렵하고 개발 기간도 짧은 편이다.

한계

  • 오프라인 이용 제한: 인터넷에 연결되어 있어야만 이용할 수 있다.
  • 성능 제약: 네이티브 앱에 비해 성능이 제한될 수 있다.
  • 풍부한 기기 기능 접근 제한: 웹 브라우저 API의 제한으로 인해 모든 기기 기능에 접근하기 어려울 수 있다.
  • 디바이스에 접근 권한이 없기 때문에 카메라나 음성 인식 등의 기능을 활용할 수 없다.
  • 네이티브 앱에 비해 상대적으로 구동 속도가 느리고 안정성도 떨어진다.

네이티브 앱 - 플랫폼에 특화된 애플리케이션






네이티브 앱은 특정 플랫폼에 최적화된 방식으로 개발된 애플리케이션이다. 각 플랫폼(Android, iOS 등)에서 사용되는 고유한 언어(Java, Kotlin, Swift, Objective-C 등)와 개발 도구를 활용하여 개발된다. 네이티브 앱은 플랫폼의 기능과 성능을 최대한 활용할 수 있으며, 뛰어난 성능과 사용자 경험을 제공할 수 있다. 하지만 특정 플랫폼에 종속되기 때문에 개발 비용과 시간이 증가할 수 있다.

장점

  • 최적화된 성능: 플랫폼에 특화된 개발 방식으로 뛰어난 성능을 제공한다.
  • 전체 기기 기능 접근: 네이티브 API를 통해 모든 기기 기능에 접근할 수 있다.
  • 풍부한 사용자 경험: 각 플랫폼의 UI 요소와 디자인 가이드라인을 활용하여 풍부한 사용자 경험을 제공다.
  • 각 운영체제에 최적화된 방식으로 만들어지므로 앱의 구동 속도가 빠르고 안정적이다.
  • 높은 사양의 그래픽으로 원하는 디자인을 구현할 수 있다.(비주얼이 화려한 게임은 대부분 네이티브 방식으로 앱 개발이 이루어짐)
  • 디바이스 전체에 접근 권한을 가질 수 있기 때문에 기기 자체의 기능을 앱에 활용할 수 있다.

한계

  • 플랫폼 종속성: 각 플랫폼마다 별도의 개발이 필요하므로 개발 비용과 시간이 증가할 수 있다.
  • 업데이트 관리: 앱 업데이트를 위해 사용자의 앱 스토어에서 다운로드 및 설치해야 한다.
  • 앱에 수정사항이 생기는 경우 앱 마켓의 심사를 거치고 전체 업데이트를 진행해야 한다.

하이브리드 앱 - 웹 기술과 네이티브 기술의 접목




하이브리드 앱은 웹 기술과 네이티브 기술을 결합하여 개발된 애플리케이션이다. 웹 기술인 HTML, CSS, JavaScript를 활용하여 UI 및 애플리케이션의 일부 기능을 개발하고, 네이티브 앱을 실행하는 웹뷰(WebView)를 이용하여 애플리케이션을 패키징한다. 하이브리드 앱은 웹 기술의 장점과 네이티브 앱의 기능 접근성을 결합하여, 다양한 플랫포멩서 일관된 사용자 경험을 제공할 수 있다. 하지만 웹뷰를 통해 동작하기 때문에 선응이 웹 앱에 비해 상대적으로 떨어질 수 있다.




동시간에 다음 앱과 다음 웹 사이트의 쇼핑 탭에 노출되는 상품의 정보와 참여인원이 동일하다. 앱에서 웹페이지 화면을 불러오기 때문에 같은 것이다.

장점

  • 크로스 플랫폼 개발: 웹 기술을 활용하여 여러 플랫폼에서 동작할 수 있다.
  • 웹 개발자의 활용: 웹 기술에 익숙한 개발자가 비교적 쉽게 애플리케이션을 개발할 수 있다.
  • 일관된 UI: 웹 기술을 사용하므로 여러 플랫폼에서 일관된 UI를 제공할 수 있다.
  • 한 번 개발해두면 패키징을 바꾸는 방식으로 여러 플랫폼에 대응할 수 있다.
  • 네이티브 앱에 비해 개발 비용 및 시간을 절약할 수 있다.
  • 웹 기술을 기반으로 제작되지만, 모바일 API도 사용할 수 있으므로 디바이스의 자체 기능을 활용할 수 있다.

한계

  • 성능 이슈: 웹뷰를 통해 동작하므로 네이티브 앱에 비해 성능이 제한될 수 있다.
  • 특정 기능 접근 제한: 웹 기술로는 모든 기기 기능에 접근하기 어렵다.
  • 플랫폼 제한: 하이브리드 앱도 특정 플랫폼에 종속될 수 있다.
  • 네이티브 앱 개발 지식도 필요하다.
  • 브라우저의 성능이 떨어지면 앱 구동 속도가 저하된다.
  • 네이티브 앱에 비해 디자인의 자유도가 떨어진다.

비교


네이티브 앱

  • 편의정, 기능이 중요한 앱 -게임 앱/ 지도, 교통 앱(카카오맵, 네이버지도, 지하철 종결자)/ 카메라 기능 위주 앱(인스타그랩, 틱톡, 스노우)
  • 편의성, 보안이 중요한 앱 - 은행, 카드 앱
  • 잦은 업데이트가 필요하지 않은 앱 - 멤버십 앱(스타벅스, T멤버십)

하이브리드 앱

  • 신규 콘텐츠를 노출해야 하는 앱 - 포털 앱(네이버, 구글, 다음)/ 쇼핑몰 앱(11번가, 쿠팡, 개인 쇼핑몰 등)





[자료 출처]

  • Amzon
  • 앱의 종류 https://blog.hectodata.co.kr/app_kinds/
  • 알아두면 도움되는 앱종류

'공부방' 카테고리의 다른 글

LLM 과 임베딩  (1) 2024.08.26
[소프트웨어 아키텍처] 레이어드 아키텍처  (0) 2023.08.15
웹 3.0 이 뭘까?  (0) 2023.06.12
Copilot 과 유사한 기능을 하는 CodeWhishperer  (0) 2023.05.08
[리뷰] 객체지향의 사실과 오해  (0) 2023.05.07
    '공부방' 카테고리의 다른 글
    • LLM 과 임베딩
    • [소프트웨어 아키텍처] 레이어드 아키텍처
    • 웹 3.0 이 뭘까?
    • Copilot 과 유사한 기능을 하는 CodeWhishperer
    lala9663
    lala9663
    초보의 험난한 공부

    티스토리툴바