Skip to main content
Global

10.3 : Développement de logiciels

  • Page ID
    167021
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Développement de logiciels

    La plupart des méthodologies décrites ci-dessus sont utilisées pour gérer le développement de logiciels car la programmation est complexe et les erreurs sont parfois difficiles à détecter. Nous avons appris au chapitre 2 que les logiciels sont créés par programmation, et que la programmation est le processus qui consiste à créer un ensemble d'instructions logiques qu'un appareil numérique doit suivre à l'aide d'un langage de programmation. Le processus de programmation est parfois appelé « codage » parce que la syntaxe d'un langage de programmation n'est pas comprise par tout le monde, mais sous une forme « code ».

    Le processus de développement d'un bon logiciel n'est généralement pas aussi simple que de s'asseoir et d'écrire du code. Il est vrai que parfois un programmeur peut rapidement écrire un programme court pour répondre à un besoin. Mais la plupart du temps, la création de logiciels est un processus gourmand en ressources qui implique différents groupes de personnes au sein d'une organisation. Dans les sections suivantes, nous allons passer en revue plusieurs méthodologies différentes pour le développement de logiciels.

    Encadré : Le triangle de qualité de la gestion de projet

    Lors du développement d'un logiciel ou de tout produit ou service, il existe des tensions entre les développeurs et les différents groupes de parties prenantes, tels que la direction, les utilisateurs et les investisseurs. La figure 10.5 illustre la tension entre les trois exigences : temps, coût et qualité dont les chefs de projet doivent faire des compromis. De la rapidité avec laquelle le logiciel peut être développé (temps), de la somme d'argent qui sera dépensée (coût) et de la qualité de sa construction (qualité). Le triangle de qualité est un concept simple. Il indique que vous ne pouvez aborder que deux des points suivants : temps, coût et qualité pour tout produit ou service en cours de développement.

    Triangle avec les mots portée, délai et coût à chaque coin et qualité au centre
    Figure 10.6 Triangle de qualité de la gestion de projet. L'image de Mapto est sous licence du domaine public

    Alors, qu'est-ce que cela signifie que vous ne pouvez vous adresser qu'à deux des trois ? Cela signifie que la qualité du produit fini dépend de trois variables : portée, calendrier et budget alloué. Les modifications de l'une de ces trois variables ont une incidence sur les deux autres, donc sur la qualité.

    Par exemple, si une fonctionnalité est ajoutée, mais qu'aucun temps supplémentaire n'est ajouté au calendrier de développement et de test, la qualité du code peut en pâtir, même si des ressources supplémentaires sont ajoutées. Il y a des moments où il n'est même pas possible de faire le compromis. Par exemple, ajouter plus de personnes à un projet dont les membres sont tellement débordés qu'ils n'ont pas le temps de gérer ou de former de nouvelles personnes. Dans l'ensemble, ce modèle nous aide à comprendre les compromis que nous devons faire lors du développement de nouveaux produits et services.

    Langages de programmation

    L'une des décisions importantes qu'une équipe de projet doit prendre est de décider quel (s) langage (s) de programmation doit être utilisé et les outils associés dans le processus de développement. Comme indiqué au chapitre 3, les développeurs de logiciels créent des logiciels à l'aide de l'un des nombreux langages de programmation. Un langage de programmation est un langage formel qui permet à un programmeur de créer du code structuré pour communiquer de la logique dans un format que le matériel informatique peut exécuter. Au cours des dernières décennies, de nombreux langages de programmation ont évolué pour répondre à de nombreux besoins différents.

    Il n'existe pas de méthode unique pour classer les langues. Néanmoins, ils sont souvent regroupés par type (requête, script), ou par ordre chronologique selon l'année de son introduction (c'est-à-dire que Fortran a été introduit dans les années 1954), par leur « génération », par la manière dont il a été traduit en code machine ou comment il a été exécuté. Nous aborderons quelques catégories dans ce chapitre.

    Des générations de langages de programmation

    Les premiers langages étaient spécifiques au type de matériel qui devait être programmé ; chaque type de matériel informatique avait un langage de programmation de bas niveau différent (en fait, même aujourd'hui, il existe des différences au niveau inférieur, bien que les langages de programmation de niveau supérieur les masquent désormais). Dans ces premières langues, des instructions précises devaient être saisies ligne par ligne, ce qui était un processus fastidieux.

    Certaines caractéristiques communes sont résumées ci-dessous afin d'illustrer certaines différences entre ces générations :

    Première génération (1GL)

    Deuxième génération (2GL)

    Troisième génération (3GL)

    Quatrième génération (4GL)

    Cinquième génération (5GL)

    Heure d'introduction (est).

    Années 1940 ou antérieures

    années 1950

    Années 1950 et 1970

    Années 1970-1990

    Années 1980-1900

    Instructions

    Ils sont composés de nombres binaires de 0 et de 1.

    Utilisez un ensemble de syntaxe lisible par les humains et les programmeurs

    La syntaxe est plus structurée et est composée d'un langage plus humain

    La syntaxe est conviviale pour les non-programmeurs

    Toujours en cours.

    Catégorie

    Dépendant de la

    Code de la machine

    Dépendant de la

    Niveau bas, langages d'assemblage

    Indépendant des machines

    Haut niveau

    Indépendant des machines

    abstraction de haut niveau,

    3G avancés

    Programmation logique

    Avantage

    Très rapide, pas besoin de « traduction » en 0 et 1

    Le code peut être lu et écrit par les programmeurs plus facilement que l'apprentissage du code machine

    Plus indépendant de la machine

    Plus convivial pour les programmeurs

    Usage général

    Facile à apprendre

    Peut ne pas avoir besoin de programmeurs pour écrire des programmes

    Désavantage

    Dépendant de la machine, non portable

    Doit être converti en code machine, toujours dépendant de la machine

    Peut suivre plusieurs étapes pour traduire en code machine

    Plus spécialisé

    Encore au début de la phase d'adoption

    L'utilisation d'aujourd'hui

    Si nécessaire pour interagir directement avec du matériel tel que des pilotes (par exemple, un pilote USB)

    Si nécessaire pour interagir directement avec du matériel tel que des pilotes (par exemple, un pilote USB)

    Les 3GL modernes sont plus couramment utilisées.

    Les premiers 3GL sont utilisés pour maintenir les programmes commerciaux ou scientifiques existants

    Base de données, développement Web

    Limité

    Outils visuels, recherche en intelligence artificielle

    Exemples

    Langage automatique

    Langage d'assemblage

    Les premières 3GL : COBOL, Fortran

    3PL modernes : C, C++, Java, Javascript

    Perl, PHP, Python, SQL, Ruby

    Mercure, OPS 5

    Statista.com a indiqué qu'au début de 2020, Javascript était le langage le plus utilisé par les développeurs du monde entier. Pour voir la liste complète, rendez-vous sur Statista.com pour plus de détails.

    Encadré : Exemples de langues

    Langage de première génération : code machine. En code machine, la programmation se fait en définissant directement des uns et des zéros réels (les bits) à l'aide d'un code binaire. Voici un exemple de programme qui

    ajoute 1234 et 4321 en utilisant le langage machine :

    10111001

    00000000

    110 100 10

    10100001

    00000100

    00000000

    10001001

    00000000

    00001110

    10001011

    00000000

    00011110

    00000000

    00011110

    00000000

    00000010

    10111001

    00000000

    11100001

    00000011

    00010 000

    11000011

    10001001

    101 0011

    00001110

    00000100

    00000010

    00000000

    Langage de deuxième génération. Le langage d'assemblage fournit des phrases de type anglais aux instructions du code machine, ce qui facilite la programmation. Un programme en langage d'assemblage doit être exécuté via un assembleur, qui le convertit en code machine. Voici un exemple de programme qui ajoute 1234 et 4321 à l'aide du langage d'assemblage :

    MOV CX,1234 MOV DS : [0], CX MOV CX,4321 MOV DS MAX, DS : [0]

    ZONE DE DÉPLACEMENT, DE : [2] AJOUTER UNE HACHE, UNE BOÎTE

    MOVE ADS : [4], MAX

    Les langages de troisième génération ne sont pas spécifiques au type de matériel qu'ils utilisent et ressemblent beaucoup plus à des langues parlées. La plupart des langages de troisième génération doivent être compilés, un processus qui les convertit en code machine. Les langages de troisième génération les plus connus incluent BASIC, C, Pascal et Java. Voici un exemple utilisant BASIC :

    A=1234 B=4321 C=A+B FIN

    Les langages de quatrième génération sont une classe d'outils de programmation qui permettent de développer rapidement des applications à l'aide d'interfaces et d'environnements intuitifs. Souvent, un langage de quatrième génération a un objectif particulier, comme l'interaction avec des bases de données ou la rédaction de rapports. Ces outils peuvent être utilisés par ceux qui n'ont que très peu de formation formelle en programmation et permettent le développement rapide d'applications et/ou de fonctionnalités. Clipper, FOCUS, FoxPro, SQL et SPSS sont des exemples de langages de quatrième génération.

    Pourquoi quelqu'un voudrait-il programmer dans une langue de niveau inférieur alors qu'il demande beaucoup plus de travail ? La réponse est similaire à la raison pour laquelle certains préfèrent conduire des automobiles à levier plutôt qu'à une boîte automatique : contrôle et efficacité. Les langages de niveau inférieur, tels que le langage d'assemblage, sont beaucoup plus efficaces et s'exécutent beaucoup plus rapidement. Vous avez également un contrôle plus précis sur le matériel. Parfois, une combinaison de langages de niveau supérieur et inférieur est mélangée pour tirer le meilleur parti des deux mondes : le programmeur créera la structure globale et l'interface en utilisant un langage de niveau supérieur, mais utilisera des langages de niveau inférieur partout où le programme nécessite plus de précision.

    Compilé ou interprété

    Outre la classification d'un langage de programmation en fonction de sa génération, il peut également être classé comme langage compilé ou interprété. Comme nous l'avons appris, un langage informatique est écrit sous une forme lisible par l'homme. Dans un langage compilé, le code du programme est traduit sous une forme lisible par machine appelée exécutable qui peut être exécutée sur le matériel. Parmi les langages compilés connus, citons le C, le C++ et le COBOL.

    Un langage interprété nécessite l'installation d'un programme d'exécution pour s'exécuter. Ce programme d'exécution interprète ensuite le code du programme ligne par ligne et l'exécute. Les langages interprétés sont généralement plus faciles à utiliser, mais ils sont plus lents et nécessitent davantage de ressources système. Les langages interprétés les plus populaires incluent BASIC, PHP, PERL et Python. Les langages Web tels que HTML et Javascript seraient également considérés comme interprétés car ils nécessitent un navigateur pour fonctionner.

    Le langage de programmation Java constitue une exception intéressante à cette classification, car il s'agit en fait d'un hybride des deux. Un programme écrit en Java est partiellement compilé pour créer un programme compréhensible par la machine virtuelle Java (JVM). Chaque type de système d'exploitation possède sa propre JVM, qui doit être installée, ce qui permet aux programmes Java de s'exécuter sur de nombreux types de systèmes d'exploitation différents.

    Procédural ou orienté objet

    Un langage de programmation procédural est conçu pour permettre à un programmeur de définir un point de départ spécifique pour le programme, puis de l'exécuter de manière séquentielle. Tous les premiers langages de programmation fonctionnaient de cette façon. À mesure que les interfaces utilisateur devenaient plus interactives et graphiques, il était logique que les langages de programmation évoluent pour permettre à l'utilisateur de définir le flux du programme. Le langage de programmation orienté objet est configuré pour définir des « objets » qui peuvent effectuer certaines actions en fonction de la saisie de l'utilisateur. En d'autres termes, un programme procédural se concentre sur la séquence des activités à effectuer ; un programme orienté objet se concentre sur les différents éléments manipulés.

    Par exemple, dans un système de ressources humaines, un objet « EMPLOYEE » serait nécessaire. Si le programme avait besoin de récupérer ou de définir des données concernant un employé, il créerait d'abord un objet employé dans le programme, puis définirait ou récupérerait les valeurs nécessaires. Chaque objet possède des propriétés, qui sont des champs descriptifs associés à l'objet. Dans l'exemple ci-dessous, un objet employé possède les propriétés « Nom », « Numéro d'employé », « Date de naissance » et « Date d'embauche ». Un objet possède également des « méthodes », qui peuvent effectuer des actions liées à l'objet. Dans l'exemple, il existe deux méthodes. Le premier est « ComputePay () », qui renverra le montant actuel dû à l'employé. Le second est « ListEmployees () », qui permet de récupérer la liste des employés qui relèvent de cet employé.

    Objet de l'employé

    Objet : EMPLOYÉ

    Prenom_Nom

    Last_Nom

    Identifiant de l'employé

    Date de naissance

    Date d'embauche

    ComputePay ()

    Lister les employés ()

    Outils de programmation

    Une autre décision à prendre lors du développement d'un SI est l'ensemble des outils nécessaires pour écrire des programmes. Pour écrire des programmes, les programmeurs ont besoin d'outils permettant de saisir du code, de vérifier la syntaxe du code et d'une méthode pour traduire leur code en code machine. Pour programmer plus efficacement, les programmeurs utilisent des outils intégrés tels qu'un environnement de développement intégré (IDE) ou des outils de génie logiciel assisté par ordinateur (CASE).

    Environnement de développement intégré (IDE)

    Pour la plupart des langages de programmation, un IDE peut être utilisé. Un IDE fournit divers outils au programmeur, le tout en un seul endroit avec une interface utilisateur cohérente. L'IDE inclut généralement :

    • un éditeur pour écrire le programme qui codera par couleur ou mettra en évidence les mots-clés du langage de programmation ;
    • un système d'aide qui fournit une documentation détaillée concernant le langage de programmation ;
    • un compilateur/interpréteur, qui permettra au programmeur d'exécuter le programme ;
    • un outil de débogage, qui fournira au programmeur des détails sur l'exécution du programme afin de résoudre les problèmes liés au code ; et
    • un mécanisme d'enregistrement et de retrait permet à une équipe de programmeurs de travailler ensemble sur un projet sans écrire les modifications de code des uns et des autres.

    Statista.com indique que 80 % des développeurs de logiciels du monde entier utilisent un outil de collaboration en code source tel que GitHub, 77 % utilisent un IDE autonome tel qu'Eclipse, 69 % utilisent Microsoft Visual Studio. Pour une liste complète, rendez-vous sur statista.com.

    Outils de génie logiciel assisté par ordinateur (CASE)

    Bien qu'un IDE fournisse plusieurs outils pour aider le programmeur à écrire le programme, le code doit tout de même être écrit. Les outils de génie logiciel assisté par ordinateur (CASE) permettent au concepteur de développer des logiciels avec peu ou pas de programmation. Au lieu de cela, l'outil CASE écrit le code pour le concepteur. Les outils CASE sont disponibles sous de nombreuses formes, mais leur objectif est de générer un code de qualité basé sur les informations saisies par le concepteur.

    Créer, acheter ou s'abonner

    Lorsqu'une organisation décide qu'un nouveau logiciel doit être développé, elle doit déterminer s'il est plus judicieux de le créer elle-même ou de l'acheter auprès d'une entreprise externe. Il s'agit de la décision « construire ou acheter ». Cette décision d' « achat » inclut désormais la possibilité de souscrire au lieu de l'acheter directement.

    L'achat de logiciels auprès d'une entreprise externe présente de nombreux avantages. Tout d'abord, il est généralement moins coûteux d'acheter un progiciel que de le construire. Ensuite, lorsqu'un progiciel est acheté, il est disponible beaucoup plus rapidement que s'il était créé en interne. Troisièmement, les entreprises ou les consommateurs paient un prix unique et peuvent conserver le logiciel aussi longtemps que la licence le permet, tant que vous en êtes propriétaire ou même après que le fournisseur cesse de le prendre en charge. La création d'applications logicielles peut prendre des mois, voire des années ; un package acheté peut être opérationnel en un mois. Un package acheté a déjà été testé et de nombreux bogues ont déjà été résolus, et des contrats de support supplémentaires peuvent être achetés. Le rôle d'un intégrateur de systèmes est de faire en sorte que les différents systèmes achetés et les systèmes existants de l'organisation fonctionnent ensemble.

    L'achat de logiciels présente également des inconvénients. Tout d'abord, le même logiciel que vous utilisez peut être utilisé par vos concurrents. Si une entreprise essaie de se différencier en fonction d'un processus métier dans le logiciel acheté, elle aura du mal à le faire si ses concurrents utilisent le même logiciel. Un autre inconvénient de l'achat de logiciels est le processus de personnalisation. Si vous achetez un package logiciel auprès d'un fournisseur et que vous le personnalisez, vous devrez gérer ces personnalisations chaque fois que le fournisseur propose une mise à niveau. Avec l'augmentation de la sécurité et de la confidentialité, les entreprises peuvent ne pas disposer de l'expertise interne nécessaire pour réagir rapidement. L'installation de diverses mises à jour et la résolution des bogues rencontrés peuvent également représenter une charge pour le personnel informatique et les utilisateurs. Cela peut devenir un casse-tête administratif.

    Une solution hybride consiste à s'abonner. S'abonner signifie qu'au lieu de vendre des produits individuellement, les fournisseurs proposent désormais un modèle d'abonnement que les utilisateurs peuvent louer et payer périodiquement, par exemple tous les mois ou tous les ans. Le modèle de location a été utilisé dans de nombreux autres secteurs tels que les films, les livres et s'est récemment étendu aux industries de haute technologie. Les entreprises et les consommateurs peuvent désormais s'abonner à presque tout, comme nous l'avons vu dans les chapitres précédents, qu'il s'agisse de stockage supplémentaire sur leurs plateformes de messagerie telles que Google Drive ou Microsoft Onedrive, de logiciels tels que Quickbooks, Microsoft Office 365, ou de services d'hébergement et de support Web tels qu'Amazon AWS. Les fournisseurs bénéficient de la conversion des ventes ponctuelles en ventes récurrentes et renforcent la fidélité des clients. Les clients bénéficient du casse-tête lié à l'installation des mises à jour, à la prise en charge automatique du support logiciel et des mises à jour, tout en sachant que le logiciel continue d'être mis à jour avec de nouvelles fonctionnalités. Un modèle d'abonnement est désormais une option prédominante tant pour les consommateurs que pour les entreprises.

    Même si une organisation décide d'acheter ou de s'abonner, il est tout de même logique de passer par bon nombre des mêmes analyses pour comparer les coûts et les avantages de sa création elle-même. Il s'agit d'une décision importante qui pourrait avoir un impact stratégique à long terme sur l'organisation.

    Services Web

    Le chapitre 3 indique que le passage à l'informatique en nuage a permis de considérer les logiciels comme un service. De nos jours, les entreprises ont la possibilité de concéder sous licence les fonctions fournies par d'autres entreprises au lieu d'écrire le code elles-mêmes. Ils sont appelés services Web et peuvent grandement simplifier l'ajout de fonctionnalités à un site Web.

    Supposons, par exemple, qu'une entreprise souhaite fournir une carte indiquant la localisation d'une personne qui a appelé sa ligne d'assistance. En utilisant les services Web de l'API Google Maps, ils peuvent créer une carte Google directement dans leur application. Une entreprise de chaussures pourrait également permettre à ses détaillants de vendre plus facilement des chaussures en ligne en fournissant un service Web de taille de chaussures que les détaillants pourraient intégrer directement sur leur site Web.

    Les services Web peuvent brouiller la frontière entre « créer et acheter ». Les entreprises peuvent choisir de créer elles-mêmes une application logicielle, puis d'acheter des fonctionnalités auprès de fournisseurs pour compléter leur système.

    Informatique pour l'utilisateur final ou informatique parallèle

    Dans de nombreuses organisations, le développement d'applications ne se limite pas aux programmeurs et aux analystes du département des technologies de l'information. Dans les grandes organisations, en particulier, les autres services développent leurs propres applications spécifiques. Les personnes qui les construisent ne sont pas nécessairement formées à la programmation ou au développement d'applications, mais elles ont tendance à maîtriser les ordinateurs. Une personne, par exemple, qui maîtrise un progiciel particulier, tel qu'une feuille de calcul ou un progiciel de base de données, peut être appelée à créer des applications plus petites destinées à être utilisées par son propre service. Ce phénomène est appelé développement pour l'utilisateur final, informatique pour l'utilisateur final ou informatique parallèle.

    L'informatique destinée aux utilisateurs finaux peut présenter de nombreux avantages pour une entreprise. Tout d'abord, il rapproche le développement des applications de ceux qui les utiliseront. Comme les services informatiques sont parfois surchargés, cela permet également de créer des logiciels plus rapidement. De nombreuses entreprises encouragent l'informatique des utilisateurs finaux afin de réduire la charge de travail du service informatique.

    L'informatique destinée aux utilisateurs finaux présente également des inconvénients. Si les services d'une organisation sont

    en développant ses propres applications, l'organisation peut se retrouver avec plusieurs applications qui remplissent des fonctions similaires, ce qui est inefficace car cela fait double emploi. Parfois, ces différentes versions d'une même application fournissent des résultats différents, ce qui crée de la confusion lorsque les services interagissent. Ces applications sont souvent développées par des personnes ayant peu ou pas de formation officielle en programmation. Dans ces cas, le logiciel développé peut présenter des problèmes qui doivent être résolus par le service informatique. L'informatique destinée aux utilisateurs finaux peut être bénéfique pour une organisation, mais elle doit être gérée. Le service informatique doit définir des directives et fournir des outils aux services qui souhaitent créer leurs propres solutions.

    La communication entre les services contribuera dans une large mesure à une utilisation réussie de l'informatique destinée aux utilisateurs finaux.

    Encadré : Création d'une application mobile

    Le développement logiciel inclut généralement la création d'applications destinées à être exécutées sur des ordinateurs de bureau, des serveurs ou des mainframes. Cependant, la commercialisation du Web a créé des catégories de développement de logiciels supplémentaires telles que la conception Web, le développement de contenu et les serveurs Web. L'effort de développement lié au Web pour Internet est désormais appelé développement Web. Les activités de développement Web antérieures comprenaient la création de sites Web pour aider les entreprises ou pour créer des systèmes de commerce électronique et ont rendu des technologies telles que le HTML très populaires auprès des concepteurs de sites Web et des langages de programmation tels que Perl, Python et Java populaires auprès des programmeurs. Des sites Web préemballés sont désormais disponibles pour les consommateurs qui peuvent les acheter sans apprendre le HTML ou faire appel à un concepteur Web. Par exemple, les entrepreneurs qui souhaitent démarrer une entreprise de boulangerie peuvent désormais acheter un site Web préconstruit avec un panier d'achat, tous prêts à démarrer une entreprise sans avoir à engager des dépenses coûteuses pour le créer eux-mêmes.

    Avec l'essor des téléphones mobiles, un nouveau type de développement logiciel appelé développement d'applications mobiles a vu le jour. Statista.com prévoit que les revenus des applications mobiles augmenteront de manière significative, passant de 98 milliards de dollars en 2014 à plus de 935 milliards de dollars en 2023. Cela signifie que le besoin de développeurs d'applications mobiles a également augmenté.

    À bien des égards, la création d'une application pour un appareil mobile est identique à la création d'une application pour un ordinateur traditionnel. Comprendre les exigences de l'application, concevoir l'interface, travailler avec les utilisateurs, toutes ces étapes doivent encore être effectuées. Le processus de décision pour choisir les bons langages et outils de programmation reste le même.

    Cependant, il existe des différences spécifiques que les programmeurs doivent prendre en compte lors de la création d'applications pour appareils mobiles. Ils sont les suivants :

    • L'interface utilisateur doit varier pour s'adapter aux différentes tailles d'écran
    • L'utilisation des doigts comme pointeurs ou pour saisir du texte au lieu du clavier et de la souris sur le bureau
    • Les exigences spécifiques du fournisseur du système d'exploitation doivent être respectées pour que l'application soit incluse dans chaque boutique (par exemple, l'App Store d'Apple ou le Play Store d'Android)
    • L'intégration avec l'ordinateur de bureau ou le cloud pour synchroniser les données
    • Intégration étroite avec d'autres matériels intégrés tels que des caméras, des capteurs biométriques ou de mouvement.
    • Moins de mémoire, d'espace de stockage et de puissance de traitement disponibles

    Les applications mobiles sont désormais disponibles pour à peu près tout et continuent de se développer.

    Références :

    Javascript était le langage le plus utilisé par les développeurs du monde entier (2020). Récupéré le 10 décembre 2020 sur Satistica.com

    Documentation de la plateforme Google Maps. Consulté le 10 décembre 2020 sur https://developers.google.com/maps/documentation

    Outils de programmation/développement utilisés par les développeurs de logiciels du monde entier entre 2018 et 2019 (2020). Récupéré le 10 décembre 2020 sur S tatista.com

    Chiffre d'affaires mondial des applications mobiles en 2014 à 2023 (2010.) Récupéré le 10 décembre 2020 sur Statista.com