Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Devfest Nantes 2019 - React Native : comment réussir son application mobile

Devfest Nantes 2019 - React Native : comment réussir son application mobile

Facebook, Instagram, Pinterest, Skype, UberEATS, Lastminute, Veepee : voici quelques-unes des plus belles références de React Native. Cette solution portée par Facebook permet de développer des applications mobiles natives Android et iOS à partir d’un code source unique React. Les technologies du web pour développer de vraies applications mobiles !

Depuis plus de deux ans nous avons fait le pari de React Native et mené à bien des projets de développement d’applications mobiles. À travers un retour d’expérience sur ces projets, nous vous présenterons les grands principes de React Native, ses points forts et les difficultés que nous avons rencontrées lors de nos développements. Nous vous donnerons également quelques conseils sur les bons outils, les bonnes librairies et les bonnes méthodes à mettre en place pour réussir votre projet React Native.

Nicolas Helfer

October 21, 2019
Tweet

More Decks by Nicolas Helfer

Other Decks in Programming

Transcript

  1. Qui sommes- nous ? Olivier THIERRY Lead tech front chez

    ASI Nicolas HELFER Scrum master chez ASI OThierryBzh nhelfer
  2. On va vous parler de … React Native Ses grands

    principes Ce qu’on a aimé et pas aimé Notre stack technique Bonnes pratiques
  3. Les critères de choix de la techno Android et iOS

    Bonne expérience utilisateur Rationnaliser les coûts de développement Time to market réduit Solution pérenne Bonne expérience développeur
  4. Avant de penser React Native ... Faire simple Respecter les

    standards des plateformes Anticiper le déploiement sur les stores Attention aux permissions ! Un back fiable Méthodes agiles bien adaptées
  5. Les promesses de React Native "WRITE ONCE RUN EVERYWHERE" INTERFACE

    NATIVE IOS ET ANDROID UN ÉCOSYSTÈME RICHE DÉVELOPPER COMME DU WEB DE BELLES RÉFÉRENCES
  6. Structure d'un projet React Native CODE JAVASCRIPT (REACT) PROJET iOS

    PROJET ANDROID PROJET REACT NATIVE APPLICATION ANDROID (APK) APPLICATION iOS (IPA) METRO BUNDLE JAVASCRIPT
  7. Fonctionnement d'une application React Native BUNDLE JAVASCRIPT APPLICATION REACT NATIVE

    BRIDGE REACT NATIVE LIBRAIRIES NATIVES MOTEUR JAVASCRIPT (JAVASCRIPT CORE) COMPOSANTS NATIFS COMPOSANTS REACT NATIVE PLUGINS REACT NATIVE CODE NATIF
  8. React Native, le côté lumineux de la force "Write Once

    Run Everywhere" : promesse tenue ! React, son approche composants et son écosystème La gestion des styles Une large communauté de développeurs Une plateforme en constante évolution
  9. React Native, le côté obscur de la force Complexité des

    builds Intégration de SDK parfois complexe Des performances parfois décevantes (Android) Des montées de version compliquées Un environnement de développement complexe
  10. Quelques conseils Démarrer à partir d'un boilerplate Utiliser une librairie

    de typage Utiliser une librairie de composants Exploiter l’approche composants Utiliser une librairie de gestion d'état Sécuriser les livraisons
  11. Comment sécuriser vos livraisons ? Créer et Partager la stratégie

    de test Automatiser les builds et déploiements Créer des tests pertinents Créer des campagnes de test Automatiser vos tests Tester sur des devices réels !
  12. Comment sécuriser vos livraisons ? Créer et Partager la stratégie

    de test Automatiser les builds et déploiements Créer des tests pertinents Créer des campagnes de test Automatiser vos tests Tester sur des devices réels !
  13. Comment sécuriser vos livraisons ? Créer et Partager la stratégie

    de test Automatiser les builds et déploiements Créer des tests pertinents Créer des campagnes de test Automatiser vos tests Tester sur des devices réels !
  14. Boîte Noire Doc. Fonctionnelle Comportement utilisateur Analyses de bugs coûteuses

    Boîte Grise Structure du logiciel Bugs finement détectés Cas difficilement reproductibles Tests d’intrusion VS
  15. Outils de tests automatisés Appium React Native Testing Library Firebase

    Test Lab Robo tests Detox XCTest Perfecto Espresso