jkyZ2ibPjlxy98w64xsBOdkzLca9D9AxjpmlXGKF
Bookmark

React Native란? | React Native는 프레임워크 입니다 | React Native iOS 앱, Android 앱을 Javascript로 개발 할수 있는 프레임워크

React Native는 JavaScript를 사용해 iOS와 Android 앱을 동시에 개발할 수 있는 프레임워크. 웹 개발에 사용되는 React(리액트)의 개념을 기반으로 만들어짐, React 기반의 컴포넌트(Component) 구조,Cross-platform

Javascript 언어로 iOS, Android 앱을 만들수 있다면 React Native를 사용하면 만들수가 있습니다. React Native는 흔히 말하는 언어(language)가 아니라, 스마트폰 앱을 만들수 있는 프레임워크입니다. React Native에서 실제로 사용하는 **프로그래밍 언어는 JavaScript (또는 TypeScript)**입니다.즉, Java나 Dart처럼 고유의 문법 구조를 가진 언어가 아니라JavaScript 문법을 기반으로 모바일 앱 UI를 만드는 도구입니다.


React Native란? |  React Native는 프레임워크
React Native란? |  React Native는 프레임워크 


✅ React Native는 “프레임워크”입니다

항목

설명

사용 언어

JavaScript (또는 TypeScript 선택 가능)

핵심 기술

React 기반의 컴포넌트 시스템

목적

iOS + Android 앱을 동시에 개발

동작 방식

JS → Native Bridge를 통해 네이티브 뷰 렌더링

사용 도구

Expo, React Native CLI, Metro, Babel




✅  React Native vs Flutter vs Android 구조와 언어 비교

비교 항목

React Native (JSX + JS)

Dart (Flutter)

Java (Android)

언어

JavaScript

Dart

Java

클래스 기반?

함수형 기반 (with Hooks)

클래스 기반 위주

클래스 기반 위주

컴포넌트 구성

function App() { return <View> }

class MyApp extends StatelessWidget

public class MainActivity extends AppCompatActivity

레이아웃 구성

<View>, <Text>

Row, Column, Container

XML 파일 별도

상태 관리

useState, useEffect

setState, Provider 등

LiveData, ViewModel

React Native는 HTML처럼 생긴 JSX + JavaScript 함수형 코드를 함께 씁니다.



✅ 예시 비교


🟢 React Native (JavaScript + JSX)

import { View, Text } from 'react-native';

export default function App() {
  return (
    <View>
      <Text>Hello React Native!</Text>
    </View>
  );
}

🟠 Flutter (Dart)

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Text('Hello Flutter!'),
    );
  }
}




🧠 요약

  • React Native는 독자적인 언어가 아닙니다.

  • JavaScript (혹은 TypeScript) 문법을 기반으로 사용합니다.

  • 따라서 Java, Dart처럼 언어 중심의 문법 구조는 없고, 대신 컴포넌트와 훅 중심의 구조를 가지고 있습니다.


본격적으로 React Native를 소개해보겠습니다. 같이 React Native 공부를 시작 해봅시다. 


📱 React Native란?

React Native는 JavaScript를 사용해 iOS와 Android 앱을 동시에 개발할 수 있는 프레임워크입니다.
웹 개발에 사용되는 **React(리액트)**의 개념을 기반으로 만들어졌습니다.



✅ React Native의 핵심 개념

항목

설명

📦 개발 언어

JavaScript (또는 TypeScript)

🧱 개발 구조

React 기반의 컴포넌트(Component) 구조

📱 타깃 플랫폼

iOS + Android 동시 개발 (Cross-platform)

🔄 렌더링 방식

JavaScript → Native 브릿지 → 네이티브 뷰 렌더링

🚀 주요 도구

Expo CLI, React Native CLI, VS Code, Metro bundler



🧩 React vs React Native

구분

React (웹)

React Native

출력 결과

브라우저 HTML 화면

스마트폰 앱 UI (iOS/Android)

UI 구성 요소

<div>, <button> 등 HTML

<View>, <Text>, <Button> 등 Native 컴포넌트

스타일링

CSS

JavaScript 기반 StyleSheet

네비게이션

React Router

React Navigation




🧠 React Native 작동 원리

  1. 개발자는 JavaScript + JSX로 앱 UI 작성

  2. JS 코드는 내부적으로 **Bridge(브릿지)**를 통해 네이티브 코드(Android/iOS)에 전달됨

  3. 실제 앱 화면은 Native UI 요소로 렌더링됨 (WebView 아님!)

  4. 사용자는 진짜 네이티브 앱처럼 부드러운 경험을 얻게 됨



💡 React Native의 주요 특징

특징

설명

✍️ 하나의 코드로 두 플랫폼

한 번 작성한 코드로 Android & iOS 앱을 모두 제작 가능

🧩 컴포넌트 기반

작은 컴포넌트를 조립하듯 앱을 구성

🔁 빠른 핫리로드

수정 시 앱을 재시작하지 않고도 바로 반영됨

🎨 네이티브 UI

WebView가 아닌 실제 네이티브 UI로 렌더링

🚀 Expo 지원

빠른 개발과 실기기 테스트를 쉽게 도와주는 도구 제공




👍 React Native의 장점

  • 개발 속도 빠름 – 두 플랫폼을 한 번에 개발 가능

  • 재사용성 높음 – 컴포넌트, 로직, 스타일 재활용 용이

  • 풍부한 커뮤니티와 오픈소스 – 다양한 라이브러리 존재

  • 초보자 친화적 – 웹 개발자라면 진입 장벽 낮음




👎 React Native의 단점

  • ❗ 일부 네이티브 기능은 직접 구현 필요 (예: 블루투스, 카메라 고급 기능)

  • ❗ 버전 충돌 이슈, 라이브러리 의존성 문제 종종 발생

  • ❗ 앱 크기 커질 수 있음 (특히 Expo 사용 시)

  • ❗ 고성능/게임 앱에는 적합하지 않을 수 있음




✨ React Native로 만들 수 있는 앱

유형

예시

✅ 정보성 앱

뉴스, 메모, 일정 앱

✅ 쇼핑 앱

이커머스, 마켓 앱

✅ SNS 앱

채팅, 피드, 사진 공유 앱

✅ 교육 앱

퀴즈, 학습, 어린이 앱

✅ 라이프스타일 앱

날씨, 운동 기록, 가계부 등




🔧 React Native 개발을 위한 준비물

도구

설명

Node.js

자바스크립트 런타임

Expo CLI

빠른 앱 생성 및 실행 도구

Android Studio / Xcode

에뮬레이터 실행, 실제 디바이스 테스트

VS Code

코드 편집기

Expo Go (모바일 앱)

실시간 실기기 테스트 가능 앱




🎓 React Native 학습 순서 예시

  1. JavaScript 기본 문법

  2. React 기본 구조 (컴포넌트, JSX, Hooks)

  3. React Native 구조와 StyleSheet

  4. 화면 구성 및 이벤트 처리

  5. React Navigation으로 화면 이동

  6. AsyncStorage로 데이터 저장

  7. API fetch로 외부 데이터 연동

  8. 앱 배포 (Expo, apk 빌드 등)



🧭 결론


React Native는 웹 개발자도 진입하기 쉬운 크로스 플랫폼 모바일 앱 개발 도구입니다.
빠르게 앱을 만들고 실시간으로 테스트할 수 있으며, 스타트업, 교육, MVP 앱 제작에 특히 적합합니다.


Dengarkan
Pilih Suara
1x
* Mengubah pengaturan akan membuat artikel dibacakan ulang dari awal.
댓글 쓰기