본문 바로가기
카테고리 없음

네이티브와 크로스 플랫폼 어플리케이션 그리고 하이브리드 앱

by klm hyeon woo 2024. 5. 6.

목차

· 네이티브 앱 (Native Application)

· 크로스 플랫폼 앱 (Cross-Platform Application)

· 하이브리드 앱

· 네이티브 · 웹 앱 · 하이브리드의 비교


웹 개발을 진행하면서 다양한 서비스를 만들면 부딪히게 되는 부분인 접근성에 대한 부분이 항상 마음에 걸립니다.

PC를 자주 사용하는 사용자라면 웹 페이지를 통한 서비스에 자주 접근을 할 수 있지만, 이동을 하며 서비스에 접근하기에는 매우 불편한 구조를 가지고 있습니다. 또한 웹 자체에서 알림을 모바일 환경처럼 부드럽게 제공을 할 수 없기 때문에 알림에 대한 제약 사항도 분명 존재합니다. 리액트와 뷰의 기술 스택으로 개발을 진행하고 있기 때문에 크로스 플랫폼 개발 공부를 진행하면서, 각각 관련된 자료들을 미리 공부해보고 어떠한 차이점을 가지고 있는지 알아보고자 합니다 👋🏻

네이티브 앱 (Native Application)

네이티브 어플리케이션은 모바일 기기에 최적화되어 있는 모바일 앱으로, 안드로이드와 iOS와 같은 각 플랫폼에 특정 프로그래밍 언어를 사용하여 만들어진 앱을 의미합니다. 안드로이드 앱의 경우 코틀린(Kotlin)과 자바(Java) 프로그래밍 언어를 활용하여 Google에서 제공하는 안드로이드 SDK를 이용하여 개발하고, iOS의 경우 스위프트(Swift)와 Objective-C 언어로 애플에서 제공하는 iOS SDK를 이용하여 네이티브 앱 개발이 가능합니다.

* SDK (Software Development Kit)
SDK는 소프트웨어 개발자가 소프트웨어를 만들기 위한 도구 모음을 의미합니다.
프로그래머는 SDK를 사용하여 특정 플랫폼용 앱을 개발할 수 있습니다.
예를 들어, 안드로이드 SDK를 다운로드하면 개발자는 안드로이드 앱을 만드는데 필요한 모든 도구를 제공받을 수 있습니다.

네이티브 앱의 장점

네이티브 앱은 안드로이드와 iOS 각 모바일 OS 기반의 API로 개발하는 앱을 의미합니다.

속도가 빠르고 안정적이며, 다양한 퍼포먼스를 구현할 수 있어 사용자 경험의 질을 높이는데 유리합니다.

모바일 OS에서 제공하는 기능인 블루투스, 위치기반 서비스, 앱 결제 등에 자유롭게 접근이 가능하고, 디바이스 전체에 액세스할 수 있어 주소록, 캘린더 등의 고유 정보도 활용을 할 수 있습니다.

네이티브 앱의 단점

네이티브 앱은 안드로이드와 iOS의 호환이 불가능하여 앱을 각각 따로 제작해야해서 개발 비용이나 시간이 2배로 소요됩니다.

유지 보수 또한 2배로 소요됩니다. 또, 수정이나 업데이트가 있는 경우 변경 후 각 앱 스토어의 심사를 통과해야하기 때문에 늦게 반영이 될 수 있습니다.

크로스 플랫폼 앱 (Cross-Platform Application)

크로스 플랫폼 앱은 한 가지의 개발 언어와 프레임워크로 안드로이드, iOS 네이티브 앱을 만드는 개발 방식입니다.

네이티브 코드가 아닌 다른 개발 언어로 코드를 작성 후 각각의 OS가 이해할 수 있는 코드로 컴파일 한 후, 각각의 OS의 엔진으로 실행하는 방식입니다. 대표적으로는 현재 플러터(Flutter)와 리액트 네이티브(React Native), 자마린(Xamarin) 등이 있습니다.

크로스 플랫폼 앱의 장점

네이티브 앱으로 안드로이드와 iOS 앱을 개발하기 위해서는 각각의 스펙에 맞는 개발자 TO가 필요합니다. 비용과 시간 또한 2배로 소요됩니다. 반면 크로스 플랫폼 앱의 경우 한 가지의 코드로 2가지 플랫폼 앱을 모두 개발할 수 있다는 점에서 개발 시간과 비용을 줄일 수 있습니다.

크로스 플랫폼 앱의 단점

기존 네이티브 앱이 가지고 있는 동적인 요소의 퍼포먼스를 100% 구현할 수 없는 단점을 가지고 있습니다. 일반적으로 네이티브 앱에 비해 성능이 떨어져 느린 경우가 있고, 라이브러리가 다양하지 않아 기능 구현이 어렵기도 합니다. 뿐만 아니라 안드로이드와 iOS OS에 새로운 기능이 추가되면 네이티브 앱은 즉시 사용 및 업데이트가 가능하지만, 크로스 플랫폼 앱은 사용에 있어 업데이트 지연이 발생할 수 있습니다. 이를테면 OS에서 새롭게 API를 업데이트하였다면, 크로스 플랫폼에서 지원해줄 때까지 즉시 사용할 수 없다는 단점과, 디버깅이 까다롭다는 단점도 예를 들 수 있습니다.

하이브리드 앱 (네이티브 앱 + 웹앱)

하이브리드 앱은 네이티브 앱의 장점과 웹 앱의 장점을 조합한 방식입니다. 네이티브 또는 크로스 플랫폼으로 앱을 만들지만 화면을 일일이 직접 개발하지 않고, 브라우저 역할을 하는 부분에만 웹 뷰를 띄우는 방식입니다. 웹 뷰는 지정된 웹 주소로 접속해서 웹앱 형태로 개발된 웹 사이트를 화면에 보여줍니다.

하이브리드 앱의 장점

하이브리드 앱의 경우 서비스 업데이트 시에 웹 배포만을 하면 되기 때문에, 앱 배포에 수일이 걸리는 것과 반대로 서비스 배포가 빠릅니다. 앱과 거의 유사한 UI와 UX를 구현할 수 있으며, 네이티브의 기능 활용이 필요한 경우 브릿지 함수 개발을 통해 네이티브 기능을 활용할 수 있습니다.

하이브리드 앱의 단점

하이브리드 앱에서도 네이티브 앱을 사용하기 때문에, 완전 네이티브 앱보다는 비중은 작지만 네이티브 개발을 할 수 있는 개발자 인력을 필요로 합니다. 브라우저의 성능이 떨어지면 앱 자체의 구동 속도도 저하가 됩니다. 그리고 네이티브 앱에 비해 디자인 자유도가 떨어집니다.

네이티브 · 웹 앱 · 하이브리드의 비교 

* 생산성 : 웹 앱 > 하이브리드 앱 > 네이티브 앱
* 성능 및 디자인 : 네이티브 앱 > 하이브리드 앱 > 웹 앱

레퍼런스

 

네이티브 앱 vs 크로스 플랫폼 앱 - 인프런 | 스토리

네이티브 앱 vs 크로스 플랫폼 앱#Kotlin #Swift #Flutter #Dart [사진] 조사에 따르면, 우리나라 20대는 한 달 동안 평균 1인당 40개의 앱을 사용하고, 월 평균 앱 사용시간은 약 150시간이라고 합니다. 카

www.inflearn.com

 

앱의 종류 : 네이티브 앱 vs 크로스 플랫폼 앱 vs 하이브리드 앱

우리가 스마트폰에서 사용하는 앱은 모두 비슷해 보이지만, 모바일 애플리케이션을 만드는 방법에는 여러 종류가 있다. 그 중 대표적인 3가지 방법이 '네이티브 앱', '크로스 플랫폼 앱', '하이브

velog.io

 

토스나 당근마켓 카카오 전부 어플인데 왜 웹 개발자가 많이 필요한건가요?

개발자를 준비중인 학부생입니다. 공부하면서 갑자기 궁금해 졌는데 네카라쿠배당토중 웹이 많이 쓰이는건 네이버 정도고 나머지는 거의 어플을 통해 사용하는데 어째서 안...

careerly.co.kr

 

앱의 종류 : 네이티브 앱 vs 웹 앱 vs 하이브리드 앱

우리는 하루에도 수십 개씩 다양한 애플리케이션을 사용합니다. 앱을 설치한 뒤 버튼을 터치하고 여러 과정을 거치지만 사용자에겐 대부분의 앱들의 화면 구성이나 구동 방식이 비슷하게 느껴

blog.hectodata.co.kr

 

웹앱 vs. 하이브리드앱 vs. 네이티브앱

웹앱 쉽게 말해 웹페이지를 스마트폰 화면 크기로 줄인 것입니다. 저렴한 비용으로 짧은 기간 내에 개발이 ...

blog.naver.com

 

댓글