/Build 2015 – Zoom sur le moteur de rendu de Microsoft Edge (ex projet Spartan)
“Project Spartan”, le nouveau navigateur Web créé par Microsoft pour remplacer Internet Explorer, a pris son nom commercial définitif pendant la Keynote de /BUILD et devient “Microsoft Edge”.
David Catuhe et David Rousset, les deux speakers Frenchies de l’évènement, ont animés une session le 3eme jour de /BUILD pour zoomer plus en détail sur les bénéfices techniques apportés par ce navigateur Web.
Cette session est disponible sur Channel 9, sous l’intitulé The "Project Spartan" Rendering Engine That Makes the Web Just Work.
Pourquoi un nouveau moteur/navigateur Web?
Un navigateur Web est composé d’une fenêtre (le contenant) qui contient une plateforme Web. La plateforme est le moteur d’exécution, chargé d’interpréter le contenu HTML et de l’affichage. Chez Microsoft, la plateforme Web s’appelle Trident depuis la version 4 d’Internet Explorer. Trident est développé en C++.
La première version d’Internet Explorer date de 1995. Depuis le début, Microsoft à fait en sorte de pouvoir gérer dans son moteur Web des choses spécifiques à chaque nouvelle version, ainsi que la rétrocompatibilité entre l’ensemble des versions des navigateurs Web, notamment via la création du tag !DOCTYPE.
La comptabilité descendante à toujours été important pour les équipes de développement d’Internet Explorer, mais avec l’enchainement des versions, celle-ci est vraiment devenu un frein à l’innovation après Internet Explorer 11. Le point de l’historique devient trop compliqué, accompagné par l’évolution de Web et l’accumulation de spécificités. C’est pour cela que Trident a été créé. Il s’agit d’un fork d’Internet Explorer, mais visant sur le futur en faisant une grosse table rase du passé.
Intéropabilitée
Edge se concentre sur l’implémentation la plus juste possible de la norme HTML 5, et à réduit au maximum l’ensemble du code spécifique à Internet Explorer dont il disposait.
Les standards sont fait pour être respecter, mais il arrive toujours que chaque navigateur ait sa part d’interprétation spécifique. Microsoft fait donc en sorte de limiter les différences entre les différents navigateurs sur l’implémentation d’HTML 5, en n’hésitant pas à remonter des bogues aux autres éditeurs, afin de pousser le maximum vers une interopabilitée parfaite.
Dans le passé, les développeurs étaient obligés de prendre en compte les spécifités de chaque navigateur Web. Hors, maintenant, les développeurs Web ne doivent plus être obligés de créer des exceptions, il faut partir du principe que le navigateur Web est bon par défaut.
Nouvelles fonctionnalités
Edge dispose d’une grande liste de nouvelles fonctionnalités, avec une Roadmap ambitieuse, consultable en ligne en temps réél sur https://status.modern.ie/.
David et David on fait plusieurs démonstrations de nouvelles fonctionnalités présentes dans la version actuelle du navigateur :
- Démonstration d’une scène en 3D exécutée dans la navigateur sans aucun addin, en s’appuyant sur WebGL, Web Audio et sur la prise en compte des commandes d’un Gamepad.
- Focus sur Web Audio : Démonstration avancée de l’intégration de musiques à diffusion spatiale dans une scène 3D, en quelques lignes de code.
- Prise en compte des CSS Filter : possibilité de définitif des conditions adaptatives à la compatibilité du navigateur directement dans les CSS
- Foreign objets : possibilité d’encapsuler du HTML dans du SVG, et d’avoir un rendu vectoriel de contenu HTML.
- …
Microsoft Edge est développé de manière agile, avec une prise en compte très fortes des retours de la communauté des développeurs Web. C’est pour cela que l’éditeur met à disposition un UserVoice très surveillé et très actif pour tracker les feedbacks et venir alimenter son backlog.
Commentaires