Duration 5 days – 35 hrs
Overview
This comprehensive course provides participants with the knowledge and practical skills required to develop professional cross-platform mobile applications using React Native and TypeScript.
The training begins with React Native fundamentals, development environment setup, components, styling, and application navigation. It then progresses to state management, API integration, authentication, local storage, native device features, testing, performance optimization, security, and application deployment.
Participants will complete hands-on exercises throughout the course and develop a functional mobile application that runs on Android and iOS.
Objectives
- Explain the architecture and core concepts of React Native.
- Configure a React Native development environment.
- Develop cross-platform applications using React Native and TypeScript.
- Create functional and reusable components.
- Build responsive mobile user interfaces.
- Implement forms, input validation, and user feedback.
- Configure stack, tab, and drawer navigation.
- Manage local and global application states.
- Integrate REST APIs and handle asynchronous operations.
- Implement authentication and secure session management.
- Store and retrieve data locally.
- Access selected native device features.
- Apply mobile application security practices.
- Test, debug, and troubleshoot React Native applications.
- Optimize application performance and user experience.
- Prepare React Native applications for Android and iOS deployment.
Target Audience
- Mobile application developers
- Front-end developers
- React and JavaScript developers
- Full-stack developers
- Software engineers
- Web developers transitioning to mobile development
- Technical leads and application architects
- Quality engineers involved in mobile application testing
- IT professionals interested in cross-platform development
Prerequisites
- Basic to intermediate knowledge of JavaScript
- Basic understanding of HTML and CSS
- Familiarity with programming concepts such as variables, functions, arrays, and objects
- Basic knowledge of object-oriented or component-based development
- Basic command-line and Git knowledge
- Experience with React is helpful but not mandatory
- Participants should bring a development laptop with administrator access.
Course Outline
Day 1 — React Native and Mobile Development Fundamentals
Module 1: Introduction to Mobile Application Development
- Mobile application development landscape
- Native, hybrid, and cross-platform development
- Android and iOS application ecosystems
- Advantages and limitations of React Native
- React Native architecture and development workflow
- React Native CLI versus Expo
- Overview of the application development lifecycle
Module 2: Development Environment Setup
- Installing Node.js and a package manager
- Installing and configuring React Native tools
- Android Studio, Android SDK, and emulator setup
- Introduction to Xcode and the iOS Simulator
- Physical-device configuration
- Creating and running a React Native project
- Understanding the project folder structure
- Troubleshooting common setup issues
Module 3: JavaScript and TypeScript Essentials
- Modern JavaScript syntax
- Variables, functions, arrays, and objects
- Arrow functions and destructuring
- Modules, imports, and exports
- Promises and asynchronous programming
- TypeScript types and interfaces
- Using TypeScript with React Native
Module 4: React Native Core Concepts
- Components and component composition
- Functional components
- JSX and TSX syntax
- Props and state
- Event handling
- React Hooks
- Component lifecycle using useEffect
Hands-on Activity: Create and run a basic React Native application with reusable components.
Day 2 — User Interface Development and Navigation
Module 5: React Native Core Components
- View, Text, Image, and ScrollView
- TextInput, Button, Pressable, and Touchable components
- FlatList and SectionList
- SafeAreaView and platform-safe layouts
- Handling user interactions
- Displaying conditional content
Module 6: Styling and Responsive Design
- Styling with StyleSheet
- Flexbox layout
- Alignment, spacing, and positioning
- Typography, colors, and themes
- Responsive screen design
- Dimensions and orientation
- Platform-specific styles
- Reusable design components
- Accessibility fundamentals
Module 7: Forms and Input Validation
- Controlled form components
- Managing multiple input fields
- Form validation patterns
- Displaying validation messages
- Keyboard handling
- Loading, empty, success, and error states
- Introduction to form libraries
Module 8: Application Navigation
- Navigation architecture
- Installing and configuring React Navigation
- Stack navigation
- Bottom-tab navigation
- Drawer navigation
- Passing parameters between screens
- Nested navigators
- Navigation headers and screen options
- Introduction to deep linking
Hands-on Activity: Build login, registration, dashboard, and profile screens with working navigation.
Day 3 — State Management, APIs, and Data Persistence
Module 9: State Management
- Local and shared application state
- Managing state with useState
- Sharing data with the Context API
- Using useReducer for complex state
- Introduction to Redux Toolkit or an equivalent state library
- Organizing actions, reducers, and stores
- Selecting an appropriate state-management approach
Module 10: REST API Integration
- Understanding RESTful services
- HTTP methods and status codes
- Working with JSON
- Calling APIs using Fetch or Axios
- Asynchronous operations with async and await
- Loading and error handling
- Rendering server data
- Pagination, filtering, and searching
- Organizing API service layers
Module 11: Local Data Storage
- Mobile data persistence concepts
- Using AsyncStorage
- Storing application preferences
- Introduction to SQLite and structured storage
- Caching API data
- Offline-first design considerations
- Synchronizing local and remote data
Module 12: Authentication and Session Management
- Login and logout workflows
- Token-based authentication
- Managing user sessions
- Secure token storage concepts
- Refresh tokens and session expiration
- Protecting authenticated screens
- Role-based navigation
Hands-on Activity: Connect the application to a REST API and implement authentication and persistent sessions.
Day 4 — Native Features, Testing, and Application Security
Module 13: Native Device Capabilities
- Requesting runtime permissions
- Camera and image selection
- Device location and maps
- File and document access
- Push notification concepts
- Linking to phone, email, and web applications
- Platform-specific code
- Introduction to native modules
Module 14: Debugging and Error Handling
- React Native debugging tools
- Reading application logs
- Debugging JavaScript and network requests
- Handling runtime exceptions
- Error boundaries
- Common Android and iOS issues
- Troubleshooting dependency and build problems
Module 15: Testing React Native Applications
- Mobile testing strategy
- Unit and component testing
- Jest fundamentals
- React Native Testing Library
- Mocking dependencies and API calls
- Testing forms and navigation
- Introduction to end-to-end testing
- Test organization and maintainability
Module 16: Mobile Application Security
- Secure coding principles
- Protecting sensitive user information
- Secure storage practices
- API and network security
- HTTPS and certificate considerations
- Input validation and data sanitization
- Authentication and authorization risks
- Avoiding hard-coded credentials and secrets
- Introduction to mobile security standards
Hands-on Activity: Integrate a selected native feature and create automated tests for key application components.
Day 5 — Advanced Development, Optimization, and Deployment
Module 17: Application Architecture and Best Practices
- Structuring scalable React Native projects
- Feature-based versus layer-based organization
- Separation of concerns
- Reusable components and custom Hooks
- Service and repository patterns
- Environment configuration
- Coding standards and naming conventions
- Git workflows and code-review practices
Module 18: Performance Optimization
- Understanding React Native rendering
- Preventing unnecessary re-renders
- Using React.memo, useMemo, and useCallback
- Optimizing FlatList and large datasets
- Image and asset optimization
- Lazy loading and code organization
- Memory-management considerations
- Measuring and monitoring performance
Module 19: Building and Deploying Applications
- Development and production builds
- Environment variables and configuration
- Android application signing
- Generating Android App Bundles
- iOS certificates and provisioning profiles
- Preparing application icons and splash screens
- Google Play Store submission overview
- Apple App Store submission overview
- Versioning, updates, and release management
- Introduction to automated mobile CI/CD
Module 20: Capstone Application
Participants will complete a functional application that may include:
- User authentication
- Multiple navigable screens
- Responsive user interface
- Form validation
- REST API integration
- State management
- Local data persistence
- Loading and error handling
- Selected native-device capability
- Basic automated tests
Capstone Presentation and Code Review
- Application demonstration
- Code-quality review
- Architecture and security feedback
- Performance recommendations
- Deployment-readiness review
- Course assessment and feedback

