JJANG-JOON
article thumbnail
반응형

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

네이티브 앱

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

네이티브 앱(Native app)은 모바일 기기나 컴퓨터의 특정 플랫폼에 최적화된 애플리케이션이다. 네이티브 앱은 특정 운영체제(OS)에 직접 설치되어 실행되며, 해당 플랫폼의 기능과 성능을 최대한 활용할 수 있다.

 

해당 운영체제가 허용하는 모든 자원과 기능들을 직접 활용할 수 있다. 즉, 스마트폰의 내장 카메라, 센서, 파일 시스템 등과 같이 깊숙한 부분들도 접근 및 활용이 가능하다는 말이다.

예를 들어, iOS 운영체제를 사용하는 아이폰에서 실행되는 앱은 iOS 운영체제에 최적화된 네이티브 앱이다. 마찬가지로, 안드로이드 운영체제를 사용하는 스마트폰에서 실행되는 앱은 안드로이드 운영체제에 최적화된 네이티브 앱이다.

네이티브 앱은 해당 플랫폼의 프로그래밍 언어로 개발되며, 플랫폼별로 다른 개발 도구와 API(Application Programming Interface)를 사용하여 구축된다. 이러한 특성으로 인해 네이티브 앱은 높은 성능, 빠른 속도, 풍부한 기능과 사용자 경험을 제공할 수 있다.

단점으로는, 네이티브 앱은 특정 플랫폼에 종속되어 있다는 점과 개발 비용이 높을 수 있다는 점이 있으며 다른 플랫폼으로 이식하기 위해서는 새로운 앱을 개발해야 할 수도 있다.

 

예) 계산기, 노트 등 폰에 기본적으로 내장되어있는 앱들, 대부분의 게임

 

 

 

 

 

 

 

 

 

 

 

 

 

웹 앱

 

 

 

 

 

 

 

 

 

 

 

 

웹 앱(Web app)은 웹 브라우저를 통해 액세스하고 사용할 수 있는 애플리케이션이다. 웹 앱은 웹 기술을 사용하여 개발되며, 사용자가 인터넷에 연결된 장치를 통해 접근할 수 있다.

일반적으로 웹 앱은 사용자가 웹 브라우저를 통해 URL을 입력하거나 링크를 클릭하여 접속할 수 있다. 웹 앱은 서버에서 데이터를 가져와 동적으로 콘텐츠를 생성하고, 사용자와 상호작용할 수 있는 기능을 제공한다. 예를 들어, 이메일, 소셜 미디어, 온라인 쇼핑, 은행 서비스 등이 웹 앱의 예시이다.

웹 앱은 다양한 플랫폼에서 동작할 수 있으며, 운영 체제나 기기에 독립적이다. 또한, 웹 앱은 사용자가 앱을 설치하거나 업데이트할 필요 없이 웹 브라우저를 통해 최신 버전으로 사용할 수 있어 편리하다.

웹 앱은 다양한 웹 기술과 프로그래밍 언어를 사용하여 개발될 수 있으며, HTML, CSS, JavaScript가 가장 일반적인 기술이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

하이브리드 앱

 

 

 

 

 

 

 

 

하이브리드 앱(Hybrid App)은 네이티브 앱과 웹 앱의 특징을 결합한 앱이다. 즉, 하이브리드 앱은 웹 기술로 개발된 앱을 네이티브 앱으로 포장하여 만들어진 앱이다. 하이브리드 앱은 HTML, CSS, JavaScript 등의 웹 기술을 사용하여 개발되며, 이를 네이티브 앱으로 변환하기 위해 특별한 프레임워크나 툴을 사용한다.

 

하이브리드 앱은 네이티브 앱 형태로 만들되 그 안에 웹사이트를 띄울 수 있는 브라우저 창을 두는 앱을 의미한다. 조금 더 구체적으로는, 안드로이드나 iOS 전용으로 스토어에 올릴 수 있는 네이티브 앱을 만드는데 그 안에 크롬이나 사파리처럼 웹사이트를 보여줄 수 있는 창을 하나 삽입하는 것이다. 이 창을 보통 웹뷰(Webview)라고 부른다. 그래서 사용자는 이러한 앱을 실행하면 자동으로 그 웹뷰를 통해 해당 웹사이트에 접속하게 된다.

하이브리드 앱은 네이티브 앱과 웹 앱의 장점을 모두 갖추고 있다. 즉, 네이티브 앱과 같이 앱 스토어에서 다운로드 받아 설치하여 사용할 수 있으며, 웹 앱과 같이 하나의 코드로 모든 플랫폼에서 실행할 수 있다. 또한, 하이브리드 앱은 네이티브 앱보다 상대적으로 저렴하게 개발할 수 있으며, 웹 기술로 개발하기 때문에 개발이 비교적 빠르게 이루어진다.

하지만 하이브리드 앱은 네이티브 앱에 비해 성능이 떨어지는 경우가 있으며, 특정 기능을 구현하기 어려울 수도 있다. 또한, 하이브리드 앱이 네이티브 앱처럼 완벽하게 하드웨어와 소프트웨어에 최적화되어 작동하는 것은 아니기 때문에, 사용자 경험 측면에서 다소 불편함을 느끼는 경우가 있을 수 있다.

 

예) 인스타그램, Gmail, 금융기관 앱 등

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

크로스 플랫폼 앱

 

 

 

 

 

 

 

 

 

 

 

크로스 플랫폼 앱(Cross-platform app)은 여러 플랫폼에서 동작하는 앱을 의미한다. 즉, 하나의 코드베이스를 사용하여 다양한 운영 체제(OS)나 플랫폼에서 실행될 수 있는 앱을 개발하는 것을 말한다.

크로스 플랫폼 앱은 다양한 개발 도구나 프레임워크를 활용하여 개발할 수 있다. 이러한 개발 도구나 프레임워크는 앱을 여러 플랫폼에 쉽게 이식하고 호환성을 유지할 수 있도록 도와준다. 몇 가지 예시로는 React Native, Flutter, Xamarin 등이 있다.

크로스 플랫폼 앱의 장점은 개발 시간과 비용을 절감할 수 있다는 점이다. 하나의 코드베이스로 여러 플랫폼을 대상으로 앱을 개발할 수 있기 때문에 개발 과정이 간소화되고, 유지보수 비용도 줄일 수 있다.

하지만 크로스 플랫폼 앱은 특정 플랫폼에 최적화된 네이티브 앱보다 성능이 약간 떨어질 수 있으며, 모든 플랫폼의 기능을 완벽하게 활용할 수 없는 경우도 있을 수 있다. 따라서 개발자는 앱의 요구사항과 목표를 고려하여 적합한 개발 방식을 선택해야 한다.

 

 

 

 

 

 

 

 

 

 

 

PWA ( progressive web application )

 

 

 

프로그레시브 웹 애플리케이션(Progressive Web Application, PWA)은 웹과 네이티브 앱의 기능을 결합한 형태의 웹 앱이다. PWA는 웹 기술을 사용하여 개발되며, 사용자가 웹 브라우저를 통해 액세스할 수 있다.

PWA는 웹 앱과 유사하게 웹 브라우저에서 실행되지만, 사용자 경험과 기능 면에서 네이티브 앱과 유사한 경험을 제공한다. PWA는 오프라인 상황에서도 작동할 수 있고, 푸시 알림을 지원하며, 홈 화면에 아이콘을 추가하여 바로 액세스할 수 있도록 한다. 또한, PWA는 반응형 디자인과 함께 사용자 친화적인 인터페이스를 제공한다.

PWA의 주요 특징 중 하나는 서비스 워커(Service Worker)라는 기술이다. 서비스 워커는 웹 앱과 브라우저 사이에서 동작하는 중간 계층으로, 오프라인 캐싱, 백그라운드 동기화, 푸시 알림 등을 가능하게 한다.

PWA는 사용자가 앱 스토어를 통해 설치할 필요 없이, URL을 통해 즉시 액세스할 수 있으며, 여러 플랫폼에서 동작할 수 있다. 또한, 개발 비용이 상대적으로 저렴하고 유지보수가 용이하며, 배포 과정이 간편하다.

PWA는 각 플랫폼에 최적화된 사용자 경험을 기반으로 하며, PWA만을 위한 언어나 프레임워크 또는 PWA만을 위한 전문 개발자도 필요가 없다. 리액트(React)나 앵귤러(Angular)만 있으면 만들 수 있다.

요약하자면, PWA는 웹 앱과 네이티브 앱의 장점을 결합하여 사용자에게 풍부한 경험을 제공하는 형태의 웹 앱이다.

 

 

장점

  • 서비스 워커(Service Worker)를 사용하여 오프라인이나 느린 네트워크에서도 작동
  • 서비스 워커 업데이트 덕분에 항상 최신의 상태로 유지
  • HTTPS를 통해 제공되므로 안전성 확보
  • 다양한 플랫폼에서 실행 가능
  • 네이티브 앱보다 훨씬 저렴하고 빠르게 개발
  • 다양한 화면 크기 수용 – 훌륭한 반응형(데스크톱, 모바일, 태블릿 등 모든 폼 팩터에 맞음)
  • 네이티브 앱과 비슷하기 때문에 사용하는데 어려움이 없음
  • 참을성 있게 설치해야 할 인스톨 단계가 없음
  • 검색 엔진에서 검색이 가능

단점

  • 오래된 브라우저들은 PWA를 지원하지 않음
  • iOS에서는 성능이 약하고 애플의 장치에 대한 지원이 적음
  • 앱 스토어에서는 사용할 수 없으므로 마케팅 효과 떨어짐
  • 배터리 전력 소모가 큼

 

언제 유용한가?

  • 기본 앱의 기능이 있는 다중 플랫폼 앱 필요
  • 많은 사용자들이 다양한 채널을 통해 동시 접속할 때도 동일한 서비스를 제공하고자 할 때
  • 강력한 전자 상거래 서비스를 제공할 때

 

오프라인 상태에서도 동작할 수 있으며, 푸시 알림 등의 기능을 제공합니다. 몇 가지 PWA의 예시는 다음과 같다:

1. 트위터 Lite: 트위터 Lite는 PWA로 개발된 트위터의 경량 버전입니다. 모바일 기기에서 웹 브라우저를 통해 액세스할 수 있으며, 오프라인 상태에서도 사용할 수 있다.

2. 스타벅스: 스타벅스는 PWA로 개발된 커피 전문점의 모바일 앱입니다. 사용자는 웹 브라우저를 통해 주문, 결제, 리워드 프로그램 등의 기능을 이용할 수 있다.

3. 안전한 음식점: 안전한 음식점은 코로나19 예방을 위한 QR 코드 방문 기록부를 제공하는 PWA입니다. 사용자는 웹 브라우저를 통해 음식점의 QR 코드를 스캔하여 방문 기록을 남길 수 있다.

4. AliExpress: AliExpress는 PWA로 개발된 온라인 쇼핑몰 앱이다. 사용자는 웹 브라우저에서 상품을 검색하고 구매할 수 있으며, 푸시 알림 등의 기능을 제공한다.

5. Pinterest: Pinterest는 PWA로 개발된 이미지 공유 및 검색 앱이다. 사용자는 웹 브라우저에서 다양한 주제의 이미지를 검색하고 저장할 수 있으며, 오프라인 상태에서도 이미지를 볼 수 있다.

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'모바일' 카테고리의 다른 글

[모바일] 앱 보안 솔루션 종류와 필수 지식  (0) 2024.03.19
[모바일] frida ? 알아볼게요  (0) 2023.09.19
profile

JJANG-JOON

@JJANG-JOON

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...