Je recrute

Je cherche un job

Les technologies mobiles

Le développement mobile connait, depuis le début des années 2010, un essor sans précédent. Entre la multiplication des technologies et un changement d'habitude flagrant de la part des utilisateurs, il est aujourd'hui un levier marketing incontournable. Retour sur les raisons d'une telle expansion, les enjeux pour les entreprises et quelques aspects techniques importants pour bien appréhender son passage au mobile.

Petite histoire du développement mobile

Le développement mobile a connu un réel essor avec l'apparition des applications mobiles dans les années 1990. Ces petits logiciels applicatifs tournent en effet sous smartphone, permettant de leur ajouter toutes sortes de fonctionnalités. Fini donc le temps où son téléphone servait à passer des appels, écrire des messages et un peu plus tard lire ses emails. Le smartphone est désormais dans toutes les poches et sert à la fois de GPS, baromètre, baladeur mp3, appareil photo, conseiller bancaire et agent de voyage.

En 2007, le premier iPhone arrive sur le marché et voit le nombre d'applications largement augmenter. Dès 2008, les deux places de marché principales vendant des applications voient le jour. On se connecte depuis lors à l'App store pour Apple et à Google Play pour Android.

Tout au long des années 2010, les usages mobiles n'ont cessé d'augmenter. Les individus passent chaque jour plus longtemps sur Internet, avec une consultation des sites web qui est pour la première fois devenue plus importante sur mobile et tablette que sur ordinateur en 2016. Dans les tranches de la population les plus jeunes, on sent également un glissement de la tendance mobile-first (d'abord sur le téléphone) vers un usage mobile-only (seulement sur le smartphone).

Ces changements d'habitude donnent à beaucoup d'entreprises l'occasion de franchir le pas du développement mobile.

Avantages du développement mobile pour les entreprises

Un projet de développement mobile doit avoir un sens pour une entreprise. Le budget et le temps déployés impliquent qu'il apporte une valeur ajoutée par rapport au site Internet. Cette plus-value se traduit avant tout côté-client, par une expérience utilisateur (UX) améliorée. Pour l'entreprise, c'est un moyen de fidéliser ses clients, améliorer son image de marque et, par conséquent, de dégager plus de chiffre d'affaire.

La satisfaction client se traduit par une modification des canaux de communication utilisés. Nos sociétés modernes se tournent de plus en plus vers des stratégies omnicanales. En optimisant la prise de contact de l'entreprise vers le client ou du client vers l'entreprise, l'expérience utilisateur est améliorée, au même titre que sa satisfaction. À l'heure où se démarquer de la concurrence grâce à ses produits est plus compliqué que jamais, l'UX joue un rôle primordial dans le succès d'une entreprise.

Le développement mobile est enfin une opportunité de toucher une partie de la population, souvent jeune et active, qui se désintéresse des moyens de communication historiques (courrier, téléphone), voire même de l'utilisation d'un ordinateur de bureau. L'app s'impose comme le moyen de proposer des services rapides et personnalisés, facilement accessibles en mobilité. Le tout se fait dans une démarche d'apparence non-intrusive pour le client, tout en permettant à l'entreprise de disposer de données importantes pour sa stratégie marketing.

Types d'applications mobile

Il existe différents types de développements mobiles et, par conséquent, d'applications mobiles. Trois principaux types sont à considérer, selon les besoins et le budget pouvant être engagé.

App native L'application native est l'application que l'on pourrait qualifier de classique. Elles dépendent du dispositif destiné à les recevoir (iPhone, Smartphone Android, iPad, etc.), ce qui oblige à fournir différents développements.

Du côté des avantages à opter pour une app native, on retrouve bien sûr leur rapidité. Comme elles sont développées pour une plateforme spécifique, elles en tirent le meilleur parti et affichent donc des performances idéales.

Elles sont en plus interactives, intuitives et faciles à distribuer sur les places de marché (Google Play, Apple Store). Elles permettent enfin de tirer parti des fonctionnalités du smartphone ou de la tablette qui les reçoit (appareil photo, contacts, GPS, etc.) grâce à des API (interfaces de programmation) qui permettent la communication avec le smartphone ou la tablette.

En contrepartie, les app natives dépendent de la plateforme. Une application Swift ne fonctionnera par exemple que sur iPhone. Les langages natifs étant en moyenne plus complexes et spécialisés, un développeur mobile spécialisé coûte également plus cher. C'est donc souvent l'option nécessitant le budget le plus conséquent.

Web app Une web app est tout simplement ce que l'on pourrait appeler un site mobile. Il s'agit de la version mobile d'un site web, accessible via une adresse web, mais disposant d'une ergonomie dédiée. La web app repose donc sur un site web responsive qui se lance dans un navigateur Internet traditionnel (Chrome, Firefox, Safari).

La web app est facile à déployer puisqu'elle utilise les technologies standards du web (HTML, CSS, JavaScript). Elle offre d'avantage de liberté quant au langage de programmation utilisé. Elle est également facile à maintenir. Comme un site web classique, elle s'héberge sur le serveur de son choix et dispose d'une grande portabilité puisqu'elle fonctionne sur toutes les plateformes.

Il s'agit donc certainement de la solution la plus économique. Pourtant, la web app est en moyenne plus lente, moins interactive et l'UX proposée est donc inférieure. Elle n'est pas non plus présente sur les places de marché et ne peut généralement pas utiliser les fonctionnalités du dispositif en raison du manque d'API.

App hybride Comme souvent avec les produits hybrides, l'app du même nom cherche à tirer parti du meilleur des deux mondes. L'app hybride est donc la combinaison d'une app native et d'une app mobile. Elle utilise les langages standards du web, mais ressemble à une application, généralement grâce à un framework. Pour l'utilisateur, cela a l'air d'une app native.

Elle est par conséquent rapide à développer, dispose d'une très bonne UX, et s'utilise sur toutes les plateformes. Il n'y a donc qu'un seul code à maintenir. Elle peut également être publiée sur les places de marché et, de manière générale (selon le framework), utiliser les fonctionnalités du dispositif via une API. En contrepartie, elle demande de plus gros efforts de développement qu'une app web et n'égale que difficilement les performances de vitesse et d'interaction d'une app native.

Frameworks

Les frameworks sont, en français, des architectures de travail. Ils permettent de coder plus facilement et rapidement des applications, dans notre cas mobiles. Ils fournissent pour cela des outils et fonctionnalités dont la technologie de base ne dispose pas et qu'il faudrait sans eux coder manuellement.

Certains frameworks utilisent les technologies standards du web et les convertissent en composants natifs. Cela revient dans les faits à développer une app native à l'aide de JavaScript. C'est notamment ce que proposent React Native ou le framework multi-plateforme de Microsoft Xamarin. Grâce à eux, les applications hybrides ainsi déployées atteignent des performances proches des applications natives. On retrouve également parmi les principaux frameworks Ionic et Cordova.

iOS

iOS s'est tout d'abord appelé iPhone OS (pour Operating System). Il qualifie donc en toute logique le système d'exploitation utilisé par Apple pour ses appareils mobiles (iPhone, iPad, iPod Touch). Développer pour iOS implique d'utiliser un langage de programmation dédié, qui permet la création d'applications natives. Les outils supportés ici sont l'Objective-C et Swift. Il est également possible d'avoir recours à un framework, qui permettra l'utilisation de différentes technologies et un déploiement cross-plateformes.

Android

Android est quant à lui le système d'exploitation mobile développé par un autre géant des nouvelles technologies : Google. En 2015, Android a pour la première fois dépassé iOS en nombre d'utilisateurs. Il est donc une plateforme qui compte dans le monde du développement mobile. L'un des aspects majeurs le différenciant de son principal compétiteur est qu'il est libre et open source. Android fonde en effet son développement sur le noyau de Linux.

Développer pour Android revient historiquement à s'appuyer sur le langage Java, un langage connu de nombreux développeurs, qui n'est pas dédié au mobile. Depuis 2017, un second langage de programmation rejoint officiellement la liste des langages supportés par Android, il s'agit de Kotlin.

6 autres articles en lien avec cette page :