Course Contents / Lesson Plan
Course Title: React Native
Duration: 1 Months
Trainer Name |
|
Author Name | |
Course Title | React Native |
Objectives and Expectations
|
Employable skills and hands-on practice in React Native
Objective: Comprehensive Understanding of React Native:
Objective: Develop a thorough understanding of React Native, including its architecture, components, and the principles of cross-platform mobile app development. Effective Development Environment Setup:
Objective: Enable students to set up a productive development environment with Node.js, npm, and React Native CLI, fostering independence in project initiation. Proficiency in React Components and JSX:
Objective: Ensure students can create functional and class components, apply JSX syntax, and render components effectively in a React Native environment. Styling and Layout Design Mastery:
Objective: Instruct students on styling using Flexbox, introduce UI components, and guide them in implementing responsive and visually appealing layouts. Navigation Implementation Proficiency:
Objective: Teach effective navigation between screens using React Navigation, including passing parameters and customizing navigation options. Data Rendering, Mapping, and Reusability Mastery:
Objective: Instruct students on rendering dynamic data efficiently, using Array.map() for lists, and creating reusable components for data rendering. Advanced Styling Techniques and Animation Skills:
Objective: Explore advanced styling using StyleSheet, external libraries like Styled Components, and guide students in implementing animations using the Animated API. Integration of Advanced UI Components and Native Modules:
Objective: Provide insights into advanced UI components, libraries, and integration of native modules for platform-specific functionality.
Testing, Debugging, and Performance Optimization Proficiency:
Objective: Instruct students on debugging tools, testing on various devices, and implementing performance optimizations for efficient app development. Expectations: Independence in Project Setup:
Expectation: Students should independently set up their development environment and create new React Native projects. Effective Component Creation and Rendering:
Expectation: Students should confidently create, style, and render React components using JSX syntax. Successful Asynchronous Programming:
Expectation: Students should proficiently handle asynchronous operations, make API requests, and manage data retrieval and storage. Integration of Advanced UI Components and Native Modules:
Expectation: Students should be capable of integrating advanced UI components, leveraging external libraries, and incorporating native modules for platform-specific functionality. Effective Testing, Debugging, and Optimization:
Expectation: Students should be skilled in using debugging tools, testing on various devices, and implementing optimizations for efficient app performance. Successful App Deployment and Collaborative Project Work:
Expectation: Students should successfully deploy a React Native app, actively contribute to guided project development, and collaborate effectively within a development team. Employable Skills: Hands-on Practice: · Mobile App Development Proficiency:
Ability to develop cross-platform mobile applications using React Native, making graduates valuable contributors to mobile development teams.
UI/UX Design Skills: Proficiency in styling, layout design, and implementation of responsive designs, ensuring a positive and visually appealing user experience.
State Management Expertise: Capability to manage component and global state efficiently, facilitating the development of dynamic and interactive applications.
API Integration Knowledge:
Experience in making asynchronous API requests, handling data fetching, and managing external data sources in real-world applications.
Navigation and Routing Proficiency:
In implementing navigation between screens, passing parameters, andcustomizing navigation behavior, crucial for creating seamless user journeys. Debugging and Optimization Skills:
Ability to identify and resolve issues using debugging tools, along with knowledge of performance optimization techniques for efficient app development. Collaborative Development Experience: Exposure to collaborative project development, contributing to the entire development lifecycle from setup to deployment. |
Entry-level of trainees | For an advanced course of React Native proposed entry level is minimum bachelors in relevant subject, so expectations from the trainees are:
· Basic understanding of programming concepts. · Familiarity with computer systems and operating systems. · No prior knowledge of React Native is required
|
Learning Outcomes of the course | The content of this lesson plan is adopted from the internationally recognized ISTQB certification course, “Certified Tester Foundation Level (CTFL),” ensuring alignment with global standards and practices.
For further reference, the link to the source material is provided below:
Understanding of React Native Fundamentals:
Gain a solid understanding of React Native, including its architecture, components, and principles of cross-platform mobile app development. Effective Development Environment Setup:
Independently set up a development environment with Node.js, npm, and the React Native CLI for initiating and managing React Native projects. Proficiency in React Components and JSX:
Master the creation of functional and class components, apply JSX syntax, and effectively render components within a React Native environment. Styling and Layout Design Skills:
Develop skills in styling using Flexbox layout, implementing basic UI components, and creating responsive and visually appealing layouts. Data Rendering, Mapping, and Reusability Mastery:
Demonstrate mastery in rendering dynamic data efficiently, employing the Array.map() method, and creating reusable components for data rendering. Advanced Styling Techniques and Animation Skills:
Develop advanced styling skills using StyleSheet, external libraries like Styled Components, and animation implementation using the Animated API. platform-specific functionalities.
Testing, Debugging, and Performance Optimization Proficiency: Acquire proficiency in testing React Native apps, using debugging tools effectively, and implementing optimizations for enhanced app performance. App Deployment and Collaborative Project Work: Successfully deploy a React Native app, actively contribute to guided project development, and collaborate effectively within a development team. |
Course Execution Plan | The total duration of the course: 1 months (4 Weeks)
Class hours: 4 hours per day Theory: 20% Practical: 80% Weekly hours: 20 hours per week Total contact hours: 80 hours |
Companies offering jobs in the respective trade |
· Trillium · Afinity · Net Sole · I2c · Multinet · Nescom · Transworld · Netcom · Systems · Web Work Solution · Purelogics · Nets-International · Ebryx
|
Job Opportunities | · Mobile App Development
· Android Developer · Enterprise Mobile Solutions · Mobile Backend Engineer · Game Development · Emerging Technologies · Database Administrator · System Analyst |
No of Students | 25 |
Learning Place | Classroom / Lab |
Instructional Resources | Online Courses and Tutorials:
1. Meta React Native Specialization https://www.coursera.org/specializations/meta-react-native 2. Free online course React Native Tutorial for Beginners Build a React Native App: · Books and References: React Native Notes for Professionals book https://books.goalkicker.com/ReactNativeBook/ Official React Native Documentation: https://reactnative.dev/docs/getting-started · Practice and Experimentation: https://codesandbox.io/p/sandbox/react-native-practice-4klyx?file=%2Fsrc%2Findex.js |
MODULES
Scheduled Weeks | Module Title | Days | Hours | Learning Units | Home Assignment | ||
Week 1 | Introduction to React Native and Setup
|
Day 1 | Hour 1 to 4 |
|
|
||
Day 2 | Hour 1 to 4 |
|
|||||
Day 3 | Hour 1 to 4 | · React Components and JSX
· Understanding React components and JSX syntax · Creating functional and class components · Rendering components in React Native |
|||||
Day 4 | Hour 1 to 4 | · Styling in React Native
· Styling components using Flexbox layout · Using basic UI components like Text, View, Image, and Button · Implementing basic layout designs |
|||||
Day 5 | Hour 1 to 4 | · Navigation in React Native
· Implementing basic navigation between screens using React Navigation · Passing parameters between screens · Exploring navigation options and customization |
|||||
Week 2 | State Management and Data Handling | Day 1 | Hour 1 to 4 | · Managing Component State
· Managing component state with useState hook · Understanding the difference between state and props · Handling user input and updating state |
|
||
Day 2 | Hour 1 to 4 | Context API and Global State
Introduction to Context API for managing global state Implementing global state management using Context Sharing data between components using Context |
|||||
Day 3 | Hour 1 to 4 | · Asynchronous Programming
· Introduction to asynchronous programming in JavaScript · Working with Promises and async/await for handling asynchronous operations · Making asynchronous API requests |
|||||
Day 4 | Hour 1 to 4 | · Data Fetching with Fetch API
· Making HTTP requests to fetch data from external APIs · Handling fetch errors and implementing loading indicators · Storing fetched data in component state or global state |
|||||
Day 5 | Hour 1 to 4 |
|
|||||
Week 3 | Advanced Topics and UI Design | Day 1 | Hour 1 to 4 | · Advanced Styling Techniques
· Advanced styling techniques using StyleSheet · Using external styling libraries like Styled Components · Implementing responsive designs for various screen sizes |
|||
Day 2 | Hour 1 to 4 |
|
|||||
Day 3 | Hour 1 to 4 |
|
|||||
Day 4 | Hour 1 & 2 |
|
|||||
Day 5 | Hour 1 & 2 |
|
|||||
Week 4 | Deployment and Project Development | Day 1 | Hour 1 to 4 |
|
|||
Day 2 | Hour 1 to 4 |
|
|||||
Day 3 | Hour 1 to 4 |
|
|||||
Day 4 | Hour 1 to 4 |
|
|||||
Day 5 | Hour 1 to 4 |
|
|||||
Practical Tasks:
Task | Description | Week | |
1 | Develop a Simple To-Do List App using React Native | ● Develop a basic to-do list application using React Native
● Allow users to add tasks, mark them as completed, and delete tasks ● Implement basic navigation between screens to handle the task list and task details. |
Week 1 |
2 | Develop a Weather Forecast App using React Native | ● Build a weather forecast application using React Native
● Fetch weather data from a weather API, display the current weather, and provide a 5-day forecast ● Implement state management to handle loading indicators, error messages, and global state for the selected city. |
Week 2 |
3 | Develop a Recipe Finder App with Advanced UI and Animations using React Native | ● Create a Recipe Finder application using React Native
● Allow users to search for recipes, view recipe details, and save their favorite recipes ● Implement advanced styling techniques, animations, and native module integration to enhance the user experience. |
Week 3 |
4 | Develop and Deploy a Task Management App using React Native | ● Develop a task management application using React Native
● Allow users to create, update, delete tasks, set deadlines, and prioritize tasks ● Focus on testing, performance optimization, and deployment of the app. |
Week 4 |
5 | Project Documentation:
|
● Create comprehensive documentation for the E-Commerce App.
● Include a project overview, installation instructions, and a guide on how to use and navigate the app. |
Final Term |
6 | Final Project Enhancement:
|
● Enhance the E-Commerce App with additional features.
● Consider features like user authentication, product categories, and the ability to place orders. |
Final Term |