네이티브와 크로스 플랫폼이라는 용어는 안드로이드와 iOS를 비롯한 모바일 진영에 국한되지 않습니다.
소프트웨어를 운영체제별로 개발하는 기술을 네이티브, 여러 운영체제에서 동작할 수 있는 앱을 한 번에 프로그래밍하는 기술을 크로스 플랫폼이라고 합니다.
네이티브 앱(Native Application)이란 ?
네이티브 앱은 모바일 기기에 최적화되어 있는 모바일 앱으로, 안드로이드와 iOS와 같은 각 플랫폼에 특정 프로그래밍 언어를 사용하여 만들어진 앱이라고 한다.
안드로이드 앱의 경우 코틀린과 자바 언어를 활용하여 Goolge에서 제공하는 안드로이드 SDK를 이용하여 개발하고, iOS의 경우 스위프트와 Objective-C 언어로 애플에서 제공하는 iOS SDK를 이용하여 개발이 가능하다.
* 네이티브 앱은 컴퓨터로 접속이 불가능합니다.
요약 :
운영체제에 맞는 앱을 개발하는 방법을 네이티브 앱 개발이라고 합니다.
장점
네이티브 앱은 안드로이드와 iOS 각 모바일 OS 기반의 API로 개발하는 앱을 말하는 것으로 속도가 빠르고 안정적이며
다양한 퍼포먼스를 구현할 수 있어 사용자 경험의 질을 높이는 데 유리하다.
모바일 OS에서 제공하는 기능인 블루투스, 위치기반 서비스, 앱 결제 등에 자유롭게 접근이 가능하고, 디바이스 전체에 액세스 할 수 있어 주소록, 캘린더 등의 고유 정보도 활용 가능하다.
단점
네이티브 앱은 안드로이드와 iOS의 호환이 불가능하여 앱을 각각 따로 제작해야됨
유지 보수,개발 비용, 시간 등등 2배로 소요되며 수정이나 업데이트가 있을때 변경 후 각 앱 스토어의 심사를 통과해야 해서 늦게 반영될 수 있다.
크로스 플랫폼 앱(Cross-Platform Application)이란 ?
크로스 플랫폼 앱은 한 가지의 개발 언어와 프레임워크로 안드로이드, iOS 네이티브 앱을 만드는 개발 방식입니다. 네이티브 코드가 아닌 다른 개발 언어로 코드를 작성 후 각각의 OS가 이해할 수 있는 코드로 컴파일 한 후, 각각의 OS의 엔진으로 실행하는 방식이다.
대표적으로는 플러터 그리고 리액트 네이티브,자마린이 있다.
*대표적인 크로스 플랫폼 앱으로는 에어비앤비와 페이스북, 인스타그램이 있습니다.
요약 :
크로스 플랫폼은 같은 소스 코드로 안드로이드 버전과 iOS 버전에서 모두 작동할 수 있는 앱을 만드는 개발 도구
장점
크로스 플랫폼 앱은 네이티브 앱과 다르게 한 가지의 코드로 2가지 플랫폼 앱을 모두 개발할 수 있다는 점에서, 개발 시간과 비용을 줄일 수 있다.
※ 내가 사용해본 크로스 플랫폼 앱으로 Flutter가 있는데 미리 만들어진 위젯 라이브러리를 사용하여 빠르게 만들 수 있어 서 편했고 시각적으로도 매력적인 UI 요소들을 만들 수 있었던거 같다.
그리고 바로 옆에서 실시간으로 코딩 변경 사항을 볼 수 있는 핫 리로드 기능도 있어서 편했었다.
단점
각 운영체제에 특화된 방식으로 제작된 ‘순정’ 프로그램은 아니기 때문에 프레임워크마다 정도의 차이는 있지만, 네이티브 앱에 비해 성능을 100% 끌어올릴 수 없고 기기의 활용도 떨어집니다.
예를 들어 기존 네이티브 앱이 가지고 있는 동적인 요소 퍼포먼스를 100% 구현할 수 없으며 일반적으로 네이티브 앱에 비해 성능이 떨어져 느린 경우도 있고, 라이브러리가 다양하지않아 기능 구현이 어렵다고 한다.
또한 앱의 주요 기능을 업데이트할 때마다 양쪽 앱 마켓의 심사를 거쳐야 한다는 단점 역시 여전히 존재합니다.
※ 이러한 특성 때문에 크로스 플랫폼 프레임워크는 주로 한정된 자원을 가진 기기에서 비교적 단순한 기능으로 이뤄진 앱을 제작하는 데 사용합니다.
예를 들어 스케줄 관리 앱이나 쇼핑앱, 사진 보정 앱과 같이 캘린더, 카메라 등 스마트폰의기본 기능들을 활용하면서도 높은 성능을 요구하지 않는 앱을 개발하기에 적합합니다.
'App' 카테고리의 다른 글
Hilt (1) | 2024.02.15 |
---|---|
클린 아키텍처 (0) | 2024.02.14 |
디자인 패턴 (1) | 2023.12.17 |
firebase(파이어베이스)란? (1) | 2023.12.17 |
Life Cycle(Android Activity Lifecycle) (1) | 2023.12.15 |