React Native - The Practical Guide
Use React Native and your React knowledge to build native iOS and Android Apps - incl. Push Notifications, Hooks, Redux
Use React Native and your React knowledge to build native iOS and Android Apps - incl. Push Notifications, Hooks, Redux
Mobile apps are one of the best ways to engage with users - no wonder everyone wants to build one!
But wouldn't it be amazing if you could use your web development knowledge, combined with your React knowledge, to build mobile apps with that?
That's exactly what React Native allows you to do!
No need to learn Java, Android, Swift, ObjectiveC or anything of that - React and JavaScript is all you need to create awesome native mobile apps that work on both Android and iOS. That's probably the reason why Instagram, AirBnB, Skype and many other global companies are using it to build their mobile apps!
With this course, you can join this league. I'll teach you all you need to create your own React Native apps, publish them to the Google Play Store and Apple App Store and dive really deep into the React Native ecosystem.
You'll learn all about the theory behind React Native, its core concepts, how to build responsive designs that work on different device sizes, how to navigate around, use maps and the camera and so much more!
And which better way to learn than by building a real app? We'll build the "Favorite Places" app in this course, an app where users can share amazing pictures and the location where they took them. This app will allow you to see things like using maps, the camera, user authentication, connecting to a server and much more in action.
By the end of the course, we'll of course also go through all steps required to get it into an app store.
Here's a detailed look at what you'll get:
The core concepts and theory
How to use React, JavaScript and native components
Understand how to navigate in React Native apps
A closer look at styling and animating React Native apps
Instructions on how to use third-party libraries in your React Native app
Detailed examples on how to use maps or an image picker
A full user authentication flow
How to connect to a backend server from your app
Debugging instructions
And so much more!
What will you need to succeed in this course?
NO Android, Java, Swift or ObjectiveC knowledge is required!
JavaScript and React (for the web) knowledge is required though - you don't need to be an expert but the basics need to be set (though there are refresher sections in this course!)
I'd be very happy to welcome you in the course!
Max
Khu vực Câu hỏi thường gặp trống
Welcome To This Course & What To Expect!
What Is React Native?
A Glance Under The Hood Of React Native
Creating React Native Projects: Expo CLI vs React Native CLI
Creating a New React Native Project
Analyzing The Created Project
Running Our First App On A Real Device!
Setting Up A Local Development Environment
About This Course
Join our Online Learning Community
Course Setup
Course Resources, Code Snapshots & How To Use
Module Introduction
Exploring Core Components & Component Styling
Working With Core Components
Styling React Native Apps
Exploring Layouts & Flexbox
React Native & Flexbox
Using Flexbox To Create Layouts
Flexbox - A Deep Dive
Improving The Layout
Handling Events
Managing A List Of Course Goals (in our Demo App)
IOS & Android Styling Differences
Making Content Scrollable with ScrollView
Optimizing Lists with FlatList
Splitting Components Into Smaller Components
Utilizing Props
Working on the "Goal Input" Component
Handling Taps with the Pressable Component
Making Items Deletable & Using IDs
Adding an Android Ripple Effect & an iOS Alternative
Adding a Modal Screen
Styling the Modal Overlay
Opening & Closing the Modal
Working with Images & Changing Colors
App Finishing Touches
Module Summary
React Native: Core Components, Styling & Colors - More Information
Components, Styles, Layouts
More Components & Lists
Module Introduction & What We'll Build
Starting Setup & Analyzing the Target App
Setting Up our Screen Components
Creating Custom Buttons
Styling for Android & iOS
Styling the "Number Input" Element
Configuring the TextInput Field
Adding Visual Feedback to the Buttons
Improving the Buttons
Coloring the Components & The Overall App
Adding a Linear Gradient
Adding a Background Image
Getting Started with the Game Logic
Handling User Input & Showing an Alert Dialog
Switching Screens Programmatically
Starting Work on the Game Screen
Respecting Device Screen Restrictions with the SafeAreaView
Creating a Title Component
Managing Colors Globally
Creating, Using & Displaying Random Numbers
Adding Game Control Buttons ("+" & "-") to the App
Checking for "Game Over"
Improving the Game Screen Visuals
Using "Cascading Styles"
Working with Icons (Button Icons)
Adding & Using Custom Fonts with React Native Apps
Adding a (Foreground) Image
Using & Styling Nested Text
Adding Logic to (Re-)Start Games & Displaying a Summary Screen
Logging Game Rounds
Outputting Log Data with FlatList
Styling the Game Round Logs
Finishing Touches
Module Summary
Module Introduction
Setting Dynamic Widths
Introducing the Dimensions API
Adjusting Image Sizes with the Dimensions API
Understanding Screen Orientation Problems
Setting Sizes Dynamically (for different Orientations)
Managing Screen Content with KeyboardAvoidingView
Improving the Landscape Mode UI
Further Improvements with useWindowDimensions
Writing Platform-specific Code with the Platform API
Styling the Status Bar
The Dimensions API & Responsive UIs
Module Introduction
What Is Navigation?
Getting Started with the App & Outputting Meal Categories
Displaying Items in a Grid
Getting Started with the React Navigation Package
Implementing Navigation Between Two Screens
Understanding the useNavigation Hook
Working with Route Parameters To Pass Data Between Screens
Displaying Meals
Adding Images & Styling
Styling Screen Headers & Backgrounds
Setting Navigation Options Dynamically
Adding & Configuring the Meal Details Screen
Outputting Content in the Meal Detail Screen
Finishing the Meal Detail Screen
Adding Header Buttons
Adding an Icon Button to a Header
Adding Drawer Navigation & Creating a Drawer
Configuring the Drawer Navigator & The Drawer
Adding, Configuring & Using Bottom Tabs
Nesting Navigators
App Finishing Touches
Module Summary
Setting the Default Screen
Module Introduction
Getting Started with React's Context API
Managing App-wide State with Context
Using the Created Context with useContext
Managing Favorite Meals with the Context API
Getting Started with Redux & Redux Toolkit
Working with Redux Slices
Managing Redux State & Dispatching Actions
Using Redux State in Components
Module Summary
Module Introduction & What We'll Build
The Starting Setup
Adding Navigation (with React Navigation) & Configuring Navigation
Adding Global Colors & Editing Navigation Configuration
Creating Key App Components to Display Expenses
Continuing Work on the Expense-related Components
Adding Dummy Expense Data
Outputting a List of Expenses
Improving App Layout & Styling
Working on Expense List Items
Formatting Dates
Adding a Header Button & Making Expense Items Tappable
Navigating Programmatically Between Screens
Styling The Expense Management Screen
Supporting Different Editing Modes & Using Route Parameters
Adding a "Delete" Button
Adding Custom Buttons
Closing A Modal Programmatically
Managing App-wide State With Context
Using Context From Inside Components
Deleting & Updating Expenses
Finishing Touches
Module Introduction
Building a Custom Input Component
Creating an Overall Form
Configuring the Form Input Elements
Adding Styling
Setting the Form Layout
Handling User Input in a Generic Way
Managing Form State & Submission
Working with Entered Data
Setting & Using Default Values
Adding Validation
Providing Visual Validation Feedback
Adding Error Styling
Module Summary
Module Introduction
Backend Setup (Firebase)
Installing Axios
Sending POST Http Requests
Fetching Backend Data (GET Requests)
Transforming & Using Fetched Data
Using Response Data from POST Requests
Updating & Deleting Backend Data (UPDATE & DELETE Requests)
Managing the Loading State
Handling Request Errors
Module Summary
Module Introduction
Demo App Walkthrough
How Does Authentication Work?
Backend Setup
Controlling Signup & Login Screens
Sending Authentication Requests to the Backend
Creating New Users
Logging Users In
Authentication Error Handling
Storing & Managing the User Authentication State (with Context)
Extracting the Authentication Token
Protecting Screens
Adding a Logout Functionality
Accessing Protected Resources
Storing Auth Tokens on the Device & Logging Users In Automatically
Module Summary
A Note About Token Expiration
Module Introduction
Adding a "Favorite Places" List
Editing the Favorite Place Items
Adding an "Add Place" Screen + Navigation
Adding a Header Button
Global Colors & Styling
Getting Started with a Custom Form
Adding & Configuring the Camera Package (for Native Camera Access)
Taking Photos on Android
Taking Photos on iOS + Managing Permissions
Showing an Image Preview
Creating a Custom Button
Getting Started with the Location Picker
Locating Users
Adding a Location Preview Map
Adding an Interactive Map (Google Maps & Apple Maps)
Allowing Map Interaction & Adding Markers
Confirming Picked Locations
Previewing Picked Locations
Adding a Form Submit Button
Managing Location & Image State in the Form
Converting Picked Locations to Human-Readable Addresses
Passing Entered Data to the "AllPlaces" Screen
Outputting a List Of Places
Styling Place Items
SQLite: Getting Started & Initialization
Preparing Code to Insert Data into the SQLite Database
Inserting Places into the Database
Fetching Places from the Database
Adding the Place Details Screen
Fetching Place Detail Data from the Database
Showing a Readonly Map
Module Summary
React-native-maps & Expo Go
Module Introduction
How Exactly Does Expo Work?
Expo Alternatives
Setting Up Our System
Using Expo's Bare Workflow
Using Native Device Features with the Bare Workflow
Ejecting To The Bare Workflow
Creating Projects with the React Native CLI (no Expo)
Non-Expo Apps & Native Device Features
Module Summary
Module Introduction
Publishing Apps: An Overview
Key Configuration Items & Considerations
Configuring App Names & Versions
A Quick Note About Environment Variables
Adding Icons & A Splash Screen
Building Expo Apps with EAS
EAS for iOS (even on Windows Devices)
Building for iOS Without Expo
Building for Android Without Expo
Configuring Android Apps
Module Introduction
What are (Local) Notifications?
Adding the Expo Notification Package
Scheduling Notifications
Handling Incoming Notifications
Reacting To Incoming Notifications
Reacting To User Interaction With Incoming Notifications
Understanding Push Notifications
Push Notifications Setup
Using the Push Token
Sending Push Notifications
Module Summary
Configuring Scheduled Notifications
Local Notifications - Permissions
React knowledge is a must (but you absolutely DON'T have to be an expert)
JavaScript knowledge is a must, next-gen JavaScript knowledge (i.e. ES6+) is recommended
NO Android/ Java or iOS (Swift, ObjectiveC) development experience is required
Learn how to use ReactJS to build real native mobile apps for iOS and Android
Develop cross-platform (iOS and Android) mobile apps without knowing Swift, ObjectiveC or Java/ Android
Explore React Native basics and advanced features!
Learn how to use key mobile app features like Google maps or the device camera
1.2
2 Học viên
275 Khóa học
1253 Đánh giá
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
Xem chi tiết