Trouver un article
Thèmes populaires
Vous souhaitez développer votre application mais vous ne savez pas si vous devez choisir entre native, webapp ou hybride ? Nous avons interrogé 3 développeurs mobile pour savoir comment orienter votre décision.
Les applications natives sont développées spécifiquement pour un système d’exploitation. Elle devra donc être développée dans chaque langage associé à un système d’exploitation (Java pour Android ou Swift pour iOS). Elles ont l’avantage d’être plus rapides et plus fluides, et aussi de pouvoir accéder aux fonctionnalités matérielles d’un appareil comme le micro, la caméra ou le GPS. Les applications natives se révèlent également intéressantes si on ne souhaite pas de connexion internet sur le service.
Inconvénients, l’application native présente un coût de développement élevé du fait de devoir développer le logiciel dans des langages différents. Elle représente également un besoin de maintenance complexe : une mise à jour doit en effet être effectuée dans chaque version existante de l’application. Cette multiplicité de versions possède toutefois un dernier avantage, elle permet d’adapter son material design, organiser la navigation et l’expérience utilisateur en fonction des appareils tournant sous des OS différents.
« Certes l’application native coûte plus chère à produire que les autres, mais je trouve qu’elle a son intérêt et surtout elle est plus facilement accessible pour l’utilisateur, confie Soukaina, développeuse chez Addixware, puisqu’il la retrouve directement dans le menu de son appareil. »
La webapp désigne la version mobile et responsive d’un site web. Par définition, elle ne nécessite donc pas un téléchargement préalable sur un appstore, elle est directement disponible via navigateur mobile en entrant l’adresse du site. Elle a pour avantage d’être moins coûteuse qu’une application native, mais aussi plus rapide à développer.
C’est ce que confirme Pierre, développeur chez Hellowork : « C’est effectivement plus rapide car il n’y a qu’un seul code pour les deux applications (Android & iOS). On se base sur des technos web qui sont maîtrisées par énormément de développeurs, il n’y a donc pas forcément besoin d’avoir un développeur purement mobile, un développeur front web peut s’y mettre. En contrepartie, elles offrent assez peu de contrôle sur l’aspect matériel, elles ne sont pas aussi fluides qu’une application native (même si les dernières technos hybrides comme ReactNative ou NativeScript offrent des performances très correctes). »
De leur côté, les applications hybrides sont des applications dites « cross-platform », il s’agit de déployer une seule version d’une application pour que celle-ci soit disponible sur toutes les plateformes. « L’application hybride est plus facile à développer et à gérer, indique Soukaina. Un développeur ou un client qui souhaite intégrer une nouvelle fonctionnalité dans son application peut le faire sur toutes les plateformes à la fois, ce qui n’est pas le cas pour une application native. »
Le développement de cette application est donc plus rapide et plus simple, tout comme la maintenance qui nécessitera un seul code source appliqué à toutes les plateformes. Bémol, la vitesse de l’application hybride est relativement basse et son expérience utilisateur reste très basique, puisqu’elle doit s’adapter au plus grand nombre de plateformes et d’appareils disponibles.
Toutefois, l’application hybride évolue et Google semble décidé à orienter la tendance vers ce choix d’application. « L’avenir est peut-être dans les applications hybrides, indique Romain, développeur chez Practice. Je pense notamment à Flutter, qui est développée par Google et est très prometteuse. Peut-être que dans le futur Flutter mettra un terme à ce débat, mais il est encore trop tôt pour le savoir… »
Une fois que l’on a toutes les cartes en main pour connaître les avantages et les inconvénients de chaque type d’application, il faut désormais choisir. Comment orienter sa décision ? Celle-ci dépend de plusieurs facteurs :
« Le choix dépend de ce que l’on veut faire et des moyens que l’on veut/peut y mettre, complète Pierre. Si on a le temps et les moyens, une application native est forcément le meilleur choix. Idem si on veut faire des choses complexes ou que la performance est un critère capital. En revanche si on souhaite développer plusieurs applications, ou que les moyens (en temps ou humains) sont limités, partir vers une application hybride semble être un bon choix. »
« Pour moi les applications natives sont toujours plus performantes et plus adaptées pour les utilisateurs, renchérit Romain. Mais développer une application native se révèle être souvent plus cher qu’une application hybride ou une webapp. Je dirais donc que c’est essentiellement une question de budget. Développer un POC (proof of concept) peut très bien se faire en webapp ou en hybride, mais pour de la production, si l’on a les moyens de le faire en natif, la question ne se pose pas… »
Il poursuit : « Par ailleurs de nouvelles technos hybrides apparaissent aujourd’hui, et d’autres ont tendance à perdre en popularité ou à disparaître, ce qui pose problème pour les apps ayant été développées avec celles-ci… Côté développement, les outils proposés pour les applications natives sont plus matures que ceux des applications hybrides ou web, et nous permettent d’être beaucoup plus efficaces dans la réalisation d’une app. »
« De plus, l’accès aux fonctionnalités matérielles de l’appareil est, au même titre que pour la webapp, totalement inexistant. »
C’est complétement faux : les applications developpé avec React-Native, Flutter ou autres permettent un accés à quasiment toutes les fonctionnalités natives du téléphone. Cela est possible grâce à l’architecture de ces frameworks qui se basent sur un code natif. Typiquement avec React-Native, il est possible de TOUT faire soit en utilisant un code commun aux deux plateformes soit en utilisant un code conditionnelle par plateforme.
« Autre inconvénient, l’application webapp est par extension inaccessible sans accès internet. Elle en est dépendante et est aussi tributaire de la qualité du réseau. Si une connexion est mauvaise, la rapidité de la webapp en pâtira. »
Pas toutafait, une webapp peut parfaitement fonctionner hors ligne; du moment qu’elle met en cache ses assets. C’est encore plus vrai avec les PWAs…
Je reste persuadé, en tant qu’employé de Sidekick Interactive, une agence de développement d’application mobile pour les entreprises, qu’il faut toujours privilégier le natif. C’est plus fluide, plus efficace, plus engageant. Or, de nos jours, c’est à l’engagement que se joue la pertinence et la longévité d’une application mobile.
Donc si vous souhaitez développer votre app, et que vous en avez les moyens, privilégiez toujours le natif!
Et si jamais vous souhaitez créer votre application, venez discuter avec nos experts qui sauront vous aiguiller!
https://www.sidekickinteractive.com/
Votre adresse email ne sera pas publiée.
En cliquant sur “S’inscrire”, vous acceptez les CGU ainsi que notre politique de confidentialité décrivant la finalité des traitements de vos données personnelles.
Pour acquérir les compétences nécessaires aux métiers de la data
Une formation flexible sur la data science et l’intelligence artificielle
Une formation pratique et intensive pour maîtriser les réseaux informatiques
En cliquant sur “S’inscrire”, vous acceptez les CGU ainsi que notre politique de confidentialité décrivant la finalité des traitements de vos données personnelles.