요즘 모바일 앱을 만든다고 하면
React Native를 한 번쯤은 반드시 듣게 된다.
웹 개발을 조금이라도 해봤다면
“JavaScript로 앱을 만든다”, “React로 모바일을 만든다”는 말이
어느 정도는 감이 올 것이다.
하지만 막상 시작하려고 하면 이런 생각이 든다.
- React랑 뭐가 다른 거지?
- 웹이랑 앱은 완전히 다른 거 아니야?
- 이걸로 실제 서비스가 가능한가?
이 글은
React Native를 처음 접하는 사람을 기준으로,
개념부터 왜 쓰이는지까지 차분하게 정리한 글이다.
이 글이 필요한 사람
- 모바일 앱 개발을 처음 시작하려는 경우
- React는 해봤지만 React Native는 처음인 경우
- Flutter, Native와 비교하며 고민 중인 경우
React Native란 무엇인가
React Native는
**JavaScript(또는 TypeScript)**로
iOS와 Android 모바일 앱을 동시에 개발할 수 있게 해주는 프레임워크다.
Facebook(현 Meta)에서 만들었고,
웹에서 쓰던 React 개념을 모바일로 확장한 형태라고 보면 된다.
중요한 포인트는 이거다.
React Native는
웹 앱을 모바일 화면에 띄우는 기술이 아니다.
React Native로 만든 화면은
실제로 네이티브 UI 컴포넌트로 변환되어 동작한다.
[이미지: React Native 동작 구조 개념도]
React와 React Native의 차이
이 둘은 이름 때문에 자주 헷갈린다.
공통점
- 컴포넌트 기반 구조
- JSX 문법 사용
- props, state, hooks 사용 방식 동일
차이점
- React → 웹 (DOM 사용)
- React Native → 모바일 (네이티브 컴포넌트 사용)
예를 들면,
- React: <div>, <span>
- React Native: <View>, <Text>
문법은 비슷하지만
결과물과 실행 환경은 완전히 다르다.
React Native의 장점
실제로 써보면 이런 점들이 가장 크게 와닿는다.
1️⃣ 하나의 코드로 iOS / Android 개발
플랫폼별로 코드를 완전히 나누지 않아도 된다.
대부분의 비즈니스 로직과 UI를 공유할 수 있다.
2️⃣ 웹 개발 경험을 그대로 활용 가능
React를 해봤다면
새로운 언어를 배우는 부담이 적다.
3️⃣ 생산성이 빠르다
Hot Reload 덕분에
화면 수정 → 바로 확인하는 흐름이 빠르다.
React Native의 한계
물론 단점도 있다.
⚠️ 네이티브 지식이 아예 필요 없는 건 아니다
- 카메라
- 알림
- 권한 처리
이런 부분에서는
플랫폼 특성을 어느 정도 이해해야 한다.
⚠️ 성능 최적화는 신경 써야 한다
일반적인 앱에서는 문제 없지만,
애니메이션이나 대규모 리스트에서는
구조를 잘 잡지 않으면 성능 이슈가 생길 수 있다.
React Native는 이런 경우에 적합하다
- 스타트업 MVP
- 내부 서비스 앱
- 빠른 프로토타입 개발
- 웹 개발자가 모바일로 확장할 때
반대로,
- 고사양 게임
- 네이티브 API를 극단적으로 많이 쓰는 앱
이런 경우에는
순수 네이티브 개발이 더 적합할 수도 있다.
앞으로 이 블로그에서 다룰 내용
이 블로그는
React Native를 처음부터 실무 수준까지
단계적으로 정리하는 걸 목표로 한다.
다룰 주제는 다음과 같다.
- 개발 환경 설정 (Expo / CLI)
- 기본 컴포넌트와 레이아웃
- 네비게이션 구조
- API 연동
- 상태 관리
- 실무에서 자주 겪는 에러와 해결 방법
단순 문서 번역이 아니라
직접 써보면서 헷갈렸던 지점 위주로 정리할 예정이다.
정리
- React Native는 웹 기술로 모바일 앱을 만드는 프레임워크다
- React 개념을 그대로 활용할 수 있다
- 생산성이 빠르지만, 네이티브 이해도는 필요하다
- 입문자부터 실무까지 확장하기 좋은 선택지다
다음 글에서는
**React Native 개발 환경 설정 (Expo vs CLI)**부터
본격적으로 시작해보려 한다.
'react-native' 카테고리의 다른 글
| React Native 스크롤 처리 정리: ScrollView와 FlatList 차이와 선택 기준 (0) | 2026.01.17 |
|---|---|
| React Native 스타일링 기초: StyleSheet와 Flexbox로 레이아웃 잡기 (0) | 2026.01.16 |
| React Native 기본 컴포넌트 정리: View, Text, Image부터 제대로 이해하기 (1) | 2026.01.15 |
| Expo 프로젝트 구조 한 번에 정리하기: 처음 열면 보이는 파일들 이해하기 (0) | 2026.01.14 |
| React Native 개발 환경 설정: Expo vs CLI, 처음엔 무엇을 선택해야 할까 (0) | 2026.01.13 |