[React-Native 기초편(1)]

JAMEe_·2024년 10월 21일

React-Native

목록 보기
1/1

네이티브 앱이란?

특정 플랫폼 ( IOS, Android ) 을 위해 최적화 되어 개발된 애플리케이션

장점

  • 최적화된 코드로 빠른 성능을 제공
  • 카메라, GPS 등 기기의 하드웨어에 접근 가능

단점

  • 각 플랫폼마다 별도로 개발해야함
  • 스토어에서 앱 심사 과정을 거쳐야함

웹앱이란?

웹 기술을 사용하여 개발하며, 별도의 다운로드 없이 모바일 브라우저를 통해 접근

장점

  • 어떤 운영 체제에서도 실행 가능
  • 하나의 코드베이스로 운영 가능

단점

  • 네이티브 앱보다 느리며, 기기의 모든 기능을 사용할 수 없음

하이브리드 앱이란?

네이티브 앱 + 웹앱
웹 기술로 개발하여 네이티브 앱의 웹뷰를 통해 실행
※ 웹뷰: 네이티브 애플리케이션에서 웹 페이지를 표시하기 위해 사용되는 컴포넌트

장점

  • 하나의 코드베이스로 여러 플랫폼에서 운영 가능
  • 카메라, GPS 등 네이티브 앱의 기능적 이점을 모두 활용 가능
  • 앱 스토어를 통하지 않아도 웹 코드를 수정함으로써 변경 가능

단점

  • 순수 네이티브 앱에 비해 렌더링 성능이 떨어짐

네이티브 앱 개발

React-Native 는 각 플랫폼의 네이티브 코드와 직접적인 상호작용 가능
안드로이드나 IOS 각각의 네이티브 UI 컴포넌트를 사용해서 구축
즉, 같은 코드를 사용해도 결과가 플랫폼에따라 다르게 나옴
일관성있는 UX 설계에 도움

왜 순수 네이티브 앱에 비해 느릴까?

React-Native 의 동작 매커니즘을 살펴보자:
1. Javascript 로 작성된 코드는 하나의 큰 번들 파일로 번들링된다.
2. 이 번들 파일은 애플리케이션이 실행될 때 Javascript Thread 에서 처리됨.
3. Bridge 가 Javascript 와 네이티브 코드간의 상호작용을 중재하며, Javascript 에서 발생한 명령을 네이티브 스레드로 전달하여 실제 네이티브 코드의 실행을 가능하게 함. 또한, 네이티브 코드가 실행한 결과를 Javascript 코드로 다시 전달한다.

위 과정에서 진행되는 통신 지연은 순수 네이티브 앱 보다 성능 저하가 발생


React Native CLI

React Native 프로젝트를 생성, 관리, 빌드하고 디버깅하는데 사용되는 표준 도구

  • 자유도가 높아 React Native 를 100% 사용 가능
  • 직접 네이티브 설정에 접근하고 수정할 수 있어서 복잡한 네이티브 기능이나 타사 네이티브 모듈을 쉽게 통합 가능
  • 다양한 라이브러리 사용 가능
  • 앱의 빌드 설정 및 종속성 등을 자세히 조정 가능
profile
안녕하세요

0개의 댓글