L’iPhone et Android existent maintenant depuis plus de 10 ans. Dans le but d’optimiser et de simplifier le développement d’applications mobiles afin d’être présent sur les plateformes iOS et Android, des Frameworks ont émergés via des technologies hybrides et X-Platform.
Ces solutions alternatives aux plateformes natives sont régulièrement remises en cause (entre autre par Apple), qui évoque les failles de sécurité et les dettes technologiques liées à ces solutions.
Pouvoir délivrer cette proposition de valeur passe par la cohérence et l’articulation des différentes expertises : conseil, design, technologues, architectes, développeurs et experts sales force. Nous avons réussi a assurer cette cohérence grâce à un développement 100% organique. Ce qui garantit l’homogenité et la bonne intégration de chaque expertise dans la proposition de valeur, car le développement de l équipe s est fait en cohérence avec le développement de la proposition. Et ce qui est illustre par la taille de équipe : ce développement « naturel » a permis d avoir des taille d équipes cohérentes avec les poids d un projet digital : 15% sur du cadrage 15% sur du design et 60/70% sur du développement. Cette homogéneité, ce developpement naturel tire par la proposition de valeur et les besoin des clients est un atout et un differenciateur fort, garant d’une promesse One Niji aupres de nos clients
Dev sur les différentes plateformes depuis plus de 10 ans (Apple iPhone, Google Android). Développe entre 20 et 30 applications par an que ce soit des applications Grand publique que des applis pros (On en reviendra)
Question :
Vous connaissez quoi du mobile ? Android-Google et iPhone-Apple avec la plateforme iOS
Quelle est la répartition en France Android iOS ?
Difficile de comparer IOS et Android dans le fond car un constructeur et un fournisseur de service
Android Open Source. Couche Service de Google payante (Google Maps, GoogleTalk, Gmail, GooglePlay, …). Chacun peut rajouter ses couches (Samsung, HTC, ….)
Par exemple la couche Google PlayStore, Google Maps, …sont des services payants.
Harmony est entrain de mettre en place ses propres services -> par exemple carto chinoise que nous avons mis en place pour Parrot qui s’est vu refuser sur Playstore
Quand je dis que conception est très important. La solution technique est quand même également une part importante. Mais cette conception nous permet justement de faire le bon technologique.
Technologie, une histoire compliqué sur mobile. Avez-vous déjà entendu parlé de techno ?
Application EDF&Moi / Application SNCF Réseau
Et le XPlatform, le principal sujet de ce Webinar
Des gens se sont demandé comment mutualiser les Devs. On ne va pas s’amuser à chaque fois à développer sur 2 plateformes. Et puis si on utilisait les compétences web pour développer des applications mobile….Tiens si on embarqué un site web dans une application-> Hyrbide
Cordova ça vous parle ?
Aujourd’hui X-Platform, car les nouveaux framework s’appuie soit sur des couches basse soit du transcodage.
Beaucoup de framework XPlatform, donc il faut savoir faire le tri et savoir ce que cela vaut.
Interet du X-Platform : Mutualisation des devs.
Inconvénients : Utilisation d’une potentielle boite noir / vigilance sur l’utilisation des composants Natif du mobile.
Quand on parle de Xplatform, on parle du coup de design mutualisé ?
Attention au guideLine à respecter
Jusqu’où devons nous essayer de mutualiser ? (surtout quand on sait que la couche graphique représente en moyenne 50% des développements d’une application mobile
Quel sont les avantages et les freins de ces solutions ?
Quelles sont les solutions de contournement à ces freins ?
Material Design pour Android, FlatDesign pour iOS. Si on veut faire du Xplatform et mutualiser le plus possible mutualisons l’interface graphique. Mais on applique quel GuideLine ? iOS, Android ? Un mix ?
Toutes les applications ne respecte pas cela. Par contre quelqu’un qui a un iPhone préfère avoir des applications iPhone et inversement.
Exemple application SNCF qui respecte les guidLine (Installé les applis SNCF sur iPhone et Android)
Cependant les utilisateurs sont de plus en plus habitué à avoir un design commun.
Au tout début du mobile nous devions gérer à la main la taille des résolutions d’écran, des différents adaptation. Aujourd’hui c’est très bien géré
En parlant de design parlons également de performance.
Le critère performance est très important : On se rend compte que 50% des utilisateurs d’une application considère la performance d’une application très important.
Quand un utilise installe une application, si il est déçu par celle-ci il la désinstalle et n’y retourne jamais. Une première version est donc très importante.
L’iPhone et Android existent maintenant depuis plus de 10 ans. Dans le but d’optimiser et de simplifier le développement d’applications mobiles afin être présent sur les plateformes iOS et Android, des Frameworks ont émergés via des technologies hybrides et X-Platform. Certaines perdurent, d’autres ont disparu aussitôt…
Je suis sur que plus de la moitié de tout ces frameworks ne vous parlent pas.
Différence entre XPlatform et Hybride ?
Les Progressive Web Apps sont des applications fonctionnant dans les navigateurs standards mais utilisant des fonctionnalités additionnelles.
Pour reprendre la notion de performance évoqué tout à l’heure, on voit que l’exécution se passe dans un page web avec le temps de latence et la réactivité associé
Runtime natif
-> accès à toutes les ressources systèmes, y compris virtualisation & recyclage des composants.
-> accès à toutes les possibilités systèmes, ré-utilisations de composants natifs déjà développés
Les nouvelles solutions XPlatform comme flutter sont-elles des solutions d’avenir, performante, pérenne ?
Le langage natif est-il le seul à pouvoir assurer une continuité ?
Compilation en AOT pour Flutter
Runtime natif
-> accès à toutes les ressources systèmes, y compris virtualisation & recyclage des composants.
-> accès à toutes les possibilités systèmes, ré-utilisations de composants natifs déjà développés
UI Partagé : Material et Cupertino
Flutter même design sur les 2 platformes. Flutter refait une couche design
React utilise les composants natifs (reconnaitre des composants de l’OS)
Il existe différents types de performances, par exemple :
Interaction avec l'API du téléphone (accéder aux photos, au système de fichiers, obtenir la localisation GPS, etc.).
Vitesse de rendu (fluidité de l'animation, images par seconde lorsque l'interface utilisateur est modifiée ou certains effets de l'interface utilisateur qui se produisent dans le temps).
Logique métier (vitesse des calculs mathématiques et des manipulations de la mémoire / Récupération des données APIS distante, …). Ce type de performance est le plus important pour les applications à logique métier complexe).
Revenons un instant sur les performances (test réalisé avec GameBench)
On compare ici RN Flutter et les appli Native.
L’appli de droite a été développé avec les différentes techno et mesuré ensuite sur Android et iOS
Pour info Ionic se basant sur des couches Web très haute
Des applications de redescente d’information comme on développe pour le Fil, pour des espaces clients que ce soit asssurance / mutuelle, application
D’autre étude réalisé avec la réalisation d’algo métier, montrent également une perf sur le natif avec un flutter assez proche.
Importance des communautés :
Qu’est ce qui fait vivre les frameworks Xplatform, ce sont les communautés.
Pour les bridges, les passerelles vers le natif entre autre.
Risque pèse sur la commauté.
Vs Natif qui a bien sur une communauté mais le développement des plateformes n’est pas basé sur une communauté
Ce qui intéressant sur un trends c’est que ça montre l’évolution des technos d’un pts de vue communautaire mais également d’un pt de vue adhésion.
Plus la communauté est grande, plus c’est actif, plus le framework est stressé, et plus nous sommes confiant sur la stabilité.
Diagramme confirmé par Bitrise (CI)
Quand on discute avec Apple ils nous disent clairement qu’ils n’ont pas d’interet à mettre des freins sur les techno XPlatform
Les freins sont principalement créé par Apple de par ses restrictions limitation
PWA concept lancé par Google en 2015….
PWA sur Apple : pas de push, gestion de données compliqué, pas possibilité d’avoir de luncher automatique, … impacté par le gestion des données d’Apple (suppression des données au bout de 7 jours si pas utilisé. )
Impact directement ionic
Impact sur la gestion de la boite noire : MAJ régulier
Design identique sur les 2 supports ? Adhésion de l’utilisateur donc performance.
Natif ? Xplatform?
Être présent sur le plus de support que possible.
Le but d’une appli GP est de donner envie à l’utilisateur de l’installer et surtout qu’elle reste installé et que la personne y retourne.
Une application se désintalle aussi vite qu’elle s’installe
Combien d’application vous avez installé et supprimé aussitôt ?
Une application qui n’accroche pas à la première utilisation est désinstallé.
Contrainte par rapport aux problématiques :
Doit être présent dans l’ensemble des stores
Doit être intuitif et performant pour répondre au besoin de l’utilisateur
Doit répondre aux besoins de l’utilisateur dans l’environnement de son utilisation ( Parrot à l’extérieur, Espace mutuel plutôt dans son canapé, Aéroport de Paris (dans un aéroport ou avant son vol), Recherche de borne de recharge de voiture électrique, plutôt en voiture ou avant son départ pour planifier son trajet,…
Trouver un fort moyen d’adhésion.
L’application doit avoir un message, une fonctionnalité principale, un but. Les applications à tout faire ne fonctionne pas. Une application, un usage :
EDF&Moi : espace client
Digiposte : coffre fort numérique
YAQD : Voir les ingrédients des produits alimentaires pour les intolérences
Drive U : faire ses courses
Application transport : valider ses billets de transports et les renouveler
Exemple la SNCF à plusieurs applications : OUiSNCF, SNCF, Inoui, …
B2B, B2E, B2B2E, ….
Appli est une extension du SI de l’entreprise (gestion des données, sécurisation, …)
Flotte mobile / gestion du parc de mobile / intervention de prestataire extérieur ?
Application Pro : est ce que ça vaut vraiment le coup de faire du XPlatform si on répond à une flotte précise de mobile ?
Exemple d’application de santé avec la télémétrie (échange avec des objets connecté)
Application Enedis pour accéder au transfo (être sur que la données est bonne)
Application pour les agents d’ONF ou la gendarmerie, …
Parrot pour les pro
Dalkia, faire son rapport d’intervention facilement.
Distribution de l’application ?
Si flotte uniquement, l’utilisation d’une solution XPlatform peut être une contrainte.
Obligation d’utiliser l’application comme un outils pour son métier. Est-ce qu’un site web peut répondre aux besoins ?
Pas de validation Apple ou Google pour une diffusion de l’appli en mode restreint.
Cible un seul smartphone ? Téléphone pro, téléphone perso BYOD ?
Si tel perso : Distribution des applications - ne souhaite pas application accessible par tout le monde (application technicien->Faille de sécurité vers SI SNCF)
sécurisation des données pro/perso / sécurisation des données -> Travail réalisé chez Thales sur le téléphone du président, des ministres et des DGs d’entreprise ?
D’ailleurs quel est le téléphone le plus sécurisé ?
Si tel pro : Gestion de la flotte de mobile ? Diffusion des applications professionnelles ? Sécurisation des données ? ….
Un choix important est le choix de la techno. Important de prendre des critères en compte pour faire le bon choix.
Nous reviendrons sur ce slide
La sécurité !!!!
Run : Maintenance / Appli Hybride – X-Platform refait tous les 3 ans