Когда каждый второй номер ругаешь Internet Explorer, хочется посмотреть в глаза тому человеку, кто этот браузер делает. Я посмотрел! 🙂 В апреле в Москву прилетел Алекс Могилевский — один из архитекторов IE и специалистов по стандартам, который предлагает и утверждает технологии в рамках своей работы в консорциуме W3C от имени Microsoft. Я решительно настроился помучить Алекса по поводу новой версии Internet Explorer, и вот что он мне рассказал.

 

Про основные аспекты

Самый большой акцент в новой версии IE мы делаем на улучшение производительности и поддержку стандартов. Если посмотреть Internet Explorer Platform Preview (ie.microsoft.com/testdrive), то можно уже сейчас оценить, насколько шустрее работают страницы со сложной графикой. Это стало доступным засчет Direct2D и прямого использования GPU. Помимо этого мы полностью переписали движок JavaScript. Что касается поддержки стандартов, то в этой версии мы реализуем практически все, что хотят люди при создании сайтов: CSS3, объектную модель, SVG, многие вещи из HTML5.

 

Про производительность

Есть много способов сделать браузер медленным :). Для того, чтобы сделать его быстрее, необходимо изучить те моменты, которые при выполнении страниц требуют много времени.
Например, один из важных вопросов при выполнении Javascript — когда и какую часть скрипта компилировать. Скомпилированный скрипт работает быстрее, но компиляция занимает время. Если ничего не компилировать, то скрипт без циклов работает быстро, а с циклами — медленно. Если каждая строчка выполняется только один раз, то компиляция — это пустая трата времени. Такого рода решения влияют на производительность реальных сайтов. Для IE9 мы c нуля переписали обработку JavaScript. Новый движок называется Chakra. Он использует сильно оптимизированный доступ к объектной модели, а также компиляцию в бэкграунде — это дает ощутимый результат. Бенчмарк SunSpider показывает, насколько быстрее стал IE9 по сравнению с IE8. Но по результатам того же теста IE медленнее, чем Chrome или Opera.

Тут важно понимать одну вещь: любой тест, как бы правильно он ни был составлен, все равно сильно отличается от реального мира.
Мы пробовали играться с параметрами, но, выигрывая в тестах SunSpider, получали более медленное выполнение реальных страниц.

 

Про ACID и другие тесты

Показателем поддержки стандартов многие считают тест ACID3, но у IE9 в нем результат пока небольшой. Открою секрет. И ACID 2, и ACID3 — это очень интересные тесты, которые на самом деле мало что полезного тестируют. Большинство из этих стандартов, поддержка
которых проверяется — это лишь развивающиеся технологии, немногие из которых имеют статус официальных. Таким образом, ACID3 проверяет скорее не поддержку стандартов, а поддержку неких трендов — тех вещей, которые возможно когда-нибудь будут стандартизованы. Пройдет ли IE9 на ACID3 100%? Не могу сказать. Мы не пытаемся подогнать браузер для корректной работы в этом тесте. Когда мы зарелизим IE9, результат будет приближен к максимуму, но если какие-то тесты браузер не будет проходить, то только потому, что мы не согласны, что этого стандарта необходимо придерживаться, либо этот стандарт еще не стал официальным. Когда мы разрабатывали IE8, то только для проверки CSS мы создали более 8000 тестов.

 

Про безопасность

Понятно, что в программе из многих миллионов строк можно найти проблемы. Да, в браузерах бывают ошибки, и да, некоторые из этих ошибок могут быть использованы хакерами. У нас есть профи, которые специализируются именно на безопасности. Если какойто программист пишет код и говорит, что в этом месте ну никак не может быть ошибки, эти ребята быстро объясняют ему, как этот «безопасный код» будет взломан. Большая головная боль — IE6. Он был хорош для своего времени, но когда это было? Мы говорим: «Перестаньте, пожалуйста, использовать IE6».

В конце концов, поставьте Chrome, а потом уж с него переключайтесь на Internet Explorer :). К сожалению, мы не можем прийти и насильно поставить на ваш компьютер другой браузер — многие приложения заточены именно под 6-ую версию IE. Кстати, Internet Explorer 9 не будет работать в Windows XP; помимо прочего это связано с безопасностью. В этой версии Windows невозможно использовать DEP и ASLR. Другая важная причина — отсутствие Direct2d, то есть невозможность использования графического ускорения.

 

Про человеческий подход

Какое-то время над IE в Microsoft работали мало, а наши конкуренты трудились интенсивно. Я надеюсь, что сейчас мы научились слушать людей, и сейчас делаем все, что действительно нужно. В новой версии появится инструменты для разработчика: например, Network Monitoring уже есть в превью. Это не то же самое, что Fiddler (www.fiddler2.com), но близко к тому. Нажимаешь кнопку — и видишь весь network-график, с временным тестами, с графиками. Все это можно посмотреть и проанализировать. Когда выйдет релиз? Не скажу, давайте дождемся беты.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии