react-native

React Native란 무엇인가? 모바일 앱을 시작하기 전에 알아야 할 것들

mirabo01 2026. 1. 12. 09:49

요즘 모바일 앱을 만든다고 하면
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)**부터
본격적으로 시작해보려 한다.