This bootcamp is designed for those who are new to mobile development and want to learn how to build applications using React Native. While this bootcamp won’t delve too deeply into React Native or provide a solid foundation, it will give you a taste of what mobile development entails and inspire you to explore further on your own.
- Know TypeScript
- Setup NodeJS and Yarn
- Completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
- Create a new application using
npx react-native init YourProjectName --template react-native-template-typescriptFrom RN v0.71, you can omit --template react-native-template-typescript
| Library | Category | Version | Description |
|---|---|---|---|
| React Native | Mobile Framework | v0.72 | |
| React | UI Framework | v18 | |
| TypeScript | Language | v4 | |
| React Navigation | Navigation | v6 | |
| apisauce | REST client | v2 | A wrapper for Axios. Communicate with back-end |
| react-native-config | Config | v1.5 | dotenv for React Native |
| react-native-fast-image | Component | v8.6 | Better Image component |
| Flipper | Debugger | Native debugging | |
| React Native Debugger | Inspector/Debugger | JS debugging | |
| Hermes | JS engine | Fine-tuned JS engine for RN | |
| Jest | Test Runner | v29 | Standard test runner for JS apps |
| date-fns | Date library | v2 | Excellent date library |
.envcontain secrets that you don't want them on git. Requirereact-native-configappassetsstatic resource such as images, icons,...componentsshared custom componentconfigstore environment variables and provide typing for.envfile. You can have different config base on__DEV__flagconstantsmodelsdata types forserviceoutput and components. Can combine with Redux or MobX-State-Treenavigatorsthis is where yourreact-navigationnavigators will live.screensthis is where your screen components will live. A screen is a React component which will take up the entire screen and be part of the navigation hierarchy. Each screen will have a directory containing the.tsxfile, along components or other helper files.servicesany services that interface with the outside world will live here (think REST APIs, Push Notifications, etc.).utilsthis is a great place to put miscellaneous helpers and utilities. Things like date helpers, formatters, etc. are often found here. However, it should only be used for things that are truly shared across your application. If a helper or utility is only used by a specific component or model, consider co-locating your helper with that component or model.