Passer la navigation

Présentation du développement d’applications mobiles

Explorer les processus et les 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 être large : elle inclut tous les processus impliqués dans la création et la mise en production d’une application mobile, ou spécifique, se rapportant au codage et au déploiement de l’application. Cet article couvre les deux définitions du développement d’applications mobiles et se concentre particulièrement sur la définition du développement d’applications mobiles pour les personnes qui prennent des décisions ou sont responsables de la manière dont le logiciel est généré.

Pour définir le développement d’applications mobiles, nous devons commencer par définir mobile, qui dans ce cas fait référence aux appareils électroniques portables tels que les smartphones, tablettes, ordinateurs portables, smart watch, lecteurs électroniques et consoles de jeu de poche. Par application, nous voulons dire non seulement le logiciel natif pour ces appareils, mais aussi les systèmes d’exploitation, plateformes et langues courants pris en charge par ces appareils. Au fur et à mesure que vous apprendrez, il existe de nombreuses façons d’approche du développement d’applications mobiles et de nombreuses décisions à prendre.

Processus de développement d’applications mobiles

Le processus de création et de libération 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, y compris l’entreprise, le marketing, la conception et l’ingénierie. Les phases du processus de développement d’applications mobiles sont :

  • Stratégie
  • Planification
  • Conception
  • Développement
  • Test
  • Mise en production

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

Les organisations consacrent de trois mois à neuf mois(ou plus), le cas échéant, au développement d’applications mobiles. 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 déterminant 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 les utilisateurs et les cas d’utilisation que l’application sert. Dans 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 mise en production 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 générer, qui va générer l’application, et quelle plateforme ou plateforme ils utiliseront. Au cours de cette phase, les organisations définissent une feuille de route de produit , déterminent les fonctionnalités qui seront générées dans l’ordre et selon quand définir des jalons, et concevront un plan de projet qui leur permettra de respecter la date de sortie prévue. Connaître les ressources et l’expertise disponibles et comprendre comment implémenter la technologie choisie pour le processus sont essentiels pour déterminer cette date et atteindre la mise en production.

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 les commentaires des clients à un stade précoce. Les développeurs et les ingénieurs peuvent vous aider à créer des prototypages ou des conseils sur les décisions relatives à l’expérience utilisateur et à l’interface utilisateur au sein de ces équipes de phase, en tenant compte 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 développement de mots dans ce contexte fait parfois référence au cycle de vie complet développement de logiciels impliqués dans la création et la libération d’une application mobile. Plus généralement, bien que le développement signifie cette phase de développement de logiciels du développement d’applications mobiles. Nous définirons cette phase plus complètement plus tard dans l’article. Pour le moment, cette phase est décrite de manière optimale comme l’étape dans laquelle les équipes établissent l’architecture technique et la pile technologique,notamment 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 en cours

Le test est une phase essentielle du processus de développement d’applications mobiles. Sans test, les organisations ne peuvent pas être certain que leur application sera sécurisée, fonctionnera comme les utilisateurs en ont besoin et s’attendent à ce qu’elle fonctionne, et qu’elles fonctionnent où elles le déploient. Au cours de cette phase, les équipes fournissent une assurance qualité en créant des cas de test pour évaluer l’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.

Version

La phase finale du processus de développement d’applications mobiles est publiée. Une fois l’application déployée, l’organisation fournit un support aux clients qui l’utilisent, ainsi qu’une supervision 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 pour 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 la portée des modifications, son cycle de vie de développement est équipé pour être géré, elle peut décider de recommencer le processus de développement d’applications mobiles.

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 confus avec la pile technique (qui inclut le serveur frontal, les back end et les API), l’architecture technique est la règle et les modèles régissant le développement de l’application mobile.

Architecture technique

L’architecture technique est souvent à l’origine en trois couches :

Couche de présentation

Il s’agit de la couche de l’application que le client voit et avec laquelle il interagit. La couche présentation inclut l’interface utilisateur et tous les éléments de l’application qui constituent 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 aspects principaux de l’application mobile, tels que la sécurité, la mise en cache, la journalisation et la gestion des exceptions, sont traités dans cette couche.

Couche Données

La couche 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 applications 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 technologique

De même, la pile technologique ou la pile technique se compose également de trois éléments comme indiqué. 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 langues 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 fait partie de l’application qui inclut la base de données et d’autres objets similaires qui résident sur un serveur et qui prennent en charge les fonctions de l’application mobile. Les équipes sont moins prises en compte sur les appareils lorsqu’il s’agit de choisir technologies de 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.

Types d’applications mobiles

Quand il s’agit de créer des applications pour les appareils mobiles, les organisations ont plusieurs types d’applications mobiles parmi lesquels choisir. Dans ce cas, le type d’application mobile ne fait pas référence à ce que l’application autorisera ses utilisateurs à faire, mais à la manière 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 les infrastructures fournies par la plateforme et sont déployées via le magasin ou la place de marché spécifique au système d’exploitation. Les applications natives ont généralement un accès total à 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 langues et les frameworks de son choix, puis compiler le code pour chaque système d’exploitation sur lequel l’application doit 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 généré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 gestes 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 ils peuvent être déployés sans passer par une place de marché.

Applications hybrides

Mélange d’applications natives et d’applications web progressives, les applications hybrides sont 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 seul codebase. 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 générer a de graves implications sur les outils, les plateformes, les infrastructures, les langues disponibles pour leurs équipes, la distribution de l’application, le nombre de codebases à maintenir, les appareils sur lesquels l’application s’exécute 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 déterminer 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, il est préférable d’utiliser une application native. Les applications qui ne reposent pas sur des capteurs matériels ou GPS peuvent être bien adaptées à des applications web progressives ou hybrides, mais peut-être pas si vos utilisateurs n’ont pas une bonne connectivité. Si vos utilisateurs sont membres de votre d’entreprise ou d’organisation, vous pouvez envisager une stratégie mobile différente. Et bien sûr, tout dépend de l’expertise que vous avez disponible au sein de votre organisation ou par le biais d’un partenaire.

Ce graphique décrit davantage les différences et les similitudes entre différents types d’applications mobiles pour vous aider à déterminer le type que vous devez créer.

Comparaison des types d’applications mobiles

Non disponible Applications natives Applications multiplateformes Applications web progressives Applications hybrides
Nombre de codebases Un par plateforme Un, mais compilé pour chaque plateforme Un total Un pour l’application, un autre pour le conteneur
Langues 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 Terminé Maximum Très peu Certain(e)s
Réactivité à l’entrée utilisateur Bon Bon Le 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érieur
Emplacement de stockage de l’application Appareil Appareil Serveur Périphérique et serveur
Déployé via Place de marché Place de marché Navigateur Place de marché
Nécessite une approbation externe Oui Oui Non Oui

Plateformes et logiciels de développement d’applications mobiles

Une fois que vous avez déterminé le type d’application mobile que vous allez générer,ou peut-être quand vous envisagez le type, vous devez évaluer les plateformes de développement d’applications mobiles. Il s’agit des plateformes que vous utiliserez pour 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 API, les outils de test et les outils de collaboration et d’analyse du code.

La plupart des plateformes d’application mobile cherchent à 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 qui se déplacent entre différentes parties du logiciel de développement mobile et qui concernent les problèmes qui se posent 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 les coûts, le temps, les ressources et l’expertise nécessaires à une organisation pour créer une application mobile. Bien que quelques organisations choisissent de créer leurs propres plateformes, de nombreuses autres optent pour 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’application mobile qu’elles souhaitent créer, des langues dans lesquelles elles peuvent coder et des appareils qu’elles souhaitent utiliser. Voici quelques alternatives de développement d’applications mobiles :

  • Outils multiplateformes tels que Xamarin qui permettent aux développeurs de générer des applications Android et iOS à l’aide de .NET et C#.
  • Visual Studio Tools pour Xamarin, qui utilise une seule base de code partagée pour les applications mobiles Android, iOS et Windows.
  • Outils à faible code ou sans code comme 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. En savoir plus sur les notifications Push, l’authentification, l’analytique et les SDK.

Consulter la documentation

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.

Démarrer

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

  • La définition du développement d’applications mobiles peut être large, incluant tous les processus impliqués dans la création et la mise en production d’une application mobile, ou spécifique, se rapportant 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 mise en production.

    En savoir plus

  • Au fur et à mesure que vous décidez du type d’application mobile à générer, il est utile de déterminer 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’application mobile qu’elles souhaitent créer, des langues dans lesquelles elles peuvent coder et des appareils qu’elles souhaitent utiliser.

    En savoir plus

  • Organisations consacrent entre trois mois et neuf mois, soit plus de temps lorsque cela est nécessaire, au développement mobiles,

    En savoir plus

Pouvons-nous vous aider ?