Yuri Trukhin - IE9 Launch


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Если посмотреть на UIпредыдущей версии браузера, с точки зрения концентрации на сайте, можно увидеть, что в нем есть элементы, отвлекающие внимание.Это панель состояния снизу, которая, хотя и информативная, но на практике не често используется. Это панель управления, которую можно сделать более компактной, и панель закладок, которую также можно модифицировать, а вместе они занимают целую строчку.Адресная строка и строка поиска в принципе решают схожие задачи: поиск сайта и поиск слов. Их можно объединить.Если спрятать все зашумляющие элементы, останется адрасная строка, табы и несколько контролов.
  • Именно так выглядитIE9.
  • [Ask audience, by show of hands, how many people can define HTML5]HTML5 is often used as an umbrella word that means many things. Typically people use it to mean the collection of new web specifications that enable next generation web applications. It can include anything from the true W3C HTML5 specification, CSS3, ECMAScript 5 and lots more. When looked at together, they provide us as developers with new support for rich graphics and media, new JavaScript and DOM functionality to provide advanced programmability and standardize behavior within the browsers.The W3C HTML5, which focuses on the needs of web application developers and takes HTML 4.01 to the next level is still under development and we are all working to find and resolve issues in HTML5 to get it to the “last call” stage. In the mean time, it’s important to remember that the specification is still under development, and changes almost daily.
  • To understand what happened while the page was being rendered, it’s helpful to look at the different subsystems used by the browser. The Internet Explorer web platform is composed of 11 core subsystems. All modern browsers provide these capabilities, and while the names and component boundaries vary slightly between browsers, the process is nearly identical.Networking: The first subsystem generally encountered is networking. The networking subsystem is responsible for all communication between the client and server, including local caching of web content. The networking subsystem is generally gated on the performance of the user’s networkHTML: As HTML documents are downloaded from the server they’re passed to an HTML subsystem which parses the document, initiates additional downloads in the networking subsystem, and creates a structural representation of the document. Modern browsers also contain related subsystems which are used for XHTML, XML and SVG documents.CSS: When CSS is encountered, whether that’s inside an HTML document or a CSS document, it’s passed to a CSS subsystem which parses the style information and creates a structural representation that can be referenced later.Collections: HTML documents often contain metadata, for example the information described in the document head or the attributes applied to an element. The collections subsystem is responsible for storing and accessing this metadata.JavaScript: When script is encountered, it’s passed directly to the JavaScript subsystem which is responsible for executing that script. The JavaScript subsystem is probably the most well-known of the browser subsystems thanks to the visibility it has received over the last few years.Marshaling: Because most JavaScript engines are not directly integrated into the browser, there is a communication layer between the browser and the script engine. Passing information through this communication layer is generally referred to as marshaling.Native OM: JavaScript interacts with the document through the Document Object Model API’s. These API’s are generally provided through a subsystem which knows how to access and manipulate the document and is the primary interaction point between the script engine and the browser.Formatting: Once the document is constructed, the browser needs to apply the style information before it can be displayed to the user. The formatting subsystem takes the HTML document and applies styles.Block Building: CSS is a block based layout system. After the document is styled, the next step is to construct the rectangular blocks that will be displayed to the user. This process determines things like the size of the blocks and is tightly integrated with the next stage - layout.Layout: Now that the browser has styled the content and constructed the blocks, it can go through the process of laying out the content. The layout subsystem is responsible for this algorithmically complex process.Rendering: The final stage of the process occurs inside the rendering subsystem where the final content is displayed to the user. This process is often referred to as “drawing to the screen” and may occur on the CPU, the GPU, or a combination of both.As we’ve mentioned, different websites use these subsystems in different ways. Even websites that provide similar functionality, for example some of the world’s largest news websites which provide comparable experiences on their home pages including headlines and video, have very different performance characteristics.
  • In the early days of the web, there was lots and lots of HTML and only little pieces of script here and there, and an interpreter was good enough for that. Over the years, different browsers have added JITters helping code run faster. But there’s a problem – the amount of time and energy that goes into managing the time and scope that the JITter operates in. Basically, users wait. Users have to wait if the JITter JITs too much because the JITter is sitting there compiling the code, and you don't get to run it. The user has to wait if the JITter JITs too little because then the JITter did a little bit and the user is stuck running a slower interpreter.
  • According to our Windows Experience Index data, modern PCs running Windows Vista and Windows 7 have on average 2.42 CPU processor cores. Chakra, the new JavaScript engine, is optimized to take advantage of those multiple cores by compiling the JavaScript to highly efficient machine code in the background, while interpreting the JavaScript in the foreground. Once compilation is finished, Chakra switches to the compiled and significantly faster machine code optimized for that PC. Although not a goal for our performance work on Chakra, background compilation and many other improvements mean that Internet Explorer 9 scores very well in popular JavaScript benchmarks like WebKit’sSunSpider.
  • Now this isn’t an exhaustive list, but gives you an idea of some of the HTML5 things that we’ve added, we’ll take a dive some of these in a minute.
  • Now this isn’t an exhaustive list, but gives you an idea of some of the HTML5 things that we’ve added, we’ll take a dive some of these in a minute.
  • Yuri Trukhin - IE9 Launch

    1. 1. Internet Explorer 9<br />Новый взгляд на веб<br />стандартный<br />ЮРИЙ ТРУХИН<br />Ведущий разработчик ПО<br />ЦНИП ГИС<br />Microsoft Student Partner GURU<br />
    2. 2. a more<br />web<br />
    3. 3. Содержание<br />Удобство пользователя<br />Скорость и стандарты<br />Безопасность<br />
    4. 4. Удобство пользователя<br />
    5. 5.
    6. 6. Internet Explorer 8<br />
    7. 7. Internet Explorer 9<br />
    8. 8. IE9<br />Chrome 10<br />Opera 11<br />Safari 5<br />Firefox 4<br />
    9. 9. Firefox 4<br />Internet Explorer 9<br />Chrome 10<br />Opera 11<br />Safari 5<br />
    10. 10. Разные подходы к шапке<br />
    11. 11. Демонстрация<br />Закрепленные сайты<br />PAGE 11<br />
    12. 12. HTML5.Краткий обзор<br />12<br />Широко используется относительно современных открытых веб стандартов вроде HTML5, CSS3 и других.<br />Добавляет поддержку новых возможностей по работе с графикой и медиа (canvas, video, audio, встроенный SVG…)<br />Стандарт на поведение браузеров для разработчиков браузеров => одинаковое отображение.<br />Спецификация W3C HTML5 находится в состоянии черновика, включает более 1100 страниц и продолжает меняться.<br />
    13. 13. Скорость и производтельность<br />Поддержка стандартов<br />
    14. 14. Подсистемы браузера<br />Rendering<br />Layout<br />Block Building<br />Formatting<br />DOM<br />Marshalling<br />JavaScript<br />Collections<br />CSS<br />HTML<br />Networking<br />
    15. 15.
    16. 16.
    17. 17. Apple Safari 5<br />
    18. 18. Opera 11<br />
    19. 19. Google Chrome 10<br />
    20. 20. Mozilla Firefox 4<br />
    21. 21. Windows Internet Explorer 9<br />
    22. 22. Проверим на практике.<br />http://www.webkit.org/perf/sunspider/sunspider.html<br />
    23. 23. JavaScript Engine<br />23<br />Foreground<br />Source Code<br />Parser<br />AST<br />Interpreter<br />ByteCode<br />
    24. 24. Foreground<br />Source Code<br />Parser<br />AST<br />Interpreter<br />ByteCode<br />Новый JavaScript Engine – “Chakra”<br />24<br />Background Compiler<br />Native Code<br />Background<br />Compiled JavaScript<br />In The Background<br />Using Multiple Cores<br />
    25. 25. GPU-ускорение<br />PAGE 25<br />
    26. 26. PAGE 26<br />
    27. 27. FY test: Apple Safari<br />
    28. 28. FY test: Opera 11<br />
    29. 29. FY test: Google Chrome 10<br />
    30. 30. FY test: Mozilla firefox<br />
    31. 31. FY test: Windows Internet Explorer 9<br />
    32. 32. Flying Images – One Animation<br />IE8<br />IE8<br />IE9<br />IE9<br />32<br />
    33. 33. Проверим на практике.<br />http://ie.microsoft.com/testdrive/Performance/FishIETank/Default.html<br />Игрушки на HTML 5 http://ie.microsoft.com/testdrive/Performance/KungFu/Default.html<br />
    34. 34. Тесты – пустышки. ACID3<br />Следуя W3C стандартам 100% набрать невозможно<br />34<br />
    35. 35. Тесты – пустышки. HTML5TEST.com<br />Следуя стандартам максимум набрать невозможно. <br />Например стандарт не требует от браузера реализации OggTheoraили WebM. <br />35<br />
    36. 36. Наиболее полные тесты у консорциума W3C<br />Результаты прохождения существующих тестов W3C<br />36<br />
    37. 37. Direct2D + DirectWrite<br />37<br />
    38. 38. GPU-ускорение HTML5 означает<br />38<br />Canvas<br />CSS3 Media Queries<br />SVG 1.1 2nd Edition, Full <br />Web Fonts<br />CSS3 Backgrounds & Borders Module<br />Hardware Accelerated <video><br />CSS3 Color Models<br />RGBA, HSLA, Opacity<br />Hardware Accelerated <audio><br />
    39. 39. Нет проблемным и тормозящим расширениям<br />39<br />
    40. 40. Безопасностьи доверие<br />
    41. 41. Безопасность IE9<br />Базируется на достижениях IE8<br />Security Development Lifecycle (SDL)<br />Новая модель процессов<br />InPrivateBrowsing<br />SmartScreen Filter<br />Cross-Site Scripting filter (XSS Filter)<br />Data execution prevention (DEP)<br />Cross-document messaging (XDM)<br />Domain Highlighting<br />ActiveX<br />Безопасные расширения<br />
    42. 42. Безопасность IE9<br />Новое в IE9<br />Download Manager c SmartScreen Filter<br />Hang Recovery<br />Улучшения в групповых политиках<br />OneBox Privacy<br />Add-on Performance Advisor<br />Tracking Protection<br />ActiveX filtering<br />Compiled with VS2010 compiler<br />Insecure Images<br />X-Content-Type-Options: nosniff (Google case!)<br />и др.<br />
    43. 43. Проверим на практике.<br />Демонстрация Tracking Protection<br />
    44. 44. Ресурсы и ссылки<br />
    45. 45. Книги<br />
    46. 46. Блоги и сайты<br />http://blogs.msdn.com/b/ie<br />http://blogs.msdn.com/b/ieinternals<br />http://windowsteamblog.com/ie/<br />http://ietestdrive.com<br />http://samples.msdn.microsoft.com/ietestcenter/<br />http://www.beautyoftheweb.com/<br />http://msdn.microsoft.com/en-us/ie/<br />http://msdn.microsoft.com/ru-ru/ie/<br />PAGE 46<br />
    47. 47. Microsoft MIX<br />http://www.microsoft.com/events/mix/<br />PAGE 47<br />
    48. 48. Internet Explorer 9<br />Удобство пользователя<br />Концентрация на сайте<br />Скорость и производительность<br />Безопасность и доверие<br />Соответствие стандартам<br />
    49. 49. Internet Explorer 9 появится наWindows Phone 7<br />
    50. 50. Interner Explorer 9<br />Новый взгляд на веб<br />ЮРИЙ ТРУХИН<br />Ведущий разработчик ПО<br />ЦНИП ГИС<br />Microsoft Student Partner GURU<br />trukhin.yuri@hotmail.com<br />twitter.com/trukhinyuri<br />trukhinyuri.blogspot.com<br />jtrukhinyuri.blogspot.com<br />
    51. 51. q&a<br />