React Native

React Native

MOBILE

JavaScript/TypeScriptを使用してネイティブiOS・Androidアプリを構築するReactベースのクロスプラットフォームモバイル開発です。ネイティブコンポーネント、ホットリロード、ネイティブAPIアクセスを備えたReactベースのアーキテクチャで、単一のコードベースから高性能なモバイルアプリケーションを作成します。

学べること

hooks、Context API、関数コンポーネントを備えたモダンReact

ネイティブコンポーネント(View、Text、Image、ScrollView、FlatList)

統合ツールとOTAアップデートによる高速開発のためのExpo

ネイティブナビゲーション(Stack、Tab、Drawer)のためのReact Navigation

レスポンシブで高性能なスタイリングのためのStyleSheetとFlexbox

状態管理(Redux Toolkit、Zustand、React Query、Context)

データ永続化のためのAsyncStorageとSecureStore

ネイティブコード統合(Kotlin/Swift)のためのネイティブモジュール

包括的なテスト(Jest、React Native Testing Library、Detox E2E)

パフォーマンス(Hermes engine、lazy loading、FlatList最適化)

マスターすべき重要トピック

この技術を理解し面接で成功するための最も重要な概念

1

React: JSX、Virtual DOM、reconciliation、hooks(useState、useEffect、useCallback)

2

React Native: native bridge、ネイティブ vs webコンポーネント、threading model

3

Core Components: View、Text、Image、ScrollView、FlatList、SectionList

4

Platform API: Platform.OS、Platform.select、プラットフォーム固有のコード

5

スタイリング: StyleSheet、Flexboxレイアウト、Dimensions、レスポンシブデザイン

6

ナビゲーション: React Navigation(Stack、Tab、Drawer、ネストされたnavigators)

7

状態管理: Context API、Redux Toolkit、Zustand、Recoil

8

非同期操作: useEffect、fetch、axios、サーバーステートのためのReact Query

9

永続化: AsyncStorage、SecureStore、react-native-mmkv、SQLite

10

ネイティブモジュール: ネイティブモジュール作成、ライブラリリンク、autolinking

11

Expo vs Bare React Native: メリット/デメリット、prebuild、config plugins

12

パーミッション: react-native-permissions、パーミッション要求、拒否時の処理

13

アニメーション: Animated API、Reanimated 2、LayoutAnimation、ジェスチャー(Gesture Handler)

14

ネットワーキング: fetch、axios、WebSocket、エラーハンドリング、retry logic

15

フォーム: 制御コンポーネント、React Hook Form、バリデーション(Yup、Zod)

16

テスト: ユニットテスト(Jest)、コンポーネントテスト、E2E(Detox、Maestro)

17

パフォーマンス: FlatList最適化、useMemo、useCallback、Hermes、Flipper

18

プッシュ通知: Firebase Cloud Messaging、Expo Notifications、ローカル通知

19

マップと位置情報: react-native-maps、Geolocation API、バックグラウンド位置情報

20

ビルドとデプロイ: EAS Build、Fastlane、App Store/Play Store、OTAアップデート