iOS 네이티브 개발자 중심 React Native 학습 및 Kidsnote 앱 RN 모듈 통합 검증 프로젝트
RN-Study-Kidsnote는 iOS 네이티브 개발자들이 React Native를 학습하고, 기존 네이티브 앱(Kidsnote)에 RN 모듈을 통합하는 가능성을 검증하기 위한 스터디 프로젝트입니다.
단순히 이론을 배우는 것이 아니라, 실제 업무 수준에서 RN을 적용할 수 있는 구조를 실험하는 것을 목표로 합니다.
- RN의 기본 문법, 상태 관리, 선언적 UI 철학 이해
- 간단한 메모앱 / 프로필앱 제작
- RN을 Kidsnote 앱 내 특정 화면에 임베딩하여 통합 가능성 검증
- OTA(Over-the-Air) 업데이트, CodePush를 통한 무배포 배포 구조 실험
- "앱 배포 없이 UI/문구 수정 가능한 Kidsnote 하이브리드 구조" 구현
- 한동욱
- 빈센트
- 앨런
- 데이즈
- 카일
| 구분 | 기술 |
|---|---|
| 언어 | TypeScript, JavaScript |
| 프레임워크 | React Native |
| 런타임/빌드 | Node.js, Metro, Expo (초기 학습용) |
| 플랫폼 | iOS, Android |
| 패키지 관리 | npm 또는 yarn |
| 개발 도구 | Xcode, Android Studio, VSCode, Git |
| 선택적 확장 | CodePush, REST API (공공데이터/BR API) |
UI = f(state)
상태가 바뀌면 UI가 자동 업데이트 된다
- React Native, SwiftUI, Jetpack Compose 모두 동일한 개념
- Expo: 빠른 시작용, 제한된 환경
- React Native CLI: 실무에서 네이티브 통합 시 필수
- JavaScript + TypeScript 병행 (TS 권장)
- 타입 안정성과 Swift와의 유사성 때문에 TypeScript 선호
- 학습 목표: React Native 철학 및 기본 문법 이해
- 주요 개념: 선언적 UI, useState, 리렌더링, 플랫폼별 차이
- 과제: 프로필 카드 컴포넌트 만들기
- 이름, 나이, 이메일 표시
- "Edit Mode" 토글 기능 구현
- 선택 과제: RN vs SwiftUI 비교 문서 작성
- 다음 주제: JSX와 스타일링 (CSS-in-JS, StyleSheet, Tailwind RN 등)
# Node.js 설치 확인
node --version
npm --version
# React Native CLI 설치
npm install -g react-native-cli
# 또는 Expo CLI 설치 (초기 학습용)
npm install -g expo-cli# React Native CLI 사용
npx react-native init MyApp --template react-native-template-typescript
# 또는 Expo 사용
npx create-expo-app MyApp --template# iOS 시뮬레이터
npx react-native run-ios
# 또는 Expo
npm start
# i 키로 iOS 시뮬레이터 실행# Android 에뮬레이터
npx react-native run-android
# 또는 Expo
npm start
# a 키로 Android 에뮬레이터 실행RN-Study-Kidsnote/
├── docs/ # 스터디 자료 및 메모
│ └── week-01.md # 1주차 학습 내용
├── examples/ # 예제 코드
│ └── profile-card/ # 프로필 카드 예제
├── notes/ # 개인 학습 노트
└── projects/ # 실습 프로젝트
└── memo-app/ # 메모 앱 프로젝트
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'feat: add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
feat: 새로운 기능 추가
fix: 버그 수정
docs: 문서 수정
style: 코드 포맷팅
refactor: 코드 리팩토링
test: 테스트 추가
chore: 설정 변경
This project is for educational purposes only.
Made with ❤️ by iOS Developers learning React Native