понедельник, 7 декабря 2009 г.

IE8

Надо сказать, что тема браузеров меня мало интересовала. Давным-давно я пользовался Netscape Navigator. Потом он превратился в тормознутый Netscape Communicator, и я перешел на Internet Explorer. С тех пор друзья много раз соблазняли на FireFox и что-то ещё, но как-то я не проникся. Последнее время стал использовать Google Chrome, но он частенько глючит... ну, или может не он глючит, а неправильные сайты с ним плохо дружат. Самое смешное, когда какой-нибудь сайт, принадлежащий Google, хуже работает с Chrome, чем с IE.

А вообщем, мне было это всё малоинтересно. Работает, и ладно. Браузер - это просто рабочая лошадка.

Но как ни странно, с большим удовольствием послушал презентацию в Microsoft на презентацию по IE8. Докладчик рассказывал о проблемах, которые мне в голову не приходили.

Например, все производители браузеров не смешивают JavaScript и DOM engines друг с другом. Это дает гибкость. Но зато вызовы между этими engines дорого стоят. Он показывал разные методы оптимизации JavaScript, запускал код до и после, и в некоторых случаях производительность вырастала в 2-3 раза. Причем большинство этих методов очень простые. Например, по возможности дописать var перед именем переменной. В IE8 некоторые из этих трюков уже не нужны, оптимизация происходит автоматически.

Другая фишка - встроенный в браузер объект Json. Он поддерживает те же самые методы, что и объект из JavaScript-библиотеки, поэтому старый код переписывать не нужно; но, конечно, работает в разы быстрее. Тут Microsoft немножко врёт, как мне кажется: всё равно в начале страницы нужно определить тип бразуера и отключить эту JavaScript-библиотеку в случае IE8, а иначе выигрыша в скорости не будет. Но всё равно неплохо.

Для проверки соответствия стандарту CSS Microsoft разработала 50 тысяч (!) test cases. На это ушел 1 человеко-год. И всё это добро конкуренты могут брать бесплатно с их сайта. К сожалению, практически все эти тесты нужно делать вручную, потому что надо смотреть глазами на результат.

Ещё на меня произвело впечатление Долото. Я раньше думал, что Долото используется какой-то простой набор эвристических правил для оптимизации JavaScript. На самом деле они собирают статистику использования сайта, а уже на её основе делают рефакторинг. Например, какой-нибудь JavaScript, который редко используется, может быть вынесен в отдельный файл и подгружаться при необходимости.

Докладчик напустил Долото на сайт Google Maps, и сразу вывалилась куча проблем. Правда, это ещё не говорит о том, что в Google сидят дураки. Ведь Долото дает хорошие результаты только если дать ему хорошую статистику. Мы просили напустить Долото на Бинг, но господин евангелист скромно воздержался. Сказал только, что там результаты гораздо лучше.

3 комментария:

Анонимный комментирует...

После установки ИЕ8 - может накрыться винда, пришлось по новой переустанавливать ОС. Черт дернул попробовать новый ИЕ. Поэтому нах нах.

Valik комментирует...

Может и накрыться. А меня вроде всё нормально.

Андрей Мартынов комментирует...

Я несколько раз ходил на подобные проповеди, и не только от Майкрософта. Правда последние имеют возможность нанимать лучших евангелистов и их слушать всегда намного интереснее. И хотя они легко доказывают что черное это белое и наоборот, но зато я понял, что все врут :)

Кстати однажды такой товарищ (сразу после выхода .Net) уверял весь зал, что между .Net и jdk нет вообще никакого сходства и что при разработке опыт жавы не использовался. Зал смеялся ...

Ratings by outbrain