Le troisième âge de JavaScript
(swyx.io)L’idée défendue est que JS évolue par cycles de 10 ans, et que les années 2020 marquent le début du troisième âge.
1er : 1997~2007, les débuts du langage
2e : 2009~2019, l’expansion du langage : Node, npm, ES5...
3e : 2020~, suppression des hypothèses legacy et début de la réduction des couches entre les outils
→ suppression de la dépendance à CommonJS
→ remise en cause de l’hypothèse selon laquelle les outils JS doivent être écrits uniquement en JS : TypeScript, Deno, Relay
→ passage de "Functional Core, Imperative Shell" à "Systems Core, Scripting Shell"
→ réduction des couches : Deno intègre les outils de test, formatage, linting et build
→ diversité des clouds qui n’existaient pas il y a 10 ans : de Lambda à Glitch, Repl.it, Condesandbox, Github Codespaces, Stackblitz
→ Svelte intègre dans le compilateur des fonctions allant des animations au state management
→ transformation de React en Meta-Framework et articulation client/serveur
→ avec le projet Vite, Vue est en train de créer un serveur de développement unbundled
Les outils JS de 3e génération sont
-
plus rapides
-
ESM first
-
Collapsed Layers : un seul outil fait bien plusieurs choses
-
Typesafe-er : le code TypeScript peut être utilisé partout sans configuration particulière
-
Secure-er : au niveau des dépendances et des permissions
-
Polyglot : plusieurs langages sont utilisés ensemble
-
Neo-Isomorphic : le code JS s’exécute d’abord sur le serveur au build ou avant d’atteindre le client
-
Le résultat de tout cela sera une meilleure expérience développeur (builds plus rapides, outillage standardisé) ainsi qu’une meilleure expérience utilisateur (bundles plus petits, déploiement plus rapide des fonctionnalités)
-
Le dernier changement de JavaScript, qui passe d’un jouet de scripting pour sites à une plateforme complète d’applications
-
JavaScript va-t-il mourir ?
Si la prédiction de Gary Bernhardt, selon laquelle JS vivra jusqu’en 2035, est correcte, alors la 3e génération sera la dernière de JavaScript.
Brendan Eich a changé d’avis : alors qu’il pensait que JS pouvait devenir une "Universal Virtual Machine", il estime désormais que "WASM prendra cette place".
Si tous les deux ont raison, alors "nous n’avons plus d’espoir" (dans l’original : We're in the Endgame now = nous sommes désormais dans la phase finale)
4 commentaires
Il est recommandé de le lire en parallèle avec JavaScript: The First 20 Years https://fr.news.hada.io/topic?id=1714.
Le JS est un langage trop permissif... Au final, j’espère que le WASM finira par s’imposer comme la norme.
WASM et JS ne vont-ils pas évoluer de manière complémentaire ?
On dirait que la domination de JS va continuer, mais les perspectives sont étonnamment pessimistes. C’est à cause de l’arrivée de TS, peut-être…