JavaScript : langage numéro 1 de la programmation web
Vaut-il aujourd’hui encore la peine d’apprendre JavaScript ? Absolument ! Trois quarts des développeurs web travaillent avec ce langage de programmation. Découvrez, dans notre article de blog, comment JavaScript est devenu l’un des langages de programmation les plus puissants et les plus polyvalents.
Vous connaissez Star Wars ? Ma femme aussi, mais seulement depuis qu’elle me connaît.
Compte tenu des formes de cohabitation possibles et socialement reconnues aujourd’hui, je dois brièvement clarifier que ma compagne est mon « numéro 1 ». C’est pourquoi je l’appelle volontiers « ma femme », même si nous ne sommes pas mariés.
Les personnes qui me reprocheraient que ma femme soit aussi la seule personne avec qui je partage le toit, le lit et la table ont tout à fait raison : l’un n’exclut pas l’autre.
C’est exactement ce que je pense de JavaScript (JS) et du World Wide Web :
JavaScript est en principe le seul langage de programmation web pour les clients, mais il est (et reste) le numéro 1.
Je ne suis pas le seul à voir les choses de cette manière : c’est aussi ce que confirme le classement très réputé des langages de programmation de RedMonk. Ce n’est donc pas une surprise de voir que le sondage « Stack Overflow Developer Survey 2022 » place JavaScript depuis 10 ans à la première place des langages de programmation les plus utilisés. Dans les faits, trois développeuses ou développeurs sur quatre utilisent JavaScript.
Vous avez des objections ? Partagez-les-nous dans les commentaires !
Ah oui, j’oubliais : je vais aussi vous prouver dans cet article qu’il existe de nombreuses similitudes entre JavaScript et Star Wars.
Petit historique de JavaScript : Comment ce langage de programmation s’est-il développé ?
JavaScript a vu le jour en 1995.
Sa mère était l’entreprise Netscape Communications, qui, avec Netscape Navigator, a su se faire une place solide dans le cœur des premiers surfeurs du web. À cette époque, JavaScript s’appelait encore LiveScript. C’est seulement lorsque l’entreprise Sun Microsystems – pour ainsi dire son père – s’en est mêlée qu’il a reçu le nom de JavaScript.
Netscape n’existe plus. Mais sa création, Netscape Navigator, a été reprise par Mozilla Foundation avant d’être avalée par AOL.
Sun Microsystems n’existe plus non plus. Elle a fusionné avec Oracle. Son héritage : le langage de programmation Java.
Pour toutes celles et tous ceux qui connaissent les films Star Wars, voici un petit parallèle cinématographique : Padme Amidala est la mère (Netscape) et Anakin Skywalker le père (Sun Microsystems) de Luke Skywalker (JavaScript). Et oui… Anakin Skywalker est devenu Darth Vader (Java).
Pour éviter tout malentendu : j’ai beaucoup d’estime pour Java en tant que langage – Darth Vader a même jeté l’empereur maléfique dans le vide à la fin de l’épisode 6 – mais Java n’est tout bonnement pas JavaScript. Mais nous y reviendrons peut-être une autre fois.
Le développement technique de JavaScript est plutôt bien détaillé sur Wikipédia. Mais il n’y a probablement que les développeuses et développeurs pour comprendre des concepts comme « async/await » ou « Array#{flat,flatMap} ». Donc pour résumer simplement : JavaScript a vraiment évolué sur le plan technique !
D’un point de vue beaucoup moins technique, l’histoire de JavaScript peut être résumée ainsi :
1995-1999 : Les débuts de JavaScript : Cool, Mouseover !
À l’origine, JavaScript servait à lire ou écrire les propriétés d’un document HTML et à réagir aux données entrées par l’utilisateur.
Ainsi, en 1998, c’était extraordinaire de pouvoir passer la souris sur une image sur une page HTML et de la voir remplacée par une autre. Cela faisait des boutons très chics et branchés !
Aujourd’hui, on ne crée plus des boutons avec des images et CSS se charge pour nous des effets de survol de la souris (= hover effect).
2000 – 2004 : DHTML : JavaScript donne de la dynamique à HTML
Au tournant du millénaire, l’abréviation DHTML est devenue une vraie hype, fier représentant de tous les menus déroulants, le glisser-déposer ou la saisie automatique des champs de formulaires. On retrouvait le DHTML partout, alors même que les différents navigateurs géraient encore JavaScript chacun à leur niveau et à leur manière.
La synergie de HTML, de CSS et de JavaScript est ensuite devenue avec le temps bien plus robuste ; les divers navigateurs prenant de moins en moins leur chemin individuel au profit d’un standard qui s’imposait de plus en plus.
Toutefois, ce standard était compliqué à utiliser et ne convenait pas vraiment aux néophytes de la programmation. On avait besoin de beaucoup de lignes de code pour effectuer des tâches pourtant fondamentales ou pour mettre en œuvre des fonctionnalités appréciées par les utilisateurs et utilisatrices sur un site web.
Précision : je parle ici de l’interaction entre JavaScript et le Document Object Model HTML et pas de JavaScript en soi.
Et puisqu’il faut bien caser une petite référence à Star Wars : programmer du JavaScript pur sur une page web était aussi laborieux que de devoir mettre la cassette VHS de « Star Wars Épisode I – La menace fantôme (1999) » dans le lecteur et de devoir commencer par rembobiner avant de pouvoir profiter. Il était temps de passer à un autre support !
2005-2009 : le côté clair de la force : jQuery
Dès 2005 a débarqué le sauveur du déjà presque enterré JavaScript : jQuery.
La question de savoir qui de JavaScript ou de jQuery est le meilleur est un non-sens, étant donné que jQuery est en JavaScript et que l’un ne va pas sans l’autre. Lisez d’ailleurs à ce sujet un de mes précédents articles de blog : « jQuery ou JavaScript : Pourquoi la question ne se pose pas ».
J’ai une fois vu un mème de Luke Skywalker se battant contre Darth Vader. Luke portait un t-shirt jQuery et disait qu’il ne passerait jamais du côté obscur de la force. Darth Vader portait un t-shirt JavaScript et disait : « Je suis ton père ! ».
AngularJS 2010-2015 : du HTML « Next Level » grâce à JavaScript
Alors que JavaScript avait à peu près 15 ans, des développeurs et développeuses se sont demandé :
Si l’on avait su à l’époque tout ce que l’on veut faire aujourd’hui avec le HTML, comment aurait-on construit le HTML ?
La réponse à cette question a pris la forme d’AngularJS de Google. Et, avec lui, une révolution d’envergure du développement front-end. Le plus cool avec AngularJS, c’est qu’il est composé à 100% de JavaScript.
2016-2022 : des classes ? Oui ! de l’héritage ? Oui ! des modules ? Oui ! ah oui… et du typage ? Oui !
Pour toutes les personnes qui ne comprennent rien à ce titre : ne paniquez pas, je l’adresse aux programmeurs et programmeuses invétéré-e-s qui expriment un certain scepticisme vis-à-vis de JavaScript.
Six ans après AngularJS – en 2016, donc –, sort son successeur : Angular. Et au jour où j’écris ces lignes, on en est déjà à la version 15.
Ce doit donc être quelque chose de bien. Comme Star Wars.
Et effectivement : avec Angular, plus aucun programmeur orienté objet ne peut refuser de se mettre à JavaScript au simple prétexte que ce dernier ne supporte pas les classes. Même si Angular utilise le langage de programmation TypeScript, il le compile finalement en HTML, en CSS et donc (CQFD) en JavaScript.
Domaines d’applications de JavaScript : Qu’est-il possible de programmer avec JavaScript ?
Qu’en est-il aujourd’hui ? Si je fais la liste de ce que je programme encore et toujours avec JavaScript, voici ce qui en ressort :
1. Lors de la création d’applications mobiles
Vous trouverez ici une liste des frameworks JavaScript pour les applications mobiles.
2. Sur les serveurs (web), p. ex. avec nodeJS
Cliquez ici pour plus d’infos sur nodeJS.
3. Pour les automatisations sur Adobe
Découvrez par exemple des tutos pour la création de scripts sur Photoshop ou Illustrator.
4. Pour les documents ou formulaires PDF
Par exemple pour créer des textes d’aide dynamiques sur des documents PDF (certes avec JavaScript, mais sans avoir à écrire soi-même une seule ligne de code).
5. Pour créer un canvas HTML5 sur Adobe Animate
Vous trouverez ici un tutoriel à ce propos.
6. Dans Adobe After Effects pour ajouter des effets calculés aux vidéos
Découvrez plus d’information sur l’utilisation de scripts sur After Effects sur la page d’aide d’Adobe.
7. Pour les fonctionnalités avancées dans G-Suite (Google Docs, Google Sheets et Google Slides)
Ça vous intéresse aussi ? Consultez le guide ici.
En principe, JavaScript est utilisé le plus souvent dans le développement web front-end. En complément de HTML et de CSS, JavaScript est utilisé pour créer des sites web dynamiques ou pour insérer des éléments interactifs ou réactifs. Mais aussi pour développer des jeux sur navigateur et des applications mobiles.
Finalement, mais pas des moindres, JavaScript est aussi devenu important pour le développement web back-end. Par exemple dans la programmation d’applications web et serveur.
Quels sont les avantages et les inconvénients de JavaScript ?
J’ai dit une fois dans l’un de mes cours : « Tout a ses avantages et ses inconvénients, sauf JavaScript, qui n’a que des avantages ! »
Et c’est une déclaration à laquelle j’adhère encore toujours.
Ma femme a ici bien entendu une toute autre opinion, parce qu’elle ne s’intéresse pas du tout aux langages de programmation et n’a pas du tout l’intention d’en apprendre un. (Et Star Wars ne l’intéresse pas non plus).
Mais pour toutes celles et tous ceux qui se tâtent à apprendre un langage de programmation, alors je ne peux que fortement recommander JavaScript.
Les avantages de JavaScript :
- Débuter avec JavaScript est possible sans aide particulière, étant donné qu’il est écrit en texte clair (donc avec un simple éditeur de texte).
- JavaScript est (tout comme HTML et CSS) multiplateforme et ne dépend d’aucun système d’exploitation ou autres.
- JavaScript fonctionne sur navigateur – et sans navigateur (presque) rien ne fonctionne de nos jours.
- Les débutantes et débutants peuvent découvrir les bases de la programmation grâce à, et avec, JavaScript. Les pros se complairont dans TypeScript.
- JavaScript est un incontournable du développement web et mobile. Celle ou celui qui maîtrise JavaScript trouve toujours quelque chose à faire.
- Pour cette raison, il existe beaucoup d’informations et de matériel pour JavaScript sur internet ainsi que de nombreuses communautés de développeuses et développeurs.
- Et enfin : Pas de calorie dans JavaScript, à contrario du popcorn que l’on gloutonne devant un bon Star Wars.
Je renonce volontairement à énumérer les inconvénients de JavaScript.
Pour trois raisons :
- Les points qui sont souvent mentionnés comme « inconvénients » ont, selon moi, bien plus à voir avec ce qui se trouve entre la chaise et le clavier qu’avec JavaScript.
Ce qui vaut pour HTML vaut aussi pour JavaScript : ce n’est pas parce que ça fonctionne que c’est bien codé. - Selon moi, le fait que les erreurs seraient difficiles à trouver, n’est rien de plus d’une rumeur.
Avec les outils adaptés (p. ex. : Google Chrome Developer Tools) et une bonne stratégie, c’est aussi facile d’identifier les erreurs qu’avec n’importe quel autre langage de programmation. - Le fait que JavaScript ne soit pas conçu pour les applications de grande envergure n’a, selon moi, aucune importance. Je suis un fervent défenseur des microservices et des applications modulaires. « Grand » appartenait au monde des applications d’hier.
Est-ce qu’il vaut aujourd’hui encore la peine d’apprendre JavaScript ?
Les personnes qui envisagent de se lancer dans la programmation ne font rien, mais alors vraiment rien de faux avec JavaScript ! Les programmeuses et programmeurs invétéré-e-s qui ont envie de se diversifier peuvent aujourd’hui plonger dans le monde du web de manière orientée objet et typée grâce à JavaScript.
Celles et ceux qui souhaitent programmer sur le web ne pourront pas se passer de JavaScript. Peu importe le nom des frameworks utilisés actuellement.
Qu’en pensez-vous ? Je me réjouis de lire vos commentaires, qu’ils concernent JavaScript ou Star Wars.
Découvrez la programmation avec JavaScript, Angular ou jQuery et créez vos premières applications web grâce à nos formations. Introduction à JavaScript JavaScript – Approfondissement Introduction à Angular Introduction à jQuery
Apprenez à connaître le domaine d’application de JavaScript et commencez à écrire des programmes JavaScript standards.
Approfondissez vos connaissances de JavaScript.
Apprenez à utiliser Angular, le framework le plus avancé pour développer des applications single page.
Découvrez les meilleures pratiques de développement d’applications web riches avec jQuery.