5. ● Frameworks
● Packet managers
● Preprocessors
● Node.js
● AJAX
● Apparition de librairies (jquery,
mootools, etc)
● Augmentation notable de la
bande passante
2000/2004
● Browser war (IE gagne)
● Pas d’évolution majeure de JS
Timeline
90’s
● Browser war (IE vs Netscape)
● Gifs, dhtml
● Compteurs de visites
● Js doit être optimisé pour chaque
navigateur
2005/2009 2010/2016
7. ES2015
● Release majeure: la plus grande mise à jour jamais effectuée
● ~70 nouvelles features
● S’adapter aux grosses applications
● Améliorer la syntaxe
● Key features: Promesses, import/export, classes, let/const, etc
9. Compatibilité
Comment faire fonctionner sur les anciens navigateurs ?
1. Polyfill
Essaie de détecter la présence ou l’absence d’une API dans le navigateur et d’émuler son comportement, ainsi certaines
fonctionnalités peuvent être utilisées de manière transparente comme si elles étaient implémentées nativement
2. Transpilers
Transforme le javascript en ré-écrivant certaines portions du code uniquement avec du javascript compatible (sans utiliser
certaines fonctionnalités) pour qu’il puisse s'exécuter in fine dans certains navigateurs
11. TypeScript
● Superset: tout code js est valide en TypeScript
● Compile en js
● Développé par Microsoft
● Adopté par angular 2
12. TLDR;
● JS est devenu Agile: une version par an
● Le langage s’est brusquement modernisé et a évolué en profondeur
● Dans le futur, il va évoluer beaucoup plus régulièrement
● Il existe des solutions simples à mettre en oeuvre pour la compatibilité avec
les anciens navigateurs
● Il faut commencer à l’utiliser dès que possible :)