본문 바로가기

[CS] 모바일 앱의 4가지 구분

안자매 2022. 8. 31.
반응형

 

개인적으로 공부하면서 기록하는 공간으로
잘못된 정보는 댓글을 통해 알려주시면 감사하겠습니다 :-)

* * * * *

 

어플리케이션을 사용하다보면 어떤게 네이티브인지 어떤게 하이브리드인지,

어디까지가 모바일 웹인지 어디까지가 웹앱인지 잘 모르는 경우가 많아요

이번 기회에 확실하게 짚고 넘어가보고자 합니다 !

 

 

모바일 앱의 종류

 

모바일 앱은 개발 방법이나 실행 방법에 따라 네 가지의 애플리케이션으로 구분할 수 있다.

- 네이티브 앱 (Native App)

- 하이브리드 앱 (Hybrid App)

- 웹 앱 (Web App)

- 모바일 웹 (Mobile Web)

 


네이티브 앱 (Native App)

안드로이드 SDK를 이용해 Java 또는 Kotlin으로 개발하거나, iOS SDK를 이용해 Swift 또는 Object C언어로 개발한다. 각 운영체제에 최적화된 개발이 가능하여 기능과 속도 측면에서 우수하다.

 

장점

  • 성능이 웹앱, 하이브리드 앱에 비해 가장 높음
  • 사용자에게 가장 빠르고 안정적이며 반응이 빠른 환경을 제공
  • 다양한 네이티브 기능 쉽게 활용 가능

단점

  • 네이티브 앱은 Android와 iOS의 호환이 되지 않아 모바일 운영체제에 따라 별도 개발과 관리가 필요

 

최근 Google의 Flutter와 Facebook의 React Native와 같은 크로스 플랫폼 프레임워크(Cross-platform frameworks)의 인기가 증가하고 있다. 크로스 플랫폼 프레임워크의 경우 소스코드는 하나로 관리하고 두 개의 OS에 모두 배포할 수 있어 효율적이다.

 


 

하이브리드 앱 (Hybrid App)

하이브리드 앱은 네이티브앱과 웹 앱의 기능을 결합한 앱으로, 네이티브 앱에 웹 앱을 실행시키는 것이 보편적이다. 

앱의 기반이 되는 콘텐츠 영역은 HTML 기반의 웹 앱으로 제작하고, 최종 앱 배포에 필요한 패키징 처리만 플랫폼 안에서 처리한다. 즉, 하이브리드 앱은 겉으로는 일반 앱으로 보이지만 실제로는 웹을 기반으로 한다.

 

장점

  • 웹 개발 기술로 앱 개발 가능
  • 네이티브 API와 브라우저 API를 모두 이용 가능해 다양한 개발 가능
  • 한 번의 개발로 다수의 플랫폼 대응 가능
  • 유지보수가 편하고 업데이트가 발생할때마다 앱을 다시 다운받을 필요가 없음
  • 앱 용량이 비교적 가벼움

단점

  • 네트워크 환경과 웹사이트의 용량에 따라 속도가 느려질 수 있음
  • 네이티브 기능에 접근하기 위해선 네이티브 개발지식이 필요

 


 

웹 앱 (Web App), 모바일 웹 (Mobile Web)

모바일 웹웹 앱은 웹 개발과 동일하게 만들어져 모바일 운영체제 별로 개발할 필요가 없어 시간과 비용 측면에서 효율적이다. 모바일 웹과 웹 앱은 실행 방법에서 차이가 발생한다.

 

  • 모바일 웹 👉🏻 풀 브라우저 방식 (Full Browsing)
  • 웹 앱 👉🏻 단일 페이지 방식 (SPA, Single Page Application)

 

풀 브라우저 방식 (Full Browsing)

화면 일부분이 변경될 때 화면 전체 내용을 서버에서 새로 받아오는 방식이다. 따라서 페이지 리로드(Page Reload) 할 경우 속도가 느리다는 단점이 있으며 모바일 기기 특성 상 이동 중에 서버 접속 장애가 발생할 위험이 있다.

 

단일 페이지 방식 (SPA, Single Page Application)

브라우저 최초 한 번 페이지 전체를 받아오고, 화면 일부분이 변경, 요청될 때 해당 부분만 Ajax를 통해 데이터를 바인딩하는 방식이다.

 

장점

  • 운영체제 별로 개발할 필요가 없어 비용과 시간 절감
  • 앱 심사과정 불필요

단점

  • 디바이스 접근 권한 제한 (센서, 카메라 기능 등)
  • 웹 브라우저에서 검색 또는 URL로 접근해야함

 

 

Reference 

http://uxstory.co.kr/blog/2018/08/10/app_list/

https://m.blog.naver.com/acornedu/221012420292

https://brunch.co.kr/@rlatjrwn9086/61

 

 

 

 

댓글