Une école du Groupe IGS
IPI

Les 3 tendances du développement logiciels à observer en 2020

IPI-Nos-articles-3-tendances-developpement-logiciels-2020

Ces dernières années, le développement logiciel a connu un essor considérable, tiré par l’émergence de technologies innovantes ayant fortement impacté notre vie quotidienne, ainsi que le monde des affaires. La nouvelle décennie s’annonce sous les mêmes auspices, et les sociétés de développement auront du pain sur la planche, notamment en matière de personnalisation des logiciels créés. Cette belle dynamique nous amène automatiquement à la question suivante : quelles sont les tendances en matière de développement de logiciels à observer en cette année 2020 ? La réponse dans cette analyse réalisée par l’IPI.

#1 Les applications web progressives

Une application web progressive (PWA) n’est pas une nouvelle structure ou une nouvelle technologie. Il s’agit plutôt d’un ensemble d’améliorations visant à faire fonctionner une application web d’une manière similaire à une application de bureau ou mobile. L’objectif est d’offrir à l’utilisateur une expérience similaire ou identique à celle que lui offrirait une application native, sans qu’il ne remarque de différence entre cette dernière et une PWA.

Accessible à partir d’une URL sécurisée (comme tout autre site web), elle combine parfaitement les avantages de l’expérience utilisateur mobile avec les fonctionnalités offertes par la plupart des navigateurs. Si les entreprises adhèrent de plus en plus à cette solution, c’est en raison de ses multiples avantages que nous pouvons synthétiser comme suit :

  • Développement facile à partir de technologies courantes (HTML, CSS, JavaScript) ;
  • Indépendance des systèmes de distribution numérique (App store, Google Play, etc.) ;
  • Chargement rapide quelle que soit la vitesse de connexion ;
  • Faibles coûts de développement, car nul besoin de créer une application web progressive pour chaque OS.

Néanmoins, pour qu’une application web soit considérée comme « progressive », elle doit posséder des fonctionnalités telles que les notifications “push”, l’accès au matériel de l’appareil mobilisé, sans parler du fonctionnement hors ligne, que l’on retrouve dans de nombreuses applications mobiles natives installées sur nos smartphones.

Pour mieux guider les développeurs, Google a également défini sa propre liste de critères techniques définissant une application web évolutive :

#1 Web App Manifest

Il s’agit d’un fichier json contenant des méta-informations sur l’application web :

  • Couleur de fond de l’application ;
  • Nom de l’application ;
  • Nom abrégé de l’application ;
  • Etc.

Ce fichier peut être programmé par le développeur lui-même, ou généré automatiquement par des outils dédiés à cet effet (exemple : Google Tools)

#2 Service worker

Le Service Worker est un script JavaScript qui s’exécute en arrière-plan d’une application et qui est utilisé pour charger les données de l’application en vue d’une utilisation hors ligne. Il fait également office de proxy entre l’application et le réseau.

#3 HTTPS

Une application n’est considérée comme progressive que si elle est sécurisée par un certificat SSL. Celui-ci est facile à obtenir par le biais de services tels que Cloudfare ou LetsEncrypt.

#2 Intelligence artificielle : l’ère des entreprises intelligentes a commencé

Il est prévu qu’en 2020, l’intelligence artificielle (IA) franchisse un nouveau palier, si l’on croit le rapport “Artificial Intelligence Market – 2025| MarketsandMarkets”, publié par le cabinet d’étude Gartner. On apprend ainsi que le marché mondial de l’IA atteindra 190,61 milliards de dollars à l’horizon 2025, soit environ 11 fois plus qu’en 2017 ! On apprend également que l’IA créera une valeur commerciale de 2,9 billions de dollars d’ici 2021.

La France revendique un bilan des plus reluisants en la matière, puisque le pays occupe la première place européenne en termes d’investissement en intelligence artificielle, avec 576 millions de dollars soulevés par les startups d’IA en 2018, et 1 276 millions de dollars récoltés en 2019. Une récente enquête de Syntec Numérique, baptisée « Formations et compétences de l’intelligence artificielle en France », prévoit que, d’ici 2023, sur une population d’informaticiens estimée à entre 11 200 et 21 000 profils, 7 500 seront spécialisés en Intelligence artificielle. 

Ces chiffres ne laissent planer aucun doute quant à l’impact grandissant de l’intelligence artificielle, dont voici quelques récents cas d’utilisation :

  • L’intelligence artificielle et le machine learning aident les développeurs logiciel à automatiser les tâches répétitives et à faibles valeurs ajoutées en entreprise.
  • La récolte et la centralisation des données des patients, grâce à l’IA, facilite le travail des équipes médicales et réduit considérablement le taux d’erreurs de traitement.
  • Les Chatbots basés sur l’IA améliorent la gestion de la relation client.
  • L’IA augmente l’efficacité opérationnelle dans l’industrie manufacturière.
  • Etc.

#3 La qualité du code

En informatique, certaines traditions ne changent que très peu ! Il n’est donc guère étonnant de voir la qualité du code figurer dans notre top 3. Et pour cause, elle joue un rôle important dans le développement de logiciels, et les informaticiens doivent donc lui accorder un intérêt particulier.

Pour définir ce qu’est un code de qualité, nous pouvons nous fier aux critères suivants :

#1 Simplicité

Un bon code est avant tout un code concis ! Inutile donc pour les développeurs d’écrire d’interminables lignes de codages, et des fonctions qui s’étendent sur plusieurs pages. La simplicité permet de développer des programmes fiables, sans bugs et avec beaucoup moins de risques d’erreurs.

#2 Lisibilité

Le développement d’un logiciel est une mission qui requiert souvent la mobilisation de toute une équipe de développeurs. Pour remplir leurs missions, chacun d’entre eux doit être en mesure de lire et de bien interpréter le code rédigé par ses collègues. Pour cette raison, il est recommandé d’accompagner son code de commentaires, et de nommer ses variables de manière simple et intelligente. Par exemple, s’il s’agit d’une solution pharmaceutique, la variable qui renvoie vers une pharmacie peut être nommée « ph » au lieu de « pharmacie ».

#3 Efficacité

Un logiciel efficace est censé remplir ses fonctions en usant du moins de ressources possibles (fichiers, connexions de données, etc.). Ainsi, si un développeur remarque durant la phase de test que son programme nécessite d’interminables déplacements vers le serveur, et qu’il consomme une partie importante de la mémoire de la machine (virtuelle ou physique), il est tenu de revoir la qualité du code écrit.

#4 Élégance

L’élégance du code n’est autre que la combinaison des trois critères cités plus haut. Elle est également assimilée à la virtuosité du développeur et son adaptabilité avec les différentes technologies de programmation. 

Maintenant que vous avez pris connaissance des grandes tendances qui vont guider le développement de logiciels en 2020, vous savez sur quelles compétences vous serez attendu si vous envisagez une carrière dans l’industrie des technologies de l’information. Afin de mieux les développer, nous vous recommandons les formations proposées à l’IPI.


CandidatureCandidature CandidatureDocumentation