Article de reference

Développement d'applications mobiles

Le développement d'applications mobiles est l'acte ou le processus par lequel une application mobile est développée pour un ou plusieurs appareils mobiles , qui peuvent inclure ...

Le développement d'applications mobiles est l'acte ou le processus par lequel une application mobile est développée pour un ou plusieurs appareils mobiles , qui peuvent inclure des assistants numériques personnels (PDA), des assistants numériques d'entreprise (EDA) ou des téléphones mobiles . Ces applications logicielles sont spécifiquement conçues pour fonctionner sur des appareils mobiles, en tenant compte de nombreuses contraintes matérielles. Les contraintes courantes incluent l'architecture et les vitesses du processeur, la mémoire disponible (RAM), les capacités de stockage de données limitées et une variation considérable des écrans (technologie, taille, dimensions, résolution) et des méthodes de saisie (boutons, claviers, écrans tactiles avec ou sans stylets). Ces applications (ou « applications ») peuvent être préinstallées sur les téléphones pendant la fabrication ou livrées sous forme d'applications Web, en utilisant un traitement côté serveur ou côté client (par exemple, JavaScript) pour fournir une expérience « de type application » dans un navigateur Web .

Le secteur du développement d'applications mobiles a connu une croissance significative en Europe. Un rapport de 2017 du Progressive Policy Institute estimait qu'il y avait 1,89 million d'emplois dans l' économie des applications dans l'UE en janvier 2017, ce qui représente une augmentation de 15 % par rapport à l'année précédente. Ces emplois incluent des postes tels que développeurs d'applications mobiles et d'autres postes soutenant l'économie des applications.

Aperçu

Afin de faciliter le développement d'applications pour appareils mobiles, ainsi que leur cohérence, différentes approches ont été adoptées.

La plupart des entreprises qui commercialisent un produit (par exemple Apple, iPod/iPhone/iPad) fournissent un kit de développement logiciel (SDK) officiel. Elles peuvent également choisir de fournir une forme de test et/ou d'assurance qualité (QA). En échange de la fourniture du SDK ou d'autres outils, il peut être nécessaire pour un développeur potentiel de signer une forme d'accord de non-divulgation, ou NDA, qui limite le partage d'informations privilégiées.

Dans le cadre du processus de développement, la conception de l'interface utilisateur mobile (UI) est une étape essentielle de la création d'applications mobiles. Les concepteurs d'interface utilisateur mobile prennent en compte les contraintes, les contextes, l'espace d'écran, les méthodes de saisie et la mobilité comme éléments de base de la conception. Les contraintes dans la conception de l'interface utilisateur mobile, qui incluent la durée d'attention limitée de l'utilisateur et les facteurs de forme tels que la taille de l'écran d'un appareil mobile pour les mains d'un utilisateur. Le contexte de l'interface utilisateur mobile comprend des signaux provenant de l'activité de l'utilisateur, tels que l'emplacement ou l'heure d'utilisation de l'appareil, qui peuvent être observés à partir des interactions de l'utilisateur au sein d'une application mobile. Ces indices contextuels peuvent être utilisés pour fournir des suggestions automatiques lors de la planification d'un rendez-vous ou d'une activité ou pour filtrer une liste de divers services pour l'utilisateur.

L'utilisateur est souvent au centre de l'interaction avec son appareil, et l'interface comprend des composants matériels et logiciels. Les entrées de l'utilisateur permettent à l'utilisateur de manipuler un système, et les sorties de l'appareil permettent au système d'indiquer les effets de la manipulation de l'utilisateur.

Dans l'ensemble, l'objectif de la conception de l'interface utilisateur mobile est principalement de créer une interface compréhensible et conviviale. Les fonctionnalités sont prises en charge par des plateformes d'applications d'entreprise mobiles ou des environnements de développement intégrés (IDE).

Les développeurs d’applications mobiles doivent également prendre en compte un large éventail d’appareils dotés de tailles d’écran, de spécifications matérielles et de configurations différentes en raison de la concurrence intense dans le domaine du matériel mobile et des changements au sein de chacune des plates-formes.

Aujourd'hui, les applications mobiles sont généralement distribuées via un site officiel ou une place de marché en ligne (par exemple Apple - The App Store, Google - Google Play) et il existe un processus formalisé par lequel les développeurs soumettent leurs applications pour approbation et inclusion sur ces places de marché. Historiquement, cependant, cela n'a pas toujours été le cas.

Les interfaces utilisateur mobiles, ou front-ends, s'appuient sur des back-ends mobiles pour prendre en charge l'accès aux systèmes d'entreprise. Le back-end mobile facilite le routage des données, la sécurité, l'authentification, l'autorisation, le travail hors ligne et l'orchestration des services. Cette fonctionnalité est prise en charge par un mélange de composants middleware , notamment des serveurs d'applications mobiles, un back-end mobile en tant que service (MBaaS) et une infrastructure d'architecture orientée services (SOA).

Plate-forme

Les packages de développement logiciel nécessaires pour développer, déployer et gérer des applications mobiles sont constitués de nombreux composants et outils qui permettent à un développeur d'écrire, de tester et de déployer des applications pour une ou plusieurs plates-formes cibles.

Outils de développement front-end

Les outils de développement front-end se concentrent sur l'interface utilisateur et l'expérience utilisateur (UI-UX) et offrent les capacités suivantes :

  • Outils de conception d'interface utilisateur
  • SDK pour accéder aux fonctionnalités de l'appareil
  • Hébergement/assistance multiplateforme

Les outils notables sont répertoriés ci-dessous.

Première partie

Les outils propriétaires incluent les SDK officiels publiés par ou au nom de la société responsable de la conception d'une plate-forme matérielle particulière (par exemple Apple, Google, etc.) ainsi que tout logiciel tiers officiellement pris en charge dans le but de développer des applications mobiles pour ce matériel.

Deuxième partie

Tierce personne

Serveurs back-end

Les outils back-end reprennent là où les outils front-end s'arrêtent et fournissent un ensemble de services réutilisables qui sont gérés et contrôlés de manière centralisée et offrent les capacités suivantes :

  • Intégration avec les systèmes back-end
  • Authentification-autorisation de l'utilisateur
  • Services de données
  • Logique métier réutilisable

Les outils disponibles sont répertoriés ci-dessous.

Couches complémentaires de sécurité

Le BYOD ( Bring Your Own Device ) devenant la norme dans de plus en plus d'entreprises, les services informatiques ont souvent besoin de solutions tactiques provisoires qui se superposent aux applications, téléphones et composants de plateforme existants. Les fonctionnalités incluent

  • Enveloppement d'application pour la sécurité
  • Cryptage des données
  • Actions du client
  • Rapports et statistiques

Logiciel système

De nombreux composants au niveau du système sont nécessaires pour disposer d’une plateforme fonctionnelle permettant de développer des applications mobiles.

Les critères de sélection d'une plateforme de développement incluent généralement les plateformes mobiles cibles, l'infrastructure existante et les compétences de développement. Lorsque vous ciblez plusieurs plateformes avec un développement multiplateforme, il est également important de prendre en compte l'impact de l'outil sur l' expérience utilisateur . Les performances sont un autre critère important, car les recherches sur les applications mobiles indiquent une forte corrélation entre les performances des applications et la satisfaction des utilisateurs. Outre les performances et d'autres critères, la disponibilité de la technologie et les exigences du projet peuvent orienter le développement entre les environnements natifs et multiplateformes. Pour faciliter le choix entre les environnements natifs et multiplateformes, certaines directives et références ont été publiées. En règle générale, les environnements multiplateformes sont réutilisables sur plusieurs plateformes, en exploitant un conteneur natif tout en utilisant HTML, CSS et JavaScript pour l'interface utilisateur. En revanche, les environnements natifs ciblent une plateforme pour chacun de ces environnements. Par exemple, le développement Android se fait dans l'IDE Eclipse à l'aide des plugins Android Developer Tools (ADT), le développement Apple iOS se fait à l'aide de l'IDE Xcode avec Objective-C et/ou Swift, Windows et BlackBerry ont chacun leurs propres environnements de développement.

Test d'applications mobiles

Les applications mobiles sont d'abord testées dans l'environnement de développement à l'aide d'émulateurs, puis soumises à des tests sur le terrain . Les émulateurs offrent un moyen peu coûteux de tester des applications sur des téléphones mobiles auxquels les développeurs n'ont pas forcément accès physiquement. Voici quelques exemples d'outils utilisés pour tester des applications sur les systèmes d'exploitation mobiles les plus courants .

  • Google Android Emulator - un émulateur Android qui est corrigé pour fonctionner sur un PC Windows en tant qu'application autonome, sans avoir à télécharger et installer le SDK Android complet et complexe . Il peut être installé et des applications compatibles Android peuvent être testées dessus.
  • L'émulateur Android SDK officiel - un émulateur d'appareil mobile qui imite toutes les fonctionnalités matérielles et logicielles d'un appareil mobile classique (sans les appels).
  • TestiPhone - un simulateur basé sur un navigateur Web pour tester rapidement les applications Web iPhone . Cet outil a été testé et fonctionne avec Internet Explorer 7 , Firefox 2 et Safari 3 .
  • iPhoney - offre un environnement de navigation Web précis au pixel près et est optimisé par Safari . Il peut être utilisé lors du développement de sites Web pour l' iPhone . Il ne s'agit pas d'un simulateur d'iPhone, mais plutôt d'un outil conçu pour les développeurs Web qui souhaitent créer des sites Web 320 x 480 (ou 480 x 320) à utiliser avec les iPhones. iPhoney ne fonctionnera que sur OS X 10.4.7 ou version ultérieure.
  • BlackBerry Simulator - Il existe une variété de simulateurs BlackBerry officiels disponibles pour émuler les fonctionnalités des produits BlackBerry réels et tester le fonctionnement du logiciel de l'appareil, de l'écran, du clavier et de la molette avec l'application.
  • Windows UI Automation - Pour tester les applications qui utilisent la technologie Microsoft UI Automation, Windows Automation API 3.0 est nécessaire. Elle est préinstallée sur Windows 7, Windows Server 2008 R2 et les versions ultérieures de Windows. Sur d'autres systèmes d'exploitation, vous pouvez l'installer à l'aide de Windows Update ou la télécharger à partir du site Web de Microsoft .
  • MobiOne Developer - un environnement de développement intégré (IDE) Web mobile pour Windows qui aide les développeurs à coder, tester, déboguer, empaqueter et déployer des applications Web mobiles sur des appareils tels que iPhone , BlackBerry , Android et Palm Pre . MobiOne Developer a été officiellement déclaré en fin de vie à la fin de 2014.

Les outils incluent

  • eggPlant : un outil de test automatisé basé sur une interface graphique pour les applications mobiles sur tous les systèmes d'exploitation et appareils.
  • Ranorex : Outils d'automatisation des tests pour applications mobiles, Web et de bureau.
  • Testdroid : Appareils mobiles réels et outils d'automatisation des tests pour tester les applications mobiles et Web.

Principes de conception pour créer des applications mobiles réussies

Selon un rapport sectoriel sur les applications de 2020, 46 % des utilisateurs d'applications mobiles ont déclaré avoir arrêté d'utiliser ou désinstallé une application en raison de ses mauvaises performances. Les experts en conception préconisent les principes de conception suivants pour créer des applications mobiles performantes et efficaces :

Écrans épurés : les interactions restent rapides et simples, ce qui permet aux utilisateurs de se concentrer sur une tâche spécifique plutôt que d'être submergés par de multiples fonctionnalités et tâches. Les experts en conception préconisent fortement une tâche par écran et recommandent de décomposer les longs formulaires en pages et de révéler progressivement de nouvelles tâches ou de nouveaux champs pour minimiser l'encombrement.

Réduire la charge cognitive : rend le parcours utilisateur fluide et préserve le flux naturel à travers l'application. Les experts en conception suggèrent d'intégrer la saisie semi-automatique , la vérification orthographique , l'assistance à la prédiction de texte et les menus déroulants pour réduire la charge cognitive. Les experts en conception recommandent également que l'état de l'application soit préservé lorsque les utilisateurs quittent temporairement l'application et y reviennent afin que les utilisateurs puissent reprendre leur parcours là où ils l'ont laissé.

Navigation simple : environ 11 % des utilisateurs ont désinstallé des applications en raison de leur interface compliquée . Les experts en conception affirment qu'il est primordial de présenter la barre de navigation de manière visible dans votre application pour aider les utilisateurs à naviguer instantanément vers les écrans fréquemment utilisés et prioritaires. Ils suggèrent l'utilisation d'icônes reconnaissables spécifiques au système d'exploitation de l'appareil pour aider les utilisateurs à effectuer facilement des actions telles qu'ouvrir un menu, modifier les paramètres, revenir à un écran précédent et effectuer une recherche dans une page. Selon eux, un utilisateur ne doit pas être confus lorsqu'il navigue dans l'application, de sorte qu'un flux de navigation ordonné, clair et logique favorise l'engagement et la découverte dans l'application.

Notifications : Il semblerait qu'environ 19 % des utilisateurs désinstallent une application en raison de notifications push fréquentes. Les notifications doivent être envoyées avec une planification minutieuse selon les experts en conception. Les experts affirment que les notifications doivent être envoyées au moment le plus pratique pour les utilisateurs dans leur fuseau horaire et que les messages doivent être personnalisés pour leur apporter une grande valeur ajoutée.

Vitesse d'affichage : environ 19 % des personnes désinstallent des applications en raison de problèmes de blocage. Les experts en conception affirment qu'il est important de s'assurer que l'application est rapide et réactive afin que les utilisateurs n'aient pas à attendre le contenu. Ils affirment que les développeurs doivent fournir le contenu plus rapidement ou donner une impression de progression. Certaines approches suggérées par les experts sont l'utilisation d'écrans squelettes qui montrent la mise en page de l'application avec le contenu grisé, des barres de progression ou des spinners de chargement, des tâches exécutées en arrière-plan et la livraison rapide du contenu lorsque l'utilisateur le demande, ou l'attribution aux utilisateurs de certaines tâches ou de contenu pendant qu'ils attendent le chargement d'une page.

Facilité d'utilisation : environ 85 % des utilisateurs mobiles utilisent leur téléphone d'une seule main c'est pourquoi les experts en conception affirment qu'il est important que le menu de niveau supérieur, les commandes fréquemment utilisées et les éléments d'action courants soient à la portée du pouce de l'utilisateur. Ils soulignent également l'importance de la lisibilité et il est recommandé que la taille du texte soit d'au moins 11 points afin que les utilisateurs puissent le lire à la distance de lecture habituelle sans zoomer. Il est recommandé que les en-têtes et les titres sur les écrans d'application soient de San Francisco 17 pt et Roboto 16sp pour les systèmes d'exploitation iOS et Android respectivement. Les experts indiquent également qu'il devrait y avoir un rapport de contraste minimum de 4,5:1 entre le texte et la couleur d'arrière-plan. Les experts en conception encouragent fortement les développeurs à rendre les applications accessibles à tous les utilisateurs, y compris les personnes handicapées , et suggèrent donc des fonctionnalités telles que la navigation vocale , la compatibilité avec les lecteurs d'écran et l'adaptabilité de l'interface utilisateur dans les applications mobiles.

Brevets

De nombreuses demandes de brevet sont en attente pour de nouvelles applications pour téléphones mobiles. La plupart d'entre elles concernent les domaines technologiques des méthodes commerciales, de la gestion de bases de données, du transfert de données et de l'interface opérateur.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index