
React Native Architecture
FreeBuild robust mobile apps using React Native and Expo.
Free · Opens the source repo
What React Native Architecture does
React Native Architecture provides a structured approach to developing production-ready mobile applications using React Native and Expo. This skill is particularly useful for developers looking to implement complex navigation patterns, integrate native modules, and build offline-first applications. It emphasizes best practices and optimal project structure, ensuring that applications are maintainable and performant.
The skill outlines a recommended project structure that separates concerns, making it easier to manage components, services, and state. It also highlights the differences between using Expo and Bare React Native, helping developers choose the right setup based on their project requirements. By leveraging Expo's built-in features, such as over-the-air updates and simplified native module integration, developers can focus on building their applications without getting bogged down in configuration complexities.
Additionally, the skill offers practical guidance on optimizing performance and setting up continuous integration and delivery (CI/CD) for mobile releases. It includes a quick start guide that helps developers bootstrap a new project with essential dependencies and provides code snippets for common tasks. This makes it an excellent resource for both new and experienced developers aiming to enhance their React Native development workflow.
When to use it
Use this skill when starting a new React Native or Expo project, especially when complex navigation or native integrations are required.
When not to use it
This skill may not be suitable for very simple applications or for developers who prefer a completely custom setup without the conventions provided by Expo.
What you can build with it
Starting a New Project
When initiating a new React Native or Expo project, this skill provides a solid foundation and best practices to follow.
Implementing Navigation
For developers needing to set up complex navigation patterns, this skill outlines effective strategies and code examples.
Building Offline-First Apps
This skill is particularly useful for creating applications that require offline capabilities, ensuring data sync and user experience.
How to install React Native Architecture
View source1. Install with the skills CLI
npx skills add wshobson/agents/react-native-architecture --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by wshobsonReact Native Architecture
Production-ready patterns for React Native development with Expo, including navigation, state management, native modules, and offline-first architecture.
When to Use This Skill
- Starting a new React Native or Expo project
- Implementing complex navigation patterns
- Integrating native modules and platform APIs
- Building offline-first mobile applications
- Optimizing React Native performance
- Setting up CI/CD for mobile releases
Core Concepts
1. Project Structure
src/
├── app/ # Expo Router screens
│ ├── (auth)/ # Auth group
│ ├── (tabs)/ # Tab navigation
│ └── _layout.tsx # Root layout
├── components/
│ ├── ui/ # Reusable UI components
│ └── features/ # Feature-specific components
├── hooks/ # Custom hooks
├── services/ # API and native services
├── stores/ # State management
├── utils/ # Utilities
└── types/ # TypeScript types
2. Expo vs Bare React Native
| Feature | Expo | Bare RN |
|---|---|---|
| Setup complexity | Low | High |
| Native modules | EAS Build | Manual linking |
| OTA updates | Built-in | Manual setup |
| Build service | EAS | Custom CI |
| Custom native code | Config plugins | Direct access |
Quick Start
# Create new Expo project
npx create-expo-app@latest my-app -t expo-template-blank-typescript
# Install essential dependencies
npx expo install expo-router expo-status-bar react-native-safe-area-context
npx expo install @react-native-async-storage/async-storage
npx expo install expo-secure-store expo-haptics
// app/_layout.tsx
import { Stack } from 'expo-router'
import { ThemeProvider } from '@/providers/ThemeProvider'
import { QueryProvider } from '@/providers/QueryProvider'
export default function RootLayout() {
return (
<QueryProvider>
<ThemeProvider>
<Stack screenOptions={{ headerShown: false }}>
<Stack.Screen name="(tabs)" />
<Stack.Screen name="(auth)" />
<Stack.Screen name="modal" options={{ presentation: 'modal' }} />
</Stack>
</ThemeProvider>
</QueryProvider>
)
}
Detailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Best Practices
Do's
- Use Expo - Faster development, OTA updates, managed native code
- FlashList over FlatList - Better performance for long lists
- Memoize components - Prevent unnecessary re-renders
- Use Reanimated - 60fps animations on native thread
- Test on real devices - Simulators miss real-world issues
Don'ts
- Don't inline styles - Use StyleSheet.create for performance
- Don't fetch in render - Use useEffect or React Query
- Don't ignore platform differences - Test on both iOS and Android
- Don't store secrets in code - Use environment variables
- Don't skip error boundaries - Mobile crashes are unforgiving
Frequently asked questions about React Native Architecture
Similar skills
Android App Development
Comprehensive guide for Android and cross-platform app development.
Add App Clip to Expo App
Integrate lightweight iOS App Clips into your Expo project.
APK Reverse
Streamline your Android APK reverse engineering process.
Swift Expert
Master iOS/macOS development with Swift and SwiftUI.
React Native Expert
Build and optimize mobile apps with React Native and Expo.
Kotlin Specialist
Master idiomatic Kotlin with expert patterns and practices.
