Comprendre le développement d’application

 

Dans un premier temps il est important de contextualiser ce qu’est une application mobile. Bien trop souvent on confond : application mobile et application native. En faisant mes différentes recherches à ce sujet, j’ai trouvé que la définition de Gabriel Dabi-Schwebel, fondateur de l’agence 1m30, était la plus précise et la plus compréhensible : une application mobile est un programme autonome conçu pour s’exécuter sur un terminal mobile, comme un smartphone ou une tablette tactile.

Il faut comprendre qu’une application est un logiciel applicatif ayant pour but une utilisation exclusive sur mobile et tablette.

Petite rétrospective sur le marché du smartphone et de l’application mobile

En 2018, le taux de pénétration mobile sur l’ensemble de la planète était de 93%, soit 6 572 950 124 personnes. Bien sûr, lorsque l’on parle de mobile, on ne parle pas forcément de smartphone. Néanmoins, selon la GSMA, association représentant les opérateurs et constructeurs de téléphonie mobile à travers le monde, on constate que l’utilisation de smartphone en 2018 aurait dépassé le 50% d’utilisateurs et croît d’année en année.utilisateur de téléphones mobiles

Si nous nous intéressons davantage au marché français, il faut savoir que durant ces huit dernières années, le nombre d’utilisateurs de smartphone est passé de 15% à 75%. De plus, selon l’agence du numérique, la tranche d’âge des 18 à 24 ans, première génération ultra connectée, indique que 98% possèdent un smartphone.

Après cette brève rétrospective sur l’utilisation du smartphone dans le monde et en France, qu’en est-il du marché de l’utilisation des applications mobiles. Il faut savoir que ce marché croît année après année et le constat qui est fait en 2018, est que l’utilisation des smartphones et autres appareils mobiles, type tablettes, représente 66% du temps passé sur un outil multimédia (contre 34% pour un ordinateur). De surcroit, 87% du temps passé sur un smartphone s’effectue sur des applications mobiles.

croissance du smartphone

Rentrons dans le vif du sujet

Le sujet initialement était « La Progressive Web App, la nouvelle alternative du développement d’applications ».

Tout d’abord, il est important de distinguer les différents types d’applications mobiles qu’il y a sur le marché. Il y a les Web Apps, les applications Hybrides, Instant application et les applications Natives.

Les applications Natives et Hybrides sont des applications que l’on retrouve dans les stores des différents OS (Apple Store/ Google Play/ Microsoft Store). Néanmoins, leurs développements diffèrent de la Web application

différence entre un site et une application

L’application native

Une application native est une application mobile qui fait l’objet de développements distinct pour chacun des systèmes d’exploitation utilisé (iOS, Android, etc.), et ainsi elle fonctionne de façon optimale avec tous les types d’appareils. Son développement est plus complexe car les langages de programmation sont différents selon les systèmes d’exploitation. Par exemple, les applications pour l’Apple Store sont développées soient en Objective-C ou en Swift alors quand

les applications pour Google Play sont développées en Java et Kotlin. Les applications Windows sont développées en C#.

La différence est significative, car ces divers langages feront appel à ce que l’on appelle les couches de bases de l’appareil en question, comme l’appareil photo ou encore l’accéléromètre.

application native

L’application Hybride

Entre l’application native et l’application web, on trouve l’application « cross-platform », a tort appelé « Hybride ». Comparées aux applications natives, les applications hybrides sont moins chères et plus rapides à développer.

Une application « cross-platform », a une conception plus simple et rapide que les applications natives car seulement une version du code est déployée pour les différents systèmes d’exploitation (Apple, Android, Windows). Lors du développement de l’application, un Software Development Kit (SDK) est utilisé pour avoir accès à une librairie d’ensemble de briques préconstruites adaptées aux différents systèmes d’exploitation et permettant la transposition en code binaire (langage natif).

Les développements en « cross-platform » ont l’avantage de réduire la maintenance et de faciliter l’ajout de fonctionnalités car il n’y a qu’une seulement une version du code.

Dans les applications « cross-platform », on trouve les applications « hybrides » et les applications « natives générées ».

Une application « natives générées » est une application développée à partir un langage exclusion cross-platform » type  C#, Ruby, JavaScript, React Native. Les SDK sont plus utilisé sont Xamarin et Titanium.

Une application « hybride » est une application un contenu web est alors « encapsulée » avec une interface mobile. On y retrouve à la différence de la « native générée », du code HTML 5. Pour ce faire, des SDK telles qu’Apache Cordova (le plus courant), PhoneGap, Rho Mobile sont utilisés.

application hybride

Toutefois, il faut être conscient cette facilité de développement peut induire sur les performances de l’application car moins stables que le développement natif puisque le système est moins adapté à chaque plateforme. LinkedIn est une application hybride et marche très bien.

La révolution Google : Flutter !

Flutter est un Framework annoncé en 2015 et sorti en 2018. Ce Framework propose une nouvelle alternative aux développements « cross-platform » ayant pour but de résoudre les limites de ses prédécesseurs : une approche « multi-platform ». Elle se démarque des solutions « cross-platform » par une approche différente sur les aspects spécifiques aux plateformes :

cross-platform : accès à des briques de fonctionnalités.

multi-platform : accès de base à toutes les fonctionnalités spécifiques.

Via un développement « multiplateforme », on se débarrasse de la surcouche permettant de lisser les différences entre les systèmes d’exploitation. En outre, Flutter s’appuie sur les fonctionnalités proposées par chacun des OS. De plus, Flutter dessine l’interface en utilisant Skia, au lieu d’être un wrapper au-dessus des composants UI natifs à Android et iOS, comme proposé par les SDK « cross-platform », permettant la création d’une interface utilisateur identique sur Android et sur iOS.

la Webapp

La Web application est un logiciel applicatif hébergé sur un serveur et accessible à travers un navigateur web. Cependant, contrairement à un logiciel traditionnel, les utilisateurs n’ont pas la nécessité d’installer le logiciel. La connexion avec l’application se fait via un navigateur internet, comme si c’était un site web.

Néanmoins, les avancées technologiques ont permis l’apparition des progressive Wep App (PWA). Une Progressive Web App est une Web App ayant intégré des fonctionnalités grâce à des « Service Worker » qui était jusqu’à présent réservé aux applications natives.

Les avantages d’une PWA sont divers. D’une part, elle permet d’avoir des frais de développement moins élevé qu’une application native ou hybride car les langages de programmation sont plus courants (HTML 5, JAVA, PHP, REACT, Angular …). Son développement repose sur la segmentation et l’association des briques d’une application au travers d’API. Cette conception particulière permet de prendre le meilleur de chaque technologie utilisée dans l’architecture métier afin d’obtenir un parfait compromis entre une application native/mobile et un site web.
D’autre part, son accessibilité depuis un navigateur lui donne également l’avantage d’être cross-plateforme, c’est-à-dire, accessible depuis n’importe quelle device : Desktop, tablette et mobile. Les ressente avancer permettent aux PWA d’utiliser des fonctionnalités natives comme l’utilisation Offline, GPS à la demande, géolocalisation, NFC, notifications push et la gestion du cache, appareil photo, le micro, la boussole.

Il y a des entreprises qui ont décidé d’utiliser des PWA et ont vu une nette évolution de leur taux de rebond.

L’Equipe

L’Équipe compte quotidiennement 2,6 millions de visiteurs uniques, dont 1,6 millions depuis un mobile. Et les chiffres sur mobile sont en constante progression. Pour garantir une meilleure expérience utilisateur sur mobile, le media français a développé une PWA, lui permettant de diviser par 2 son taux de rebond.

PWA-lequipe

Twitter lite

Twitter a développé Twitter Lite pour concurrencer l’application native Twitter. La PWA utilise les « services workers » permettant à la mise en cache et ainsi proposer une application ne pesant plus que 1 Mo, ayant une vitesse de chargement de 30 % plus rapidement que la version native et consommant 70 % de data en moins. Grace à la PWA, Twitter augmenté de 65 % ses pages par session, de 75 % le nombre de tweets envoyés et de 20 % en moins du taux de rebond comparé au site mobile avant PWA. De plus, cette nouvelle app a permis son développement dans les pays en voie de développement ou les connexions à bas débit sont le plus répandues.

Pinterest

Pinterest est, selon la description officielle du réseau social, un lieu d’inspiration pour tous vos projets et centres d’intérêt, qui regorge d’idées choisies personnellement par d’autres internautes comme vous. Avant la mise en place de leur PWA, les inscriptions provenant de l’application mobile étaient inférieures à 10 % des inscriptions totales. À la suite du développement de leur PWA, les inscriptions provenant de l’application mobile étaient inférieures à 10 % des inscriptions totales. De plus, le

Avantages :

  • Les PWA proposent une expérience rapide et efficace avec un temps de chargement des pages grandement réduits.
  • Une PWA peut utiliser certaine fonctionnalité native via les « Services Workers » : l’utilisation Offline, GPS à la demande, géolocalisation, NFC, notifications push et la gestion du cache, appareil photo, le micro, la boussole.
  • Possibilité d’utilisation Offline, etc.. ;
  • Application sécurisée par le protocole HTTPS, garantissant une utilisation pour tout type de site et de données.
  • Mises à jour faible : automatique durant de son chargement.
  • Possible création d’icone dans sur l’écran d’accueil si l’on enregistrer dans ses favoris (même icone qu’une application native).
  • Icone donc chemin d’accessibilité court
  • Les « services workers » améliorent les performances de l’application à l’instar d’une application native : l’utilisation maximum de données en cache (PWA Pinterest)
  • Fidéliser les internautes qui ne convertissent pas sur mobile