일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JavaScript
- 기초
- 아키텍처
- mockoon
- next hydration
- 개발자
- 자바스크립트
- styled-component
- next.js
- React
- amplify
- react-query
- sprinkles
- react server component
- mock service worker
- front-end mocking
- 최적화
- 리액트
- 목킹
- react-native
- 리액트네이티브
- thread
- Critical Rendering Path
- 동기
- vanilla-extract
- Babel
- 비동기
- CSS-in-JS
- MSW
- 리액트쿼리
- async
- 캐쉬
- Cache
- Basic
- SWC
- Concurrent Mode
- 기본
- link
- 쓰레드
- 컴포넌트
- Today
- Total
Don’t worry about failures
react native 들어가기 전에 ( Expo vs React native CLI ) 본문
이직에 앞서 react native에 대한 전반적인 Setting 준비하고 있다.
Angular와 다르게 역시 react는 커스터마이즈 setting이 필요하다. 서드파티에 대해 여러가지 알아보면서,
Expo와 React native CLI를 통해 개발 할 수 있는 것을 알았다.
우선, 이 둘에 대해 비교분석을 해보자.
검색했을 때 흔하게 나오는 장단점은
Expo
장점
- 손쉬운 배포
- os에 영향을 받지 않음 ( xcode, android X )
- 빠른 셋팅
- 내장된 모듈이 많다 ( 장점이자 단점 )
단점
- 원시 언어 모듈 사용불가
- 빌드 파일 크기가 매우 큼 ( 불필요한 모듈도 다 포함 되어 있기 때문 )
- 블루투스 이용불가
- 빌드 시간 길다.
React native CLI
장점
- 커스터마이즈, 자유도가 높음
- 네이티브 언어 공존 가능
단점
- 셋팅 시간 오래걸림
- OS에 따라 설치 툴필요 ( XCode, Android )
- 모든 라이브러리 손수 설치
위와 같은 장단점이 많이 오간다.
여러 글을 읽으며, 나의 선택은 react native cli 택하기로 했다.
이유,
Expo의 장점인 빠른 개발, 진입장벽이 낮다 등 가장 큰 매력 포인트 이기는 하지만, 추후에 한계를 접하기 싫어 미리 react native cli 통해 택한 것이 가장 큰 이유라 생각된다.
네이티브에 대한 경험 부족 등과 같은 선택에 따른 리스크가 있지만, 후에 개발하다 접하는 한계에 따른 리스크가 더 클 것이라 예상이 된다. 모르는 것은 공부하고 알아가면 되지만, 한계를 접하는 것은 내가 어떻게 할 수 없는 영역이기 때문이다.
또한, expo도 프레임워크라 볼 수 있다. 현재 웹 개발을 Angular로 하면서, angular에 종속 되어 개발을 하는 것이 아닌 커스텀하게 개발을 하고자 React를 공부를 했고, 이 부분에 있어 나의 성향은 expo 보단 react native cli를 통해 개발을 시작하는 것이 나중에 후회를 하지 않을 것이라 생각이 든다.
현재는 작은 프로젝트일지 몰라도 꼭 성공시켜 규모 있는 프로젝트를 만들 것을 대비하여 react native cli를 진행할 것이다.
추가로,
expo의 동작 구조에 대해 살펴보면
expo는
1. expo 모바일 클라이언트에 react-native가 번들링한 javascript를 내려주기 위한 서버
2. expo-cli와 expo 모바일 클라이언트 둘 사이의 통신을 위한 서버
이 두개의 서버를 띄워 동작한다.
native 환경에서 구동되는 것이 아닌 expo 모바일 클라이언트에서 실행.
=> 이 때문에 native 모듈을 사용할 수 없게 된 것이다.
'react native' 카테고리의 다른 글
React native 구동 방식 ( 신 ) (0) | 2021.12.26 |
---|---|
React native 구동 방식 ( 구 ) (0) | 2021.12.25 |
dependency 버전 문제 (0) | 2021.12.18 |
react-native 프로젝트 구조 (0) | 2021.12.18 |
react native intro (0) | 2021.11.05 |