Aller au contenu
Accueil / Frameworks JS : une longue histoire

Frameworks JS : une longue histoire

Les trois frameworks JS front-end vedettes du moment, Angular, React et Vue.js, ont eu de nombreux prédécesseurs, dont plusieurs ont été oubliés dans les limbes de la toile.

Depuis la naissance de JS en 1995, les versions de navigateurs, les frameworks et les spécifications ECMA ont évolué de concert.

Au sommaire :

Frameworks JS, les anciens*

1995 – JavaScript est né quelques années à peine après le web lui même. Tim Berners-Lee et ses collègues du CERN en Suisse ont en effet mis au point le Web et l’HTML en parallèle, entre 1989 et 1991.

jQuery
  • 2006 – jQueryScript.aculo.usMooroolsYUI, trois frameworks la même année, pour régler les problèmes de compatibilité entre navigateurs. Cependant, ces problèmes se posent moins aujourd’hui, puisque tous les navigateurs modernes supportent l’ECMAScript 6.
    Les points forts de jQuery étaient l’appel des sélecteurs du DOM, l’animations et la gestion d’événements, et AJAX. Quand les querySelector, addEventListener ou les Promesses ont été implémentés dans le JavaScript natif, jQuery a totalement perdu son utilité.
    Néanmoins, si l’essentiel de ce qu’on y fait (faisait?) est aujourd’hui réalisable directement en JS ou avec des frameworks plus récents, l’entretien de sites plus anciens nécessite parfois de s’y (re)plonger. Ainsi par exemple, WordPress, qui utilise React pour son éditeur de blocs, continue à embarquer jQuery pour les thèmes et extensions.
Remplacer JQuery par du Vanilla JavaScript – Parfaitement Web
  • 2009 – AngularJS de Google, Backbonejs (2010), Embersjs (2011) : Les Single Page Applications (SPA) sont entièrement centrées sur le JS. On ne quitte jamais la page d’origine, dont les éléments se mettent à jour automatiquement. Exemples : Facebook, Gmail…
  • Node.js est né également en 2009 : Javascript côté serveur (ie Back-end). C’est l’un des rares « anciens » qui est toujours sous les feux de la rampe avec son propre écosystème (Express.jsNest.js…).
Node.js
VanillaJS, une blague datant de 2012

↑ — Revenir au sommaire

L’arrivée des Web Components

  • 2011 : Apparition des composants Web (web components), qui sont devenus en quelques années un nouveau standard du web, et serviront de base à la nouvelle génération de Framework JS. Ils permettent d’étendre les tags HTML existants (div, form, input, etc) pour créer de nouveaux composants HTML.
    Des ingénieurs de chez Google ont voulu rendre accessibles ces Web Components en créant une surcouche à ces technos. Cette surcouche, nommée Polymer (2013), était vouée à s’alléger proportionnellement à la couverture des navigateurs. Aujourd’hui, la librairie Polymer sert en partie de polyfill pour les anciennes versions de navigateurs. Mais la version 3 continue à être également utilisée pour créer de nouveaux composants web, à l’instar des frameworks qui sont venus après lui, et avec lesquels il peut même s’implémenter. Autre bibliothèques de Web components à connaître : X-Tag, développé par Mozilla puis repris par Microsoft.
Google Polymer

↑ — Revenir au sommaire

Frameworks JS, les modernes*

  • 2013 – Après le rachat d’Instagram, Facebook lance React, basé sur un « Virtual DOM ».
  • 2014 – Un ancien de Google, Evan You, qui voulait un framework léger et flexible, développe Vue.js. Le plus grand site de commerce en ligne du monde, Alibaba, l’a adopté.
  • 2016 – Google crée Angular, à ne pas confondre avec le AngularJS de 2009 ! La firme de Mountain vue a en effet totalement réécrit son framework, qui n’a donc plus rien à voir avec la version de 2009. AngularJS n’est d’ailleurs plus maintenu.
React, Angular, Vue.js
React a gagné. Pourquoi ? – Melvynx (14 min)

↑ — Revenir au sommaire

L’avenir

Si la situation semble momentanément stabilisée, nul doute qu’à l’avenir, cette évolution se poursuivra, avec d’autres frameworks ou bibliothèques, ayant d’autres approches, tant front que back.

TypeScript, le JS du futur?

↑ — Revenir au sommaire

Titres* : en référence à la Querelle des Anciens et des Modernes en littérature au XVIIe siècle

Sources

Sources pour Angular, React et Vue.js : voyez le billet précédent, Frameworks JavaScript

Lisez aussi

↑ — Revenir au sommaire