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

Web2Day 2019 - React Native dans les fintechs :...

Web2Day 2019 - React Native dans les fintechs :​ bonne ou mauvaise idée ?​

Dans des temps pas si anciens, développer une application mobile nécessitait la maîtrise de deux plateformes de développement spécifiques pour Android et iOS. Mais ces dernières années de nouveaux outils ont vu le jour pour unifier le développement des applications mobiles. Parmi eux la solution promue par Facebook : React Native. La promesse de React Native : de vraies applications mobiles natives Android et iOS sur la base d’un code source unique React. Alors, promesse tenue ? Nous avons développé des applications mobiles pour des FinTechs, dans des secteurs concurrentiels et avec des délais serrés, en faisant le pari de React Native. À travers un retour d’expérience sur ces projets, nous vous présentons les grands principes de React Native, ses avantages et les difficultés que nous avons rencontrées.

Avatar for Nicolas Helfer

Nicolas Helfer

June 05, 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. 25 ans déjà 35 M€ de CA en 2018 450

    collaborateurs 51% actionnariat salariés L’alliance du Conseil, du Marketing Digital et de l’Expertise Technologique Développer l’Expérience Clients & Collaborateurs
  3. Le projet Une application mobile Android et iOS Innovant À

    l’écoute des utilisateurs Évolutif
  4. Étapes de construction du produit DÉFINITION DES DIFFÉRENTS ÉCRANS RÉDACTION

    DES SPÉCIFICATIONS DÉVELOPPEMENT DES ÉCRANS TESTS ET RECETTES MISE EN PRODUCTION
  5. DÉFINITION DES DIFFÉRENTS ÉCRANS RÉDACTION DES SPÉCIFICATIONS DÉVELOPPEMENT DES ÉCRANS

    TESTS ET RECETTES MISE EN PRODUCTION Étapes de construction du produit POUBELLE
  6. Besoins Fonctionnalités Produit(s) Itérations Transférer de l’argent à un tiers

    -> Effectuer un virement SEPA -> Faire un paiement CB -> Faire un paiement Paylib -> Faire un virement instantané Sécuriser mes transactions -> Via login / mot de passe -> Limiter l’accès à certains périphériques -> Via empreinte digitale / reconnaissance faciale
  7. Besoins Fonctionnalités Produit(s) Itérations Transférer de l’argent à un tiers

    -> Effectuer un virement SEPA -> Faire un paiement CB -> Faire un paiement Paylib -> Faire un virement instantané Sécuriser mes transactions -> Via login / mot de passe -> Limiter l’accès à certains périphériques -> Via empreinte digitale / reconnaissance faciale
  8. Besoins Fonctionnalités Produit(s) Itérations Transférer de l’argent à un tiers

    -> Effectuer un virement SEPA -> Faire un paiement CB -> Faire un paiement Paylib -> Faire un virement instantané Sécuriser mes transactions -> Via login / mot de passe -> Limiter l’accès à certains périphériques -> Via empreinte digitale / reconnaissance faciale
  9. Besoins Fonctionnalités Produit(s) Itérations Transférer de l’argent à un tiers

    -> Effectuer un virement SEPA -> Faire un paiement CB -> Faire un paiement Paylib -> Faire un virement instantané Sécuriser mes transactions -> Via login / mot de passe -> Limiter l’accès à certains périphériques -> Via empreinte digitale / reconnaissance faciale
  10. Besoins Fonctionnalités Produit(s) Itérations Transférer de l’argent à un tiers

    -> Effectuer un virement SEPA -> Faire un paiement CB -> Faire un paiement Paylib -> Faire un virement instantané Sécuriser mes transactions -> Via login / mot de passe -> Limiter l’accès à certains périphériques -> Via empreinte digitale / reconnaissance faciale
  11. Nos critères de choix Android et iOS Rationnaliser les coûts

    de développement Time to market réduit Fonctionnalités évolutives Solution pérenne Bonne expérience utilisateur
  12. Pourquoi React Native ? "WRITE ONCE RUN EVERYWHERE" INTERFACE NATIVE

    IOS ET ANDROID UN ÉCOSYSTÈME RICHE DES COMPÉTENCES PROCHES DU WEB DE BELLES RÉFÉRENCES
  13. 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
  14. 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
  15. 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
  16. React Native, le côté obscur de la force Besoins ponctuels

    de compétences en natif Des performances parfois décevantes (Android) Des API décevantes (navigation) Des montées de version compliquées Un environnement de développement instable
  17. Quelques conseils Démarrer à partir d'un boilerplate Utiliser Typescript Utiliser

    une librairie de composants Utiliser Storybook pour mettre au point les composants Tester sur des devices réels ! Automatiser vos tâches récurrentes
  18. 6 mois plus tard… Une application mobile performante Une nouveauté

    chaque mois Une application stable Une progression des développeurs