Temps de lecture moyen : 6 mn

Si vous arrivez sur cet article, c'est qu'à priori vous souhaitez créer votre application. Vous avez votre idée en tête, vous souhaitez la lancer sur le marché et c’est le moment où vous commencez à vous poser des tas de questions, la première étant : par où commencer ?

Une fois le besoin utilisateur défini, c'est l'heure des choix techniques. Vous savez qu'il existe plusieurs langages et technologies différentes, mais sans avis technique, vous avez du mal à y voir clair : on vous rassure, c’est normal.

Mais s’il en existe autant, c'est sûrement qu'il y a une bonne raison non ? Alors, comment choisir? 

Deux solutions s'offrent à vous :

  • Vous fermez les yeux, croisez les doigts et sélectionnez un langage au hasard en espérant très fort que votre projet soit un succès (vraiment très fort)
  • Vous continuez la lecture de cet article pour vous faire un avis plus précis et vous aiguiller dans votre réflexion !

 

Pourquoi devez-vous vous intéresser au choix du langage ?

On est d’accord, vous ne verrez probablement jamais, ou seulement très peu, le code qui se cache derrière votre application. Et vous vous dites peut-être que le choix du langage n’est qu’un problème qui concerne l’équipe technique.

Mais en tant que porteur de projet, c’est un choix crucial dans lequel vous devez vous impliquer. Alors évitons les pièges du type :

  • “je m’en fiche, c’est pas mon problème” ;
  • “le moins cher, c’est le mieux” ;
  • “ce langage est à la mode en ce moment” ;
  • “mon ami qui est CTO m’a dit d’utiliser ce langage” ;

A la place, fiez vous à des indicateurs que vous maitrisez et que vous pouvez mesurer : l'argent bien sûr, et les données à disposition.


💰Les coûts

Le temps c'est de l'argent ! Le choix d'un langage aux standards connus et répandus vous assure un vaste choix de développeurs confirmés et donc de perdre le moins de temps possible dans le recrutement de votre équipe technique.

Tout ce qui est rare est cher ! Un langage de programmation moins commun et maîtrisé par peu de développeurs va entraîner des coûts salariaux plus élevés. Et le choix de votre équipe technique risque d'être plus restreint.

 

📚 Les données à disposition

Une façon de savoir si vous vous orientez vers le bon choix de langage peut être de s'intéresser à la communauté de développeurs existante.

Une grande communauté ne signifie pas seulement qu'il y a beaucoup de développeurs qui utilise un même langage. La communauté est surtout importante car elle permet le partage de connaissances et de documentation.

Cela se révèle utile pour résoudre des problèmes techniques ou tout simplement pour développer de nouvelles fonctionnalités.

Alors, plus elle est active, mieux c'est !

 

💡 Finalement, choisir un langage informatique c'est comme acheter une nouvelle voiture :

👉 Le prix d'achat pour une voiture d'une marque peu connue est plus élevé, et trouver une main d'oeuvre qualifiée et des pièces de remplacement sera moins facile et plus cher.

👉 A l’inverse, en choisissant une marque connue et répandue, le coût d’achat ainsi que les coûts de révision seront bien moins élevés.

 

Alors, existe-t-il un langage meilleur qu'un autre ?

Il faut savoir qu’un langage, c'est un langage... et qu’en théorie on peut tout faire avec tout ! Mais on parle bien de théorie, puisqu’en pratique certaines technologies sont mieux adaptées à certains usages.

 

Si vous avez un projet d'application web ?

Quand on parle d'application web, on parle aussi bien d'une application métier accessible via un navigateur web, que d'un site internet qui nécessite une base de données, et donc un back-office (certains les appellent aussi "site web dynamique").

Voici une liste des langages les plus pertinents selon nous :

 

  • Python :

Python est le premier langage de "gestion d'objet"et est le langage le plus utilisé à ce jour. C'est un langage réputé facile à apprendre car il y a à disposition beaucoup d'outils qui facilitent la programmation.

Cependant, Python nécessite plus de tests que d'autres langages et il arrive que des bugs ne puissent être détectés qu'après la mise en ligne.

👉 Pour vous faire une idée : Back Market, Dropbox, Instagram ou encore Pinterest ont été développées en Python.

 

  • Ruby :

Ruby est un langage orienté objet également et plutôt simple à apprendre. Attention, on ne dit pas que vous pouvez devenir expert Ruby en une journée, mais le réel avantage est que tout est en open source et que la documentation existante sur cette technologie est écrite par des développeurs, pour les développeurs.

Ruby est de plus en plus utilisé sur les dernières années et donne l'impression aux développeurs de manipuler un objet plutôt que de manipuler des "fonctions", ce qui rend le code plus accessible.

Ruby peut, dans certains cas, laisser apparaître des problèmes de lenteur dans les chargements des pages. Mais c'est loin d'être dramatique puisqu'il est facilement possible d'optimiser le développement pour que l'application soit plus performante.

👉 Pour vous faire une idée : Airbnb, Deliveroo, Groupon, Lime ou encore Runtastic ont été développées en Ruby

 

  • PHP :

PHP est l'un des langages les plus anciens et fait partie des plus utilisés encore aujourd'hui.

Plus complet que Python et Ruby, il a néanmoins le gros désavantage de créer de la lenteur dans l'usage des applications et il est de plus en plus rare de voir une nouvelle application créée en PHP.

En effet, la documentation autour de ce langage est vieillissante, pas souvent mise à jour, et bien que PHP ait une large communauté, les jeunes développeurs ont plutôt tendance à se tourner vers Ruby ou Python.

👉 Pour vous faire une idée : Wordpress et Facebook ont été développées en PHP

 

  • Node.js :

Petite subtilité, Node.js n'est pas un langage à proprement parlé mais plutôt un environnement d’exécution JavaScript pouvant être utilisé pour écrire des services côté serveur. Il faut davantage le voir comme une alternative aux autres langages serveur cités ci-dessus.

Node.js est de plus en plus en vogue sur ces dernières années, puisqu'il a l'avantage d'être très performant et surtout d'être "scalable". Autrement dit, il vous permettra de créer un back office performant et qui peut facilement gérer la montée en charge si votre application voit son nombre d'utilisateurs augmenter soudainement.

En revanche, c'est une technologie plus récente et par conséquent il existe beaucoup moins de documentation à disposition pour les développeurs, contrairement aux autres langages évoqués.

En cas de blocage, il sera plus difficile de trouver une réponse. Il vous faudra donc recruter un expert dans le domaine pour vous aider, démarche qui peut s'avérer longue et fastidieuse car il y a encore peu d'experts Node.js sur le marché.

👉 Pour vous faire une idée : Notion et Trello ont été développées avec Node.js

 

Si vous avez un projet d'application mobile ?

  • Swift :

Swift est un langage open source créé pour développer des applications sur IOS. Il est de plus en plus utilisé et il existe de plus en plus de documentation autour de ce langage.

Bien que son code soit sûr et fiable, ce langage a été pensé uniquement pour pouvoir créer et déployer les applications dans un environnement Apple. Pour que votre application soit également disponibles sur des plateformes Android ou Windows, il faudra redévelopper votre application dans un autre langage.

👉 Pour vous faire une idée : Les applications mobile de LinkedIn et Airbnb ont été développées en Swift

 

  • Kotlin :

Kotlin est à Android ce que Swift est à Apple. A chacun son langage.

Kotlin est en quelque sorte la relève de Java pour le développement d'application sur les plateformes Android. Facile à prendre en main et compatible avec Java, il offre de nombreux avantages si vous désirez lancer votre application uniquement sur Android.

Vous l'aurez compris, l'inconvénient est le même qu'avec Swift. Si vous désirez également déployer votre application sur les plateformes d'Apple, il vous faudra coder votre application en double.

👉 Pour vous faire une idée : Les applications mobiles de Uber, Trello et Pinterest ont été développées en Kotlin

 

  • Ionic et React Native

Bien que Ionic et React Native ne soient pas des langages mais des frameworks, ils permettent de faire ce que Swift et Kotlin ne permettent pas : créer une application mobile cross-platform.

Autrement dit, ils vous permettront de ne concevoir qu'une seule application, qui sera disponible aussi bien sur iOS que sur Android, et cela représente un réel gain de temps.

👉 Alors si vous êtes désireux de sortir votre application rapidement et de la proposer aussi bien sur iOS et Android, privilégiez plutôt Ionic ou React Native !

 

Si vous avez un projet de sites vitrine ?

Dans ce cas, nous vous conseillons l'utilisation d'un outil de type CMS (Content Management System).Cela vous permettra de “manager votre contenu”.Autrement dit, gérer et disposer le contenu de votre site comme vous le souhaitez.

La plupart des CMS ont été développés en PHP et servent à grandement vous faciliter la vie dans la conception de votre site vitrine. Effectivement, la multitude de templates proposés et la prise en main de l’outil vous assure de pouvoir créer votre site rapidement et à moindre coût.

Parmi les plus connus, vous pouvez vous intéresser à Wordpress, Joomla! ou encore Drupal. Il y également Hubspot, qui est historiquement un CRM mais qui propose son propre CMS depuis 2019.

 

Le choix du langage dépend surtout de votre cas d'usage

Vous connaissez votre futur produit, vous savez à qui vous le destinez et comment vous voulez qu'il soit utilisé par vos utilisateurs finaux. Vous avez donc votre cas d'usage, il ne reste plus qu'à faire votre choix.

Mais vous savez, on ne croit pas qu'il y ait de bons ou de mauvais langage. On dirait que c'est d'abord des rencontres... (vous l'avez ? 😉 )

Ce qui fera de votre projet un succès c'est avant tout la relation que vous aurez avec vos futurs partenaires et équipes.

Et si vous vous demandez maintenant comment cadrer votre projet, notre modèle de cahier des charges agile devrait grandement vous aider !

Et si vous avez d'autres questions, ou même des commentaires sur cet article, n'hésitez pas à nous contacter 🙂