크로스 플랫폼 앱 개발

JunHo Lee·2023년 9월 9일
1

React Native

목록 보기
2/5
post-thumbnail

크로스 플랫폼 개발이란

네이티브 앱

기본 설명

  • 모바일 기기에 최적화되어 있는 모바일 앱

  • 안드로이드와 iOS와 같은 각 플랫폼에 특정 프로그래밍 언어를 사용하여 만들어진 앱

장점

  • 속도가 빠르고 안정적인 데다, 다양한 퍼포먼스를 구현할 수 있음

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

단점

  • 안드로이드와 iOS의 호환이 불가능하여 앱을 각각 따로 제작해야 해서 개발 비용이나 시간이 2배로 소요

  • 유지 보수 또한 2배

  • 수정이나 업데이트가 있는 경우, 변경 후 각 앱 스토어의 심사를 통과해야 함

크로스 플랫폼 앱

기본 설명

  • 한 가지의 개발 언어와 프레임워크로 안드로이드, iOS 네이티브 앱을 만드는 개발 방식

  • 네이티브 코드가 아닌 다른 개발 언어로 코드를 작성 후 각각의 OS가 이해할 수 있는 코드로 컴파일 한 후, 각각의 OS의 엔진으로 실행하는 방식

  • 플러터(Flutter), 리액트 네이티브(React Native), 자마린(Xamarin) 등이 있음

장점

  • iOS와 AOS의 앱을 동시에 구현할 수 있어 둘 별개의 네이티브 앱을 개발하는 것 보다 시간을 절약할 수 있다.

  • RN과 Flutter에서 코드 푸시(앱 업데이트를 앱스토어의 심사 없이 가능하게 해주는 모듈)를 사용할 수 있다.

단점

  • iOS와 AOS의 앱을 동시에 구현할 수 있지만 둘은 다른 방식으로 구현되어있기 때문에 같은 코드에도 각 OS 네이티브 언어로 다뤄야 하는 부분이 있을 수 있다.

  • 네이티브로 뽑아낼 수 있는 성능이 100프로라고 치면 약 80~90프로의 성능

  • 네이티브보다 CPU 사용량이 많음

  • 네이티브보다 RAM 사용량이 많음

React Native

기본 설명

  • 타에서 만든 js, html, css 기반의 프론트엔드 라이브러리인 React를 활용하여 하이브리드 앱(iOS와 AOS(안드로이드)에서 동작할 수 있는 앱)을 만들 수 있는 프레임워크

웹 뷰와 다른 점

  • iOS와 AOS의 네이티브 인터페이스 구성요소를 사용하기 때문에 웹 베이스가 아니다.

  • 네이티브의 장점을 사용할 수 있다.

장점

  • Javascript 기반

단점

  • Typescript/Javascript + CSS + React + JSX + React Native를 모두 알아야 한다.

  • 인기가 식고 있음.

  • Flutter보다 느린 속도

Flutter

기본 설명

  • 구글에서 만든 Dart 언어 기반의 무료 오픈 소스 SDK

  • 2018년 공식적으로 출시된 이후, 빠르게 성장 중

  • 틱톡으로 잘 알려진 바이트댄스부터, 알리바바, 텐센트 등 중국 IT 대기업들뿐만 아니라, 구글 애즈(Google Ads), 구글 페이(Google Pay), 이베이 등 미국 공룡 기업들까지 다양한 기업에서 이미 플러터를 도입

장점

  • 미리 만들어진 위젯 라이브러리를 사용하여 빠르게 개발할 수 있음

  • 고성능 렌더링 엔진을 제공

  • 작업을 저장할 필요 없이 모든 코딩 변경 사항을 실시간으로 볼 수 있는 핫 리로드(Hot Reload) 기능도 지원

  • 2023 GOOGLE IO에서 밀어주는 것으로 보아 단기간 내에 망할 일이 없어 보임

  • 생태계가 좋아서 라이브러리 가져다 쓰면 앱이 뚝딱

  • RN실무자들이 Flutter를 권유한다고 함

단점

  • Dart라는 새로운 언어 기반

  • 국내 개발 풀이 적음

  • 플러터는 구글 주도로 개발되는 오픈소스이고, 네이티브 언어가 아니기때문에 당장내일 구글이 백업을 안 해주면 망함

  • 네이티브보다 용량이 큼

0개의 댓글