React Native (JS 기반)
React Native는 페이스북(현 Meta)에서 개발한 프레임워크로, 자바스크립트와 React의 지식을 활용해 네이티브 모바일 앱을 개발할 수 있게 해줍니다.
1. React Native의 철학
"Learn once, write anywhere" (한 번 배우면, 어디서든 작성한다)는 철학 아래, 웹 프론트엔드 개발자가 큰 어려움 없이 모바일 시장에 진입할 수 있도록 돕습니다.
2. 네이티브 컴포넌트 브릿지
웹의 HTML과는 달리, React Native는 자바스크립트 코드를 실행하고 브릿지(Bridge)를 통해 실제 안드로이드/iOS의 네이티브 UI 컴포넌트를 호출합니다.
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
const HelloWorld = () => {
return (
<View style={styles.container}>
<Text>Hello, React Native!</Text>
</View>
);
}
const styles = StyleSheet.create({
container: { flex: 1, justifyContent: 'center', alignItems: 'center' }
});
3. Expo vs CLI
- Expo: 복잡한 네이티브 설정을 대신 처리해주어 초기 학습과 빠른 시제품 제작에 유리합니다.
- React Native CLI: 네이티브 모듈을 직접 제어해야 하거나 복잡한 최적화가 필요한 대규모 프로젝트에 사용됩니다.
4. 커뮤니티와 생태계
오랜 기간 동안 형성된 거대한 커뮤니티를 통해 수많은 외부 라이브러리와 예제를 쉽게 찾을 수 있다는 것이 큰 장점입니다.
이것으로 모바일 개발의 주요 언어와 프레임워크들을 가볍게 살펴보았습니다!