React Native 부수기(1)

Code_Alpacat·2022년 10월 16일
0

React Native

목록 보기
1/1

React Native의 동작 원리

  • React Native는 javascript기반의 마크업 언어를 iOS와 안드로이드 코드로 변환해 준다.
  • react native는 bridge를 통해 안드로이드, ios에 요청을 보낸다.
    앱을 만들기 위해서는 JavaScript, Markup/Styling 뿐만 아니라 위 그림에 나온 모든 인프라를 설치해야만 한다.
  • 물론 Expo는 모든 과정을 대신 수행해 Javascript와 Markup/Styling만 진행하면 되도록 해준다.
    하지만, 치명적인 단점이 있다.
    • Expo 서버에서 동작하므로 가끔 불안정함.
    • 상당히 앱 사이즈가 비대해짐. (Expo의 모든 기능을 내장한 채라서)
    • 세부 설정을 건들이기 상당히 불편함.

즉, 기본적으로 JavaScript로 읽고 동작하는 코드를 React Native가 Native 앱의 일부로 만들고 해석해주는 일종의 번역기라고 생각하면 된다.

1. Expo vs React Native CLI 무엇을 사용할까?

Expo의 장단점

장점

  • React Native를 처음 개발하는 사람에게 편리하다.
  • React Natvie를 위한 기본 설정이 미리 세팅되어있다.
  • Android / Xcode를 설치하지 않아도 QR코드를 통해 에뮬레이터를 실행시킬 수 있다.
  • 배포가 매우 쉽다.

단점

  • Java, kotlin, swift 등의 네이티브 모듈을 추가 할 수 없다.
  • 기본 파일 크기가 크다
  • 기능이 많은 앱 개발에는 부적합하다.
  • 블루투스가 안된다.
  • Eject로 다시 세팅하는게 상당히 번거롭다.

React Native CLI의 장단점

장점

  • 네이티브로 앱을 개발할 수 있다.
  • 기존 네이티브 언어로 개발을 이어나갈 수 있다.
  • 네이티브 파일들을 직접 수정할 수 있다.
  • 새로운 기능의 모듈을 직접 만들어 사용할 수 있다.
  • Expo 패키지 이용이 가능하다.

단점

  • 초기 환경 구성이 어렵고 오래걸린다. 옳은 방법으로 세팅하기도 어렵다.
  • 프로젝트를 위해 Android / Xcode를 전부 설치해 빌드 및 배포를 해야한다.
  • 배포와 업데이트 시간이 상대적으로 오래걸린다.
  • 안드로이드, IOS에 대한 폴더 구조에 대한 기본지식이 필요하다
profile
In the future, I'm never gonna regret, cuz I've been trying my best for every single moment.

0개의 댓글