Статьи

Страх и ненависть в Стандардсвилле: вступление в IE8

Как рассказывал на прошлой неделе в SitePoint Мэтт Магейн, Microsoft объявила, что IE8 представит новую систему «таргетирования версий браузера», в которой браузер по умолчанию будет отображать страницы, соответствующие стандартам, так же, как в IE7, и потребует от разработчиков явного выбора в новый движок рендеринга IE8, совместимый с Acid2, если они этого хотят.

Для веб-разработчиков, которые возлагают надежды на лучший мир в области веб-стандартов, изменения, которые Microsoft пытается сделать, являются пугающей вещью.

Принципиально новая идея о том, что возможность «привязывать» страницы к конкретному выпуску браузера — это хорошая вещь, к которой нужно привыкнуть, но постепенно она получает признание. В конце концов, выпуски браузеров появляются гораздо чаще, чем новые веб-стандарты, что делает недостаточными стандартные режимы рендеринга, такие как переключатели DOCTYPE в современных браузерах.

Видеть, что ваши любимые веб-сайты неожиданно становятся ненадежными, когда вы устанавливаете новую версию браузера, может быть приемлемым для разработчиков, таких как вы и я, но это никогда не будет иметь смысла для конечных пользователей, которые, естественно, ожидают лучшего от Интернета. Ориентация на версии браузера позволяет нам обойти эту неприятность и позволяет разработчикам браузеров тратить больше времени на работу над новыми функциями и меньше времени на то, чтобы взвесить все за и против исправления ошибок, от которых многие сайты зависят. Я рекомендую прочитать « От переключателей к целям» Эрика Майера, если вы все еще не уверены.

«Теперь жизнь убила мечту, о которой я мечтал»

Но даже если мы в принципе принимаем таргетинг на версии браузера, существует небольшое количество миллиардов (триллионов?) Веб-страниц, ни одна из которых в настоящее время не указывает версии браузера, для которых они были написаны. Microsoft увидит эти страницы отображаемыми, так как IE7 в настоящее время отображает их до конца.

Некоторые считают, что это позволяет ленивым разработчикам всего мира — которые создают сайты для текущей версии IE и ничего более — сойти с рук в написании некачественного, несовместимого кода. Другие считают, что это заставляет разработчиков наносить уродливый «штамп Microsoft» на все свои страницы, чтобы получить поддержку стандартов, которые IE должен был поддерживать годами.

Третьи просто не хотят отказываться от идеи, что веб-страницы написаны в соответствии со стандартами, и что это торжественная обязанность браузера отображать эти страницы в соответствии с этими стандартами или настолько близко, насколько они могут, если не указано иное.

Джереми Кит — одна из этой последней группы. В Broken он призывает разработчиков объединиться с Microsoft, чтобы убедить их в том, что по умолчанию при отсутствии информации о таргетинге версий должно обеспечиваться максимально возможное соответствие стандартам.

Один из самых верных сторонников прогрессивного улучшения — расширения сайтов с использованием стандартов, которые еще не поддерживаются всеми браузерами, чтобы они работали лучше в будущих браузерах — Кит видит в предложении Microsoft по умолчанию смерть этого обещания более светлого будущего для сайтов, которые мы создаем сегодня.

Шокирующе для некоторых, соучредитель Web Standards Project Джеффри Зельдман не согласен. В своей статье « В защиту таргетирования версий» Зельдман рассказывает ужасную правду: это заставляет практиков прогрессивного усовершенствования — крошечное и элитное меньшинство в сообществе разработчиков — добавлять теги <meta>

«Это конец света, каким мы его знаем
(И мне хорошо)

Принимая предложение Microsoft за чистую монету, вы можете подумать, что это был печальный день для разработчиков, придерживающихся стандартов, которые годами представляли себе будущее, в котором будет достаточно написать сайты для веб-стандартов, чтобы они отображались так, как задумано во всех браузерах. ,

Считай меня сумасшедшим, но я верю, что надежда еще есть, и это можно увидеть в некоторых ответах, которые мы видим от других поставщиков браузеров. В статье <META HTTP-EQUIV = «X-BALL-CHAIN»> и Slipping The Ball And Chain разработчик Mozilla Роберт О’Каллахан обсуждает проблемы фактической реализации предложения Microsoft о таргетинге версий в долгосрочной перспективе. Он не ожидает, что другие крупные браузеры будут поддерживать таргетинг на версии по нескольким причинам, в том числе:

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

Дело в том, что если сегодня эту логику можно применить к браузерам, таким как Firefox, Safari и Opera, то она вполне может быть применена к Internet Explorer через несколько лет. Я спросил об этом Криса Уилсона, когда в конце прошлого года брал у него интервью в Web Directions South :

С.П .: «Теперь, с этой опциональной моделью разработчика, которую Internet Explorer […] в конечном итоге примет, браузеры со временем будут иметь, вы знаете, пять, шесть, семь, десять, восемнадцать различных режимов рендеринга […], или будет ли эта тенденция различий стремиться к нулю с течением времени означать, что однажды это может исчезнуть? »

Крис Уилсон: «Я думаю, что моя личная надежда, безусловно, заключается в том, что однажды это пройдет, что различия между версиями браузера не являются тем, что мы называем внутренне« разрушающими изменениями ». […]»

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

Это, в сочетании с растущим бременем обслуживания, связанным с сохранением безопасности, функциональной совместимости и обратной совместимости с несколькими режимами рендеринга, может дать Microsoft повод задуматься о том, все еще необходим ли таргетинг версий, когда IE10 развернется.

IE8: означает конец?

Подводя итог моим мыслям об этой проблеме, я полагаю, что решение Microsoft о добавлении ориентации на версии браузера в IE8 будет сложно принять разработчикам, ориентированным на стандарты, но в конечном итоге является надежным решением для реальных проблем, которые в настоящее время сдерживают развитие Интернета. сегодня. Если бы только для решения проблем, которые мешали этому полностью охватить веб-стандарты, Microsoft следует похвалить. Он мог бы просто поставить Internet Explorer на задний план еще на шесть лет!

Решение сделать html4 / XHTML1 страницы предназначаться рендерингом режима IE7 по умолчанию, в то время как по понятным причинам спорного и, безусловно, заслуживает дальнейшего обсуждения, я считаю, правильный баланс между текущими потребностями реального мира и видением будущего соответствующими стандартами.

Серебряная подкладка для стандартистов здесь заключается в том, что другие крупные поставщики видят мало пользы в поддержке ориентации на версии в своих браузерах — конечно, недостаточно, чтобы оправдать огромные трудности разработки, которые могут быть вовлечены. Это может быть признаком будущих событий для Internet Explorer.

Ориентация на версии может оказаться ключом к тому, чтобы Internet Explorer прекратил тянуть пятки на пути к утопии веб-стандартов, о которой мы всегда мечтали. И как только мы туда доберемся, Microsoft вполне может оказаться в состоянии присоединиться к другим браузерам в поддержке последних стандартов по умолчанию, а не по запросу.