SlideShare une entreprise Scribd logo
1  sur  53
The Rise of JS
Loïc Ortola
Netscape Communications Corp
• Programmer dans le navigateur
• Event-driven
• Pour les noobs…
Brendan Eich
Scheme
Brendan Eich
Scheme
Brendan Eich
Java Scheme Self
Mocha
Brendan Eich
Java Scheme Self
Mocha
LiveScript
Brendan Eich
Java Scheme Self
Mocha
LiveScript
JavaScript
JavaScript
Netscape : Mocha, SpiderMonkey
Microsoft : Jscript
…. MMMmhhh… Standards
Making JavaScript a Standard
Making JavaScript a Standard
Standard Comité
ECMA-262 TC39
ES  EcmaScript
ES1 : Juin 1997
ES2 : Aout 1998
ES3 : Décembre 1999
…
ES5 : Décembre 2009
ES6 : Juin 2015  ES2015 … ES2016 … ES2017 …
Mais concrètement…
AJAX (ECMA-357 E4X)
jQuery
Arrivée de l’iPhone
Arrivée de l’iPhone
Arrivée de l’iPhone
Arrivée de l’iPhone
Arrivée de l’iPhone
Arrivée de l’iPhone
On veut quoi?
Faire des APIs
Du responsive
Développer des applis entièrement dans le browser
Web-apps
Développer en Web?
0) Des standards rafraichis
Lars Bak
Responsive design
HTML 5, CSS 3
Media Queries, Flexbox, Video
Canvas, WebGL, History API, Local Storage
Pre-processors (LESS, SASS)
Helper-Librairies (Twitter Bootstrap)
1) Un interpréteur rapide
Lars Bak
Javascript Engine vs Rendering / Layout Engine
Browser JS Engine Rendering Engine
Chrome V8 Blink (fork of WebKit)
Firefox TraceMonkey (ex SpiderMonkey) Gecko
Safari Nitro (ex: SquirrelFish) WebKit (fork of KHTML & KJS)
IE Chakra Trident
Edge Chakra (ChakraCore) EdgeHTML
Opera V8 Blink
2) De nouveaux Frameworks
Node.js
1 user = 1 thread ?
Non-Blocking, Event-loop based (Reactive?)
Jordan Walke – Pete Hunt
Angular(.js)?
Misko Hevery – Adam Abrons
React.js
“Templates separate technologies, not concerns”
Pete Hunt
Jordan Walke – Pete Hunt
3) Testing
4) Build / Dependency mgmt
What’s up with JS?
CoffeeScript en 2009
TypeScript en 2012
Kotlin en 2016
WebAssembly en 2017
Et maintenant?
Loïc Ortola
Tech Advocate @ Takima
Loïc Ortola @LoicOrtola
loic@takima.fr
DevOps – Archi
Java – Node.js –React – Android – IoT

Contenu connexe

Similaire à The rise of JS

Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptIntroduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptMicrosoft
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebFrédéric Harper
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetupSamir Rouabhi
 
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesLes Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesTristan Nitot
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !matparisot
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Mathieu Parisot
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005Gregory Renard
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Microsoft
 
Webdesign Passe Present et Present Part2
Webdesign Passe Present et Present Part2Webdesign Passe Present et Present Part2
Webdesign Passe Present et Present Part2bduverneuil
 
Adobe flex®
Adobe flex®Adobe flex®
Adobe flex®finalspy
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
MUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows AppsMUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows Appsmugstrasbourg
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Webekino
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobileMartin Arvisais
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)guicara
 
Developper une application mobile
Developper une application mobileDevelopper une application mobile
Developper une application mobileEutech SSII
 

Similaire à The rise of JS (20)

Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptIntroduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetup
 
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesLes Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8
 
Webdesign Passe Present et Present Part2
Webdesign Passe Present et Present Part2Webdesign Passe Present et Present Part2
Webdesign Passe Present et Present Part2
 
Adobe flex®
Adobe flex®Adobe flex®
Adobe flex®
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
The Future of Javascript
The Future of JavascriptThe Future of Javascript
The Future of Javascript
 
The future of JavaScript
The future of JavaScriptThe future of JavaScript
The future of JavaScript
 
MUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows AppsMUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows Apps
 
CV-Elhassane-NAIM-FR
CV-Elhassane-NAIM-FRCV-Elhassane-NAIM-FR
CV-Elhassane-NAIM-FR
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Web
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobile
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)
 
Developper une application mobile
Developper une application mobileDevelopper une application mobile
Developper une application mobile
 

Plus de Loic Ortola

Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Loic Ortola
 
Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Loic Ortola
 
Map as a Service OVH Summit 2016
Map as a Service OVH Summit 2016Map as a Service OVH Summit 2016
Map as a Service OVH Summit 2016Loic Ortola
 
Jawg maurice vs google maps
Jawg   maurice vs google mapsJawg   maurice vs google maps
Jawg maurice vs google mapsLoic Ortola
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationLoic Ortola
 
Bringing Openstreetmap Mobile edition to the next level
Bringing Openstreetmap Mobile edition to the next levelBringing Openstreetmap Mobile edition to the next level
Bringing Openstreetmap Mobile edition to the next levelLoic Ortola
 
CatDroid talk: thinking different, sharing ideas
CatDroid talk: thinking different, sharing ideasCatDroid talk: thinking different, sharing ideas
CatDroid talk: thinking different, sharing ideasLoic Ortola
 

Plus de Loic Ortola (7)

Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)
 
Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)
 
Map as a Service OVH Summit 2016
Map as a Service OVH Summit 2016Map as a Service OVH Summit 2016
Map as a Service OVH Summit 2016
 
Jawg maurice vs google maps
Jawg   maurice vs google mapsJawg   maurice vs google maps
Jawg maurice vs google maps
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile application
 
Bringing Openstreetmap Mobile edition to the next level
Bringing Openstreetmap Mobile edition to the next levelBringing Openstreetmap Mobile edition to the next level
Bringing Openstreetmap Mobile edition to the next level
 
CatDroid talk: thinking different, sharing ideas
CatDroid talk: thinking different, sharing ideasCatDroid talk: thinking different, sharing ideas
CatDroid talk: thinking different, sharing ideas
 

The rise of JS

Notes de l'éditeur

  1. 65M users in 1 year and a half. Jamais eu 65M of users de quoi que ce soit. https://www.youtube.com/watch?v=_L3Y2_YiT-A Le navigateur peut être une plateforme alternative en 1994… Microsoft comprend. Le 26 May 1995 http://www.lettersofnote.com/2011/07/internet-tidal-wave.html Bill Gates envoit un mail un soir à toutes ses équipes qui s’appelle “The Internet Tidal Wave” Il déclare que le web est la plus grande invention après le PC. Il identifie Netscape comme LE compétiteur à descendre. Netscape de son côté fait une IPO alors qu’ils n’ont quasi pas de revenu et explosent à l’ouverture des marchés. Ils sont identifiés comme LA boite. Ils deviennent des superstars… un peu arrogants aussi... On va sur Netscape, pas sur Internet ou pas sur le World Wide Web Ils trouvent leur marché: vendre leur suite logicielle. De 2 manières: en vendant des licences au niveau des constructeurs en vendant en physique (disquettes ou CD-ROM)
  2. Pendant que l’équipe bosse d’arrache pied sur le support de l’Applet dans Netscape, On demande à Brendan Eich de créer un langage de scripting serveur LiveScript pour renforcer l’offre commerciale de serveurs web chez Netscape. Le 4 décembre 1995, conférence de Presse avec Netscape et Sun qui annoncent ensemble l’arrivée de Javascript comme complément de Java. C’est un pur coup marketing de la part de Netscape. Implémentation se fait en mars 1996 avec la sortie de Netscape 2.0 Il travaille ensuite sur une version Client, qui sort en 1996 sous le nom de javascript. Microsoft fait un reverse engineering rapidement appelé Jscript, qui sortira avec IE3 en Aout 1996. et Netscape soumet alors la spec pour standardisation à l’ECMA qui finira en juin 1997 http://tech-insider.org/java/research/1995/1204.html
  3. Développeur Kernel à Silicon Graphics Il dit qu’il peut faire un interpreteur Scheme pour le navigateur. Scheme dialecte de Lisp développé au MIT qui etait fonctionnel, dynamique…
  4. Développeur Kernel à Silicon Graphics Il dit qu’il peut faire un interpreteur Scheme pour le navigateur. Scheme dialecte de Lisp développé au MIT qui etait fonctionnel, dynamique…
  5. Fais un truc populaire, comme Java, pour les enfants quoi… En 10 jours, il a implémenté un nouveau langage de programmation. La syntaxe il a pris de Java De scheme il a pris le coté fonctionnel Et il y avait aussi un autre langage Self (dialecte de Smalltalk) développé par Xerox Park et plus tard à Sun Labs. Self changeait des choses par rapport à SmallTalk (un des premiers vrais langages orientés objets) en enlevant notamment les classes. Et en May 1995 ils annoncent Mocha, le premier langage de scripting pour le navigateur
  6. Bon Mocha c’était un peu “fléché Java”, ils l’ont très vite renommé LiveScript.
  7. Quand Sun sort java, le deal c’est Java est le langage du navigateur, si vous développez sur la JVM, vous serez libéré de Microsoft. Netscape pitch la même chose: si vous utilisez les langages du web, l’OS ne compte plus, tout sera pareil de partout. Le Sun / Netscape Deal: Netscape ajoute java dans le navigateur Sun arrête le développement de HotJava / WebRunner LiveScript doit être tué… Netscape refuse
  8. Bon Mocha c’était un peu “fléché Java”, ils l’ont très vite renommé LiveScript.
  9. European Computer Manufacturers Association. Netscape lance le truc Microsoft rejoint le comité, et le domine d’ailleurs. Ils insistent pour que tous les “bugs” restent dans le standard Ils ne peuvent pas l’appeler JavaScript… WebScript, NetScript… ECMAScript ECMA 262
  10. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  11. Sauf qu’au fur et à mesure que le web devient grand public, on voit apparaitre de nouveaux usages, de nouveaux besoins. Jusqu’en 2001, aucun moyen de communiquer avec une API depuis JS. 2002 AJAX
  12. ECMA-357 E4X (ECMASCRIPT 4 XML)
  13. Jquery a permis 3 trucs - Faciliter l’accès et les manipulations du DOM - One API for all browsers - Faciliter la communication avec des APIs externes
  14. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  15. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  16. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  17. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  18. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  19. Un site-web n’est plus suffisant. Différents terminaux, résolutions, paradigmes. Le XML n’est plus un format de transport adapté Avènement du web social
  20. Un site-web n’est plus suffisant. Différents terminaux, résolutions, paradigmes. Le XML n’est plus un format de transport adapté Avènement du web social
  21. Un site-web n’est plus suffisant. Différents terminaux, résolutions, paradigmes. Le XML n’est plus un format de transport adapté Avènement du web social
  22. Un site-web n’est plus suffisant. Différents terminaux, résolutions, paradigmes. Le XML n’est plus un format de transport adapté Avènement du web social
  23. Un site-web n’est plus suffisant. Différents terminaux, résolutions, paradigmes. Le XML n’est plus un format de transport adapté Avènement du web social
  24. Un site-web n’est plus suffisant. Différents terminaux, résolutions, paradigmes. Le XML n’est plus un format de transport adapté Avènement du web social
  25. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  26. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  27. C’est cool sauf que du coup, on transforme un peu nos Webapps. D’un côté on code des pages PHP, JSP, ASP pour le serveur d’application, de l’autre côté on expose des APIs XML (ou JSON) et on développe des libs JS qui commencent à prendre de la place. C’est difficile à maintenir, et c’est un peu le grand écart pour les devs…
  28. Donc en gros: - J’ai besoin de faire des APIs - Faut que je développe tout mon code web au même endroit (vu que je dois faire des APIs, autant tout consommer depuis les APIs non?) - J’ai besoin de faire évoluer les langages du web pour le responsive
  29. HTML, JS, CSS… Ahh oui mais attendez. Comment je fais des imports? Des composants? Des modules? Des injections de dépendances? Impossible.
  30. SASS 2006-2007 (mais vraiment bien utilisé à partir de 2012 depuis le rewrite en C de libSass) LESS c’est en 2009
  31. Import Injection de dépendances Client HTTP Liaison entre le monde JS et le monde HTML, gestion et manipulation du DOM?
  32. Ryan Dahl, un mec tout seul https://www.youtube.com/watch?v=ztspvPYybIY 8000 Lignes de C en 2009 Utilise commonjs
  33. Import Injection de dépendances Client HTTP Liaison entre le monde JS et le monde HTML, gestion et manipulation du DOM? Misko Hevery DOM à manipuler Donnée à récupérer Qui vient d’une DB, Sécurisée, à travers une API, etc… C’est toujours pareil. Je veux simplifier ça pour les gens qui ne sont pas développeurs, mais plutôt pour les web-designers <angular/> ==> Managed database in the cloud ==> Des APIs (ng-init, ng-repeat, ng-entity) pour pouvoir mettre à jour le DOM simplement L’idée était vraiment d’être HTML-driven. Dans l’idéal, on ne ferait que d’utiliser les balises classiques <>. ==> Son pote Adam Abrons  qui travaillait aussi sur le projet l’a appelé Angular parce que les balises HTML sont angulaires… Ils ont lancé leur plateforme sur getangular.com, ça n’a pas marché. En parallèle, Misko travaillait à Google sur un projet interne, Google Feedback depuis 6 mois, qui utilisait GWT (Un framework Java qui permettait de faire des applis web dynamiques avec AJAX), qui était malheureusement ultra stateful, complexe car nécessitant de transpiler les classes à chaque modif, Il a été ballsy et a réécrit l’ensemble en 3 semaines avec Angular. Comme le senior VP of engineering n’avait pas partagé leur vision, ils décident de l’OpenSourcer en octobre 2010, où ils drop tout ce qui est database management. Objectif: Un framework javascript pour gérer sa one-page app. Il y avait déjà beaucoup de choses: modules, DI, two-way databinding, Forms, Promises, Hashbang URLs… The rest is history. Angular.js, c’est le premier framework javascript qui permet de presque s’affranchir des manipulations du DOM. Il séduit par son architecture MVC proche de ce qu’on peut retrouver dans un backend classique. Parce qu’avant, pas d’imports. Pas d’injection de dépendances dans vos objets métier.
  34. 2011 Jordan Walke crée FaxJS, un Framework pour faire du UI rendering en Javascript avec mise à jour automatique et une structure orientée composants. Un composant c’est du code, une vue, un style En 2012 Facebook Ads était trop gros, il fallait vraiment un framework pour gérer le view rendering efficacement, il a créé React. Après le rachat d’IG, ils ont du se bouger pour sortir la librairie et la rendre générique et éventuellement Opensourcable. C’est Pete Hunt qui a bien bossé dessus. Ce qui est fou avec React, c’est qu’il viole des bonnes pratiques qui étaient établies depuis longtemps et les remet en question. Typiquement, séparer la présentation de la logique. React n’a pas de templates quand il sort. Il cible les directives angular par exemple Couplage et Cohésion Le markup et la logique d’affichage sont couplés par nature. Ils font la même chose. Les templates séparent les TECHNOLOGIES, non les responsabilités. Quand on a un langage de markup, il faut être super créatif pour retrouver toute la panoplie des paradigmes dont on aura besoin et qu’on a déjà nativement dans JS par exemple. Paradoxalement, spécifier tout le markup dans du langage comme JS est une hérésie, car c’est fait pour déclarer de la logique.
  35. Unit Integration UI / Functional
  36. Import Injection de dépendances Client HTTP Liaison entre le monde JS et le monde HTML, gestion et manipulation du DOM?
  37. Chaque jour, un nouveau FW Avant: concentration Maintenant: micro-service, micro-choix Web, DBs, Backend / Cloud Pendant 8 ans, il était rare qu’un jour passe sans qu’un nouveau framework ou version web arrive. Avant on était plutôt dans une ère de concentration des technologies. JEE, .Net, PHP. Aujourd’hui, à l’ère du micro-service, on est passés dans une époque de micro-choix. Il va falloir tout choisir. La couleur de la peinture, le gravier pour les moellons, etc… Et là je ne parle pas que du web. C’est aussi vrai pour les DBs, c’est aussi vrai pour les technologies backend.
  38. Stabilisé Maturé Encore des choses pas matures: SSR, Metadata / i18n Aujourd’hui, on commence à voir que cela se stabilise. Le marché a fait ses choix, et les technos commencent à se concentrer et maturer, chacun dans son style. Mais certains besoins ne sont pas encore tout à fait matures: Server-side rendering Metadata & SEO On revoit émerger le besoin de disposer d’une génération de la page en avance. Deux utilités: Le temps avant le premier affichage et la réduction de la WAN-latency des différents services.