Trace Id is missing
Ignorez la navigation
personne utilisant un téléphone mobile

Qu’est-ce que le développement d’applications mobiles ?

Explorez les processus et logiciels utilisés pour développer des applications mobiles.

Création de logiciels pour les appareils mobiles

La définition du développement d’applications mobiles peut englober tous les processus impliqués dans la création et la publication d’une application mobile ou spécifique, en faisant référence au codage et au déploiement de l’application. Cet article aborde les deux définitions du développement d’applications mobiles et se concentre en particulier sur la définition du développement d’applications mobiles pour les personnes qui prennent des décisions concernant la façon dont le logiciel lui-même est créé ou qui sont responsables de sa création.

Pour définir le développement d’applications mobiles, nous devons commencer par définir des appareils mobiles, qui, dans ce cas, font référence à des appareils électroniques portables tels que des smartphones, des tablettes, des ordinateurs portables, des montres connectées, des lecteurs électroniques et des consoles de jeu de poche. Par application, nous voulons dire non seulement les logiciels natifs de ces appareils, mais également les systèmes d’exploitation, plateformes et langages courants pris en charge par ces appareils. Comme vous allez l’apprendre, il existe de nombreuses façons d’aborder le développement d’applications mobiles et de nombreuses décisions à prendre.

Personne assise sur un canapé et utilisant une manette de jeu avec casque
Femme écrivant sur un tableau blanc avec un marqueur

Processus de développement d’applications mobiles

Le processus de création et de publication d’applications mobiles est souvent compris dans une série d’étapes ou de phases. Ces phases du processus de développement d’applications mobiles impliquent de nombreuses personnes et disciplines différentes au sein d’une organisation, notamment l’entreprise, le marketing, la conception et l’ingénierie. Les phases du processus de développement d’applications mobiles sont les suivantes :

  • Stratégie
  • Planification
  • Conception
  • Développement
  • Test
  • Publier

Combien de temps faut-il pour créer une application mobile ?

Les organisations passent de trois mois à neuf mois ou plus lorsque le développement d’applications mobiles est nécessaire. L’étendue et les fonctionnalités d’une application influencent toutes la chronologie du processus de développement d’applications mobiles.

Stratégie

Le processus de développement d’applications mobiles commence par comprendre pourquoi une application mobile peut être une bonne solution à un problème ou une approche d’une opportunité, puis en choisissant ce qu’il faut créer et comment. Au cours de la phase de stratégie, les organisations établissent les objectifs et les mesures de réussite de l’application, analysent le marché et la concurrence, recherchent les besoins de leurs clients et déterminent quels utilisateurs et cas d’utilisation l’application servira. Au cours de la phase de stratégie, les organisations peuvent également commencer à explorer les plateformes de développement d’applications mobiles qui fonctionnent le mieux avec leurs objectifs et exigences. C’est à cette phase que les organisations commencent également à prendre en compte le marketing autour de la publication de l’application.

Planification

Au cours de la phase de planification, les organisations s’accordent sur quatre détails clés du processus de développement d’applications mobiles : les équipes, les outils, les technologies et les chronologies. À l’heure actuelle, ils ont une idée du type d’application mobile qu’ils doivent créer, qui va créer l’application et quelle plateforme ils utiliseront. Au cours de cette phase, les organisations mettent en place une feuille de route de produit qui détermine les fonctionnalités qui seront créées dans l’ordre et le moment de la définition des jalons, et concevoir un plan de projet qui leur permettra de respecter la date de publication prévue. Connaître les ressources et l’expertise disponibles, ainsi que savoir comment implémenter la technologie choisie pour le processus sont essentiels pour déterminer cette date et atteindre la publication.

Conception

L’apparence, les fonctionnalités et la fonction de l’application mobile commencent à prendre forme pendant la phase de conception. Dans cette phase du processus de développement d’applications mobiles, les équipes tracent l’expérience utilisateur et créent les interfaces utilisateur et les états de l’application selon différentes fidélités. Elles peuvent commencer par des maquettes de faible fidélité pour fournir une preuve de concept ou recueillir des commentaires des clients à un stade précoce. Les développeurs et les ingénieurs peuvent aider à créer du prototypage ou des conseils sur les décisions relatives à l’expérience utilisateur et à l’interface utilisateur à cette phase afin de tenir les équipes au courant des exigences et des spécifications techniques des plateformes que l’organisation a choisi d’utiliser. De cette façon, les organisations qui passent à des écrans haute fidélité ont conçu une application qui peut être véritablement générée.

Développement

Le mot développement dans ce contexte fait parfois référence à la cycle de vie entier du développement de logiciels impliqués dans la création et la publication d’une application mobile. Toutefois, plus généralement, le développement signifie cette phase de développement de logiciels de développement d’applications mobiles. Nous définirons cette phase plus en détail plus loin dans l’article. Pour l’instant, cette phase est la mieux décrite comme l’étape dans laquelle les équipes établissent l’architecture technique et la pile technologique, y compris le serveur frontal, les back end et les API, définissent des jalons de développement, déterminent le cycle de vie de développement de l’application et codent l’application.

Test

Le test est une phase essentielle du processus de développement d’applications mobiles. Sans test, les organisations ne peuvent pas être certaines que leur application sera sécurisée, fonctionner comme les utilisateurs le souhaitent et s’y attendre, et fonctionner là où ils la déploient. Au cours de cette phase, les équipes fournissent une assurance qualité, en créant des cas de test pour évaluer la facilité d’utilisation, les performances, la stabilité et la sécurité de l’application sur tous les appareils sur lesquels l’application est destinée à s’exécuter. Les organisations testent souvent l’application pour s’assurer que l’architecture de l’application peut être mise à l’échelle pour répondre à une forte demande soudaine.

Publier

La dernière phase du processus de développement d’applications mobiles est la publication. Une fois l’application déployée, l’organisation fournit un support aux clients qui l’utilisent, ainsi qu’une surveillance et une maintenance continues pour s’assurer que l’application est disponible et qu’elle fonctionne comme il se doit. Les campagnes marketing et les mouvements visant à encourager l’adoption de l’application coïncident souvent avec cette phase. Si l’organisation décide d’apporter des améliorations ou des modifications à l’application qui dépassent le cadre des modifications que son cycle de vie de développement est équipé, elle peut décider de recommencer le processus de développement d’applications mobiles.

Personne utilisant un téléphone mobile avec un bureau sur sa table

Développement de logiciels dans le processus de développement d’applications mobiles

Cette première tâche de la phase de développement consiste à établir l’architecture technique de l’application mobile. Souvent confondus avec la pile technique qui inclut l’architecture technique front-end, back end et API, les règles et modèles qui régissent le développement de l’application mobile.

Architecture technique

L’architecture technique est souvent constituée de trois couches :

Couche de présentation

Il s’agit de la couche de l’application avec laquelle le client voit et interagit. La couche de présentation inclut l’interface utilisateur et tous les éléments de l’application qui composent l’expérience utilisateur.

Couche Métier

La logique qui régit les flux de travail, l’échange de données et les opérations réside dans la couche métier. Les principaux aspects de l’application mobile, tels que la sécurité, la mise en cache, la journalisation et la gestion des exceptions, sont gérés dans cette couche.

Couche Données

La couche de données répond aux exigences de l’application elle-même, en fournissant des utilitaires de données, des composants d’accès aux données et des agents d’assistance ou de service. Il s’agit également de la couche qui valide et gère les données et prend en charge les transactions de données.

Pile de technologies

De même, la pile technologique ou la pile technique se compose également de trois éléments, comme mentionné. Toutefois, ces éléments représentent des choix spécifiques utilisés pour générer et prendre en charge l’application plutôt que des instructions pour sa création.

Front end

Correspondant étroitement à la couche présentation, les outils et les langages utilisés pour coder le serveur frontal de l’application mobile dépendent fortement des appareils sur lesquels l’application sera déployée. Il existe de nombreuses options, et la plupart des appareils mobiles ont des langues spécifiques qui leur sont natives.

Back end

Le back end est la partie de l’application qui inclut la base de données et d’autres objets similaires qui résident sur un serveur et prennent en charge les fonctions de l’application mobile. Les équipes sont moins prises en charge par les appareils lorsqu’il s’agit de choisir technologies back-end mobiles et peuvent souvent trouver solutions back-end prédéfinies.

API

L’application communique entre le back end et le serveur frontal via l’API, ce qui permet également à l’application d’intégrer et d’interagir avec d’autres applications et services.

Toutefois, avant que les équipes puissent choisir leur pile technique ou même établir leur architecture technique, elles doivent d’abord décider du type d’application mobile qu’elles créent.

Personne vérifiant les statistiques sur sa tablette

Types d’applications mobiles

Lorsqu’il s’agit de développer des applications pour les appareils mobiles, les organisations peuvent choisir parmi plusieurs types d’applications mobiles. Dans ce cas, le type d’application mobile ne fait pas référence à ce que l’application autorisera ses utilisateurs à faire, mais à la façon dont l’application sera générée.

Applications natives

Les applications spécifiques à un appareil ou à une plateforme spécifique, comme Android ou iOS, sont appelées applications natives. Ces applications s’exécutent directement sur le système d’exploitation de l’appareil, utilisent les langues et infrastructures fournies par la plateforme et sont déployées via le Store ou la Place de marché spécifique au système d’exploitation. Les applications natives ont généralement un accès complet à toutes les fonctionnalités et au matériel des appareils sur lesquels elles s’exécutent.

Applications multiplateformes

Teams peut coder dans l’application dans les langages et infrastructures de son choix, puis compiler le code pour chaque système d’exploitation sur lequel l’application est destinée à s’exécuter à l’aide de plateformes telles que Xamarin. Les applications multiplateformes, telles qu’elles sont appelées, permettent aux équipes de s’exécuter sur de nombreux appareils différents et de réutiliser une grande partie du code, même si le pontage du code nécessite plus de travail que le développement pour une seule plateforme.

Applications web progressives

Comme les applications web, les applications web progressives s’exécutent dans des navigateurs mobiles et sont généralement créées à l’aide de JavaScript, CSS et HTML5. Ce qui rend les applications web progressives, c’est leur capacité à fournir des notifications Push, de meilleurs mouvements tactiles et une interaction matérielle à l’aide de fonctionnalités avancées du navigateur. Il n’existe aucun SDK pour vous aider à créer des applications web progressives, mais elles peuvent être déployées sans passer par une place de marché.

Applications hybrides

Combinaison entre les applications natives et les applications web progressives, les applications hybrides sont essentiellement des conteneurs codés en mode natif qui exécutent des applications web. Cette combinaison permet à l’application d’accéder davantage aux fonctionnalités et au matériel des appareils et de s’exécuter sur plus de types d’appareils tout en conservant un code base unique. Pour tous leurs avantages, les applications hybrides n’atteignent généralement pas les performances des autres types d’applications mobiles.

Type d’application mobile à générer

Le type d’application mobile qu’une organisation choisit de créer a de lourdes implications sur les outils, les plateformes, les infrastructures, les langues disponibles pour ses équipes, la distribution de l’application, le nombre de codebases à gérer, les appareils sur lesquels l’application s’exécutera et même ce que l’application peut faire.

Lorsque vous décidez du type d’application mobile à générer, il est utile de prendre en compte qui seront vos utilisateurs et ce dont ils ont besoin à partir de l’application. Par exemple, s’ils utilisent principalement un type d’appareil ou de système d’exploitation, une application native peut être préférable. Les applications qui ne reposent pas sur des capteurs matériels ou GPS peuvent être bien adaptées en tant qu’applications web progressives ou hybrides, mais peut-être pas si vos utilisateurs ne disposent pas d’une bonne connectivité. Si vos utilisateurs sont membres de votre entreprise ou d’organisation, vous pouvez envisager une stratégie mobile différentestratégie mobile différente. Et bien entendu, tout dépend de l’expertise dont vous disposez au sein de votre organisation ou par le biais d’un partenaire.

Ce graphique présente davantage de différences et de similarités entre les différents types d’applications mobiles pour vous aider à déterminer le type d’application que vous devez développer.

Deux personnes qui parlent dans une salle

Comparaison des types d’applications mobiles

Applications natives Applications multiplateformes Applications web progressives Applications hybrides
Nombre de codebases Un par plateforme Un, mais compilé pour chaque plateforme Un total Une pour l’application, une autre pour le conteneur
Langages et infrastructures Natif uniquement Choix de l’équipe Web uniquement Web et natif
Accès aux kits de développement logiciel (SDK) et aux API Oui Oui Non Limité
Performances Supérieures Élevées Minimale Faibles
Accès au matériel de l’appareil Exhaustivité Maximum Très peu Partiel
Réactivité à l’entrée utilisateur Bon Bon Pire Médiocre
Interactivité Élevées Élevées Minimale Faibles
Utilisation des ressources de l’appareil Élevées Élevées Faibles Moyenne
Nécessite une connectivité Non Non Oui Oui
Coût de génération et de maintenance Supérieures Élevées Minimale Inférieure
Emplacement de stockage de l’application Appareil Appareil Serveur Périphérique et serveur
Déployé via Marketplace Marketplace Navigateur Marketplace
Nécessite une approbation externe Oui Oui Non Oui

Plateformes et logiciels de développement d’applications mobiles

Une fois que vous avez décidé du type d’application mobile que vous allez créer ou éventuellement du type que vous envisagez d’utiliser pour évaluer les plateformes de développement d’applications mobiles. Il s’agit des plateformes de développement d’applications que vous utiliserez pour développer, générer, tester, déboguer, gérer et, dans certains cas, déployer des applications mobiles tout au long de leur cycle de vie. La plupart des logiciels de développement d’applications incluent des outils frontaux pour créer l’interface, des outils back-end pour gérer les données, les outils d’API, les outils de test et les outils de collaboration et d’analyse du code.

La plupart des plateformes d’applications mobiles visent à fournir tout ce dont un développeur a besoin pour créer une application mobile. Cela permet aux développeurs d’éviter les problèmes de déplacement entre différents logiciels de développement mobile et de gérer les problèmes qui surviennent entre eux, tels que l’intégrité du code, les incompatibilités et la perte de données. Les plateformes de développement d’applications mobiles réduisent également le coût, le temps, les ressources et l’expertise nécessaires à une organisation pour créer une application mobile. Alors que quelques organisations choisissent de créer leurs propres plateformes, de nombreuses autres choisissent l’une des nombreuses alternatives de développement d’applications disponibles.

Les meilleures alternatives de développement d’applications mobiles pour une organisation varient en fonction des types d’applications mobiles qu’elles envisagent de créer, des langues dans lesquelles elles peuvent coder et des appareils qu’elles souhaitent utiliser. Voici quelques solutions de développement d’applications mobiles :

  • Des outils multiplateformes tels que Xamarin qui permettent aux développeurs de créer des applications Android et iOS à l’aide de .NET et C#.
  • Visual Studio Tools pour XamarinVisual Studio Tools pour Xamarin, qui utilise une base de code partagée unique pour les applications mobiles Android, iOS et Windows.
  • Outils à faible code ou sans code tels que Power Apps. Le code faible est un moyen simple de créer des applications professionnelles sans formation technique ni expertise. En savoir plus.

 

Ressources de développement d’applications mobiles

Explorer la documentation Azure pour les développeurs mobiles

Trouvez les informations dont vous avez besoin pour développer des applications mobiles sur Azure. Découvrez les notifications Push, l’authentification, l’analytique et les Kits de développement logiciel (SDK).

Essayez de créer une application mobile maintenant

Configurez un pipeline d’intégration et de livraison continue pour les applications Android. Connectez-vous à n’importe quel dépôt Git et faites fonctionner votre équipe en quelques minutes.

Forum aux questions sur le développement d’applications mobiles

  • La définition du développement d’applications mobiles peut englober tous les processus impliqués dans la création et la publication d’une application mobile ou spécifique, en faisant référence au codage et au déploiement de l’application.

    En savoir plus

  • Les phases du processus de développement d’applications mobiles sont la stratégie, la planification, la conception, le développement, les tests et la publication.

    En savoir plus

  • Lorsque vous décidez du type d’application mobile à générer, il est utile de prendre en compte qui seront vos utilisateurs et ce dont ils ont besoin à partir de l’application.

    En savoir plus

  • Les meilleures alternatives de développement d’applications mobiles pour une organisation varient en fonction des types d’applications mobiles qu’elles envisagent de créer, des langues dans lesquelles elles peuvent coder et des appareils qu’elles souhaitent utiliser.

    En savoir plus

  • Les organisations passent de trois mois à neuf mois ou plus lorsque le développement d’applications mobiles est nécessaire.

    En savoir plus

  • Même si le développement complet d’une application mobile peut prendre plusieurs mois, voici cinq conseils de Microsoft pour bien démarrer dès maintenant avec le développement d’applications mobiles.

    Découvrez cinq conseils pour la création d’applications mobiles

  • DevOps combine le mot "développement" et le mot "opérations" et est défini comme l’union des personnes, des processus et des technologies pour fournir continuellement de la valeur aux clients. La culture, les outils et les pratiques DevOps peuvent aider les rôles en silo tels que le développement, les opérations informatiques, l’ingénierie de qualité et la sécurité à coordonner et collaborer pour produire des applications mobiles plus fiables et plus performantes. DevOps aide les équipes de développement à mieux répondre aux besoins des clients, à accroître la confiance dans les applications qu’elles développent et à atteindre plus rapidement les objectifs métier de l’équipe.

    En savoir plus sur le DevOps

  • Les développeurs se concentrent généralement sur les fonctionnalités techniques et les processus d’un fournisseur de nuage, tels que la facilité de déploiement, la gestion et la mise à niveau, s’il utilise des interfaces standard et des API, s’il dispose d’un système formel pour la gestion des événements intégré à son système de surveillance/gestion, s’il dispose de processus de gestion des modifications bien documentés et si les fonctionnalités hybrides sont prises en charge.

    En savoir plus sur le choix d’un fournisseur de nuage