Voir le flux RSS

autran

JavaScript est-il éligible au Back

Note : 2 votes pour une moyenne de 5,00.
par , 10/01/2017 à 14h33 (416 Affichages)
Aujourd'hui, JavaScript arrive comme une fusée dans l'univers du back et commence à prendre des parts de marché aux trois autres (C#, PHP et Java). Bien entendu, cette poussée est avérée sur le périmètre des serveurs d'application de type web de la grande époque des technologies n-tiers (par exemple Symfony ou Zend pour PHP). Mais son émergence est aussi bien réelle dans sa verticalité puisque l'écosystème n'est pas limité à vieux web des années 2000. En effet, JavaScript offre de belles opportunité sur le mobile ou les réseaux sociaux mais aussi un habile retour sur les clients lourds à destination de terminaux légers.

Mais ce billet n'a pas pour objet de comparer les écosystèmes entre eux à travers la foultitude de Frameworks qui les accompagnent (Node.js versus Tomcat …). Je l’évoquerais d’autant moins dans la mesure où j’ai déjà abordé à plusieurs reprises ce sujet sous l’angle de l’architecture lors d’actualités que j’ai précédemment rédigées, et que cela avait déclenché de vives discussions. Non, il s'agit plutôt de s'intéresser aux langages eux-mêmes à travers les caractéristiques qui les rendent éligibles à du back.

On comparera JAVA PHP avec JavaScript sur l'ensemble de ces critères pour vérifier si ce langage est légitime pour le Back. Pour notre banc d'essai, C# étant quasiment superposable à Java dont il est une copie, il est exclu de l'étude.

La liste des critères déterminants pour le choix d'un langage de programmation Back est le suivant :
  • Implémenter un concept objet ou un mécanisme permettant de modéliser le monde réel.
  • Echanger des données suivant un format interopérable.
  • Performance d’exécution
  • Proposer nativement la manipulation d'objets courants.

Mais commençons par l'implémentation du concept objet. Dans ce domaine le langage Java est le plus orthodoxe des 3 puisque l'on peut directement écrire du Java depuis une spécification UML, et cela depuis la naissance du langage il y a plus 20 ans.
PHP, au fil des versions a convergé vers du tout objet au point d'être aujourd'hui quasiment au même niveau que Java.
Quant à JavaScript, son niveau conformité à l’objet reste assez loin des 2 autres langages ce qui est normal puisque qu'il n'est pas stricto-sensu orienté objet mais orienté prototype. Il est a noter que ce paradigme présente d'autres avantages par rapport à l'objet, même si nous ne nous y attarderons pas dans ce billet.

Venons-en maintenant à l'échange de données (JSON XML manipulation de fichier). Java est essentiellement orienté vers XML via des bibliothèques standard du langage comme JAXP sur lequel je me suis particulièrement étendu de précédents billets. Java est également très a l'aise pour la manipulation des systèmes de fichiers. En revanche, il n'intègre pas nativement le format JSON qui commence à sérieusement concurrencer XML.
PHP quant à lui intègre de façon basique XML et JSON et permet tout aussi basiquement de manipuler des fichiers.
Quant à JavaScript, la prise en charge de JSON est idéale en raison de la gémellité du langage et du format. En revanche le langage ne prend nativement pas plus en charge le XML que la manipulation de fichiers.

Les 3 langages offres des ordres de grandeurs similaires pour ce qui est de la vitesse d’exécution sur des environnements techniques équivalents. JavaScript a rattrapé le retard considérable qu’il avait grâce à l’avènement d moteur V8. En terme de gestion des processus et de la mémoire il est difficile de comparer Java et PHP à JavaScript car JavaScript offre un mode de programmation asynchrone contrairement à ces 2 concurrents.

Et pour finir cette comparaison je m’aventurerai sur le terrain des fonctionnalités tout aussi utiles que sexy que JavaScript offre par rapport à ces 2 concurrents (c’est normal c’est le plus récent). Les développeurs sont nombreux à plébisciter la richesse des méthodes des objets Array ou String ainsi que la puissance lexicographique d’une syntaxe pseudo-fonctionnelle permettant d’opérer sur des collections de façon propre et beaucoup moins verbeuse.

Je pense que d’autres critères pourraient certainement venir compléter cette analyse. On voit à quel point tous semblent forts intéressants et combien il est difficile de faire un choix. A mon sens, ce constat suffit à tous les qualifier à faire du Back.

Donc pour moi, oui JavaScript peut être adopté comme langage de Back au même titre que les autres.

Si certaines de mes analyses vous semblaient quelque peu biaisées, n’hésitez pas à me laisser vos impressions. j’essaierai alors de les modifier ou de rajouter des explications à la lumière de vos questionnements.

Envoyer le billet « JavaScript est-il éligible au Back » dans le blog Viadeo Envoyer le billet « JavaScript est-il éligible au Back » dans le blog Twitter Envoyer le billet « JavaScript est-il éligible au Back » dans le blog Google Envoyer le billet « JavaScript est-il éligible au Back » dans le blog Facebook Envoyer le billet « JavaScript est-il éligible au Back » dans le blog Digg Envoyer le billet « JavaScript est-il éligible au Back » dans le blog Delicious Envoyer le billet « JavaScript est-il éligible au Back » dans le blog MySpace Envoyer le billet « JavaScript est-il éligible au Back » dans le blog Yahoo

Commentaires