2 - Introduction React Native


Écosystème mobile

  • Natif Android, Java/Kotlin
  • Natif iOS, Swift/Objective-C
  • Multiplateforme?
    • React Native
    • Xamarin
    • Ionic/Capacitor
    • ...

Quoi choisir?

  • Public visé
  • Fonctionnalités requises
  • Taille et aptitudes de de l'équipe de développement

React Native

  • Mature et flexible
  • Permets de réutiliser les compétences en Web via JSX
  • Richesse de l'écosystème JavaScript, Node et Expo
  • Documentation et exemples abondant
  • Communauté active
  • Passerelle native

📚 React Native Docs

📚 Expo

+---------------------------+
|           Expo            |
|             ▼             |
|     React Native CLI      |
|  +---------------------+  |
|  |  React / JavaScript |  |
|  |          ▼          |  |
|  |     React Native    |  |
|  |  +---------------+  |  |
|  |  |               |  |  |
|  |  | Android / iOS |  |  |
|  |  |               |  |  |
|  |  +---------------+  |  |
|  +---------------------+  |
+---------------------------+

Configuration de l'environnement de développement

⬇️ Télécharger la machine virtuelle

  • Environnement Node, NPM
# as root
su -l root

apt install git nodejs npm
echo fs.inotify.max_user_watches=524288 | tee -a /etc/sysctl.conf && sysctl -p

En tant qu'usager standard

mkdir -p ~/.npm-global/lib
npm config set prefix '~/.npm-global'
su root -c 'echo "export PATH=~/.npm-global/bin:\$PATH" > /etc/profile.d/npm.sh'

Optionnel pour tester nativement sur un appareil Android

Valider la configuration

  • Environnement Node, NPM
node -v
npm -v
  • React Native / Expo
npx create-expo-app test

cd test

npx expo start # --tunnel si pas sur le meme reseau, au Cegep etre sur TechInfo-Etudiant
               # Répondre Y pour l'installation de ngrok

# Scanner le code QR avec Expo Go

📚 Expo

📚 Expo CLI