Hey Microsoft, why did you build another Internet Explorer? This question and what this means for web developers get answered by these slides. It will also be covered, what else developers can do with the new Open Source Chakra JavaScript engine, that empowers not only the Edge browsers but also many other scenarios.
3. Agenda
What you can expect
Hey Microsoft, why did you build another IE?
Why get my sites ready for the Microsoft Edge?
What do I need to do for that?
What is the Chakra Engine?
What else can I do with the ChakraCore?
How can I test my applications on Microsoft Edge?
What you won’t get
Please use Microsoft Edge from now!
Deep dive into Chakra, JavaScript or ECMAScript
9. Windows Browser Roadmap
2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
Internet Explorer 10
Internet Explorer 11
Internet Explorer 8
Internet Explorer 9
Internet Explorer 11
Internet Explorer 10
Internet Explorer 11
Microsoft Edge
26. Why get your sites ready for Microsoft Edge?
With new engine built to be
interoperable with modern standards
Incoming browser request
Which browser?
Webkit, Blink &
Gecko codeMultiple IE
code paths
Legacy standards Modern standards
Incoming browser request
EdgeHTML
Webkit, Blink &
Gecko code
Today, multiple code paths
need to be maintained
27. User Agent Strings
Safari
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14
(KHTML, like Gecko) Version/7.0.3 Safari/7046A194A
Chrome
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36
Microsoft Edge
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246
28. User Agent Strings
Safari
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14
(KHTML, like Gecko) Version/7.0.3 Safari/7046A194A
Chrome
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36
Microsoft Edge
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246
35. Chakra JavaScript Engine
Microsoft Edge
Universal Windows Apps
Server Side Applications
Cloud Based Services
NoSQL databases
Game Engines
Front-End tools
Internet of Things
36. ChakraCore goals
Extremely good compliance with the standard
Extremely fast
Scalability on the server side
Easy interaction with native code
37. ChakraCore characteristics
Leading ECMAScript 6 support
ASM.js, SIMD, classes, Async functions, etc…
Eliminates document modes
Eliminates MS specific extensions
Faster progress on interoperability and standards
39. Testing for Microsoft Edge
F12 Developer Tools
Microsoft Edge Selenium WebDriver Support
Microsoft Dev Essentials Virtual Machines
Vorlon.js
40. Call to actions
Validate the new UA with your site
Use remote.modern.ie to test the
latest version of IE
Do use feature detection
Do not sniff UA
Try ChakraCore
Send us feedback
Editor's Notes
Pre-installed default browser on every windows-10 device
UWP: Windows PCs, Tablets, Phones, Xbox One, evt. HoloLens
Automatic Updates: Chakra und EdgeHTML
Start: all browsers had unique behaviors (not drawn to scale – meant to emphasize the point)
Build: Purple overlay - First step was to remove IE specific behaviors once EdgeHTML was split from MSHTML
Build: Green overlay - Second step was to add behaviors at the intersection of other modern browsers – these are especially important for the mobile web, but not exclusively.
For example: Azure DocumentDB, Cortana, Outlook.com, TypeScript
What makes Chakra different: Chakra -> Byte code that can be interpreted. Opt-out JIT. Small memory constrains (important for small sensor devices)
ASM.js = subset of JS, closer to the hardware
What makes Chakra different: Chakra -> Byte code that can be interpreted. Opt-out JIT. Small memory constrains (important for small sensor devices)