Кодирование для IE против кодирования для стандартов W3C - PullRequest
5 голосов
/ 13 июля 2009

Еще одна глава из серии «Аргументы между мной и другим старшим разработчиком»: P

Моя позиция заключается в том, что при веб-разработке код браузера должен быть написан в первую очередь, чтобы соответствовать веб-стандартам W3C, даже несмотря на то, что Internet Exploder имеет большую долю рынка (где-то между 51% и 79% в зависимости от того, кто делает отслеживание). Я рассуждаю так:

  • Стандарты заблокированы, и все разработчики браузеров стремятся к минимальной, 100% безошибочной поддержке всех установленных стандартов. Поэтому код должен быть написан и протестирован с использованием Firefox / Chrome / Safari, которые гораздо ближе к надлежащей поддержке стандартов, чем IE8, тогда в IE следует использовать условные теги для обхода своих ошибок. Это особенно актуально, поскольку вы можете использовать условные теги для обхода ошибок IE, но если вы попытаетесь выполнить кодирование в обратном порядке, гораздо сложнее написать хаки, чтобы заставить Firefox / Safari / etc правильно отображать кодированный битый HTML / CSS .

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

  • Кодирование чего-то сломанного для поддержки большей доли рынка, а затем «разрушение» его для меньшей доли рынка, если у вас есть время, кажется небрежным подходом к работе и предполагает, что вы думаете, что доля рынка составляет 20% несущественно, что, я думаю, очень далеко от истины.

Мой со-разработчик утверждает:

  • Различные браузерные компании предпочитают идти по собственному усмотрению и все равно не заботятся о стандартах, поэтому попытка кодировать стандарты - пустая трата времени.

  • Кодирование для поддержки меньшинства ~ 20% доли рынка не стоит усилий, пока страница примерно отображается в этих браузерах способом, который все еще можно использовать.

  • Браузер - это браузер. Это просто окно просмотра для рендеринга текста, и я не должен сильно беспокоиться о том, что точно верно.

  • Трудно развиваться в Firefox, когда он все равно предпочитает IE8.

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

Могу ли я получить некоторый вклад в этот аргумент?

Ответы [ 11 ]

11 голосов
/ 13 июля 2009

Разработка до стандартов W3C, и чтобы она выглядела хорошо в IE. Они не являются взаимоисключающими.

4 голосов
/ 13 июля 2009

Знайте свою аудиторию : их волнует, соответствует ли ваш сайт стандартам? Вероятно, нет, если вы не пишете сайт для фанатов веб-разработчиков. Скорее всего, им будет все равно или они даже не узнают, что такое W3C.

Есть ли у вашей аудитории более высокая тенденция выбирать конкретный браузер? Имейте в виду, что не все сайты имеют одинаковое распространение браузеров. Технические сайты получают меньше посещений IE, чем обычные сайты.

Будьте практичны : большинство сайтов получают большинство своих хитов от IE. В частности, IE 6 и 7. Игнорирование реальности игнорирует причуды IE. Многие пользователи будут жаловаться на то, что ваш сайт не работает, если вы не тратите время на то, чтобы заставить его работать в IE 6 и 7. IE 6 по-прежнему большой браузер, используемый большинством компаний, ориентированных на Microsoft.

Будьте реалистами : Соответствующий стандартам HTML не очень практичен, за исключением обращения к фанатам. В идеале все браузеры реализуют стандарт. Но они этого не делают. Нереально реализовать стандарт, который никто не реализует полностью.

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

3 голосов
/ 13 июля 2009

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

Основная проблема, с которой я столкнулся, это паттерн:

  • Браузер Компания 'X' делает браузеры отказоустойчивый и попытки отображать страницы, которые плохо сформированы. Они также отклоняются от стандартов вдоль либо случайно, либо в попытке создать собственный новый стандарт.
  • Неопытный веб-разработчик использует браузер «X», чтобы проверить их дизайн как они идут вместе, допуская ошибки в их разметка останется незамеченной.
  • Браузерная компания 'X' теперь в ловушке положение любого взлома существующие сайты или ведение известных дефекты в новых версиях их браузера.

Не будьте частью этого цикла.

2 голосов
/ 13 июля 2009

Я не уверен, с какой версией IE вы действительно спорите, но это сообщение в блоге digg показывает, что более половины пользователей IE6 не используют IE6 по выбору.

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

1 голос
/ 13 июля 2009

В приведенных выше рассуждениях есть несколько интересных утверждений. Продавцы не заботятся о стандартах. Будущие приложения проверки, придерживаясь стандартов. Non-IE представляет ~ 20% доли рынка. Если бы были какие-то эмпирические доказательства за или против них, это могло бы помочь.

Самое важное в моих глазах, вы утверждаете, что «вы можете использовать условные теги для обхода ошибок IE, но если вы попытаетесь выполнить код в обратном порядке, гораздо сложнее написать хаки, чтобы заставить Firefox / Safari / etc правильно отображать кодированный битый HTML / CSS. " Это утверждение об отсутствии симметрии не является интуитивно понятным для меня, но если оно верно, то это достаточно веский аргумент.

Лично, если бы кто-то действительно говорил «примерно правильно, то все в порядке» и «не беспокойся о… точно», то у меня были бы проблемы с серьезным отношением к этим аргументам.

Почему разработка в / для Firefox боль?

1 голос
/ 13 июля 2009

Код для браузера, который имеет некоторую долю рынка и наиболее близко соответствует тесту ACID. Обойдите другие браузеры и решите, какие браузеры вам не нужны.

Для меня сейчас это означает:

Код для Firefox, обойдите для IE, убедитесь, что он работает одинаково в Chrome и Safari и игнорируйте все остальное.

1 голос
/ 13 июля 2009

На самом деле бизнес должен удовлетворять своих пользователей. Идеология не достаточно. Разработайте в соответствии со стандартами, но затем сделайте это в IE Комментируйте код и объясните, где введены хаки. Если вы говорите о IE8, это не так уж плохо. Если вам нужно поддерживать IE7 или даже 6, у вас будет больше работы.

1 голос
/ 13 июля 2009

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

IE поддерживает условные операторы CSS , что позволяет настроить нюансы CSS CSS, которые работают в большинстве браузеров.

Поэтому я думаю, что лучше всего написать HTML, который выглядит хорошо и работает как положено (стандарты schmandards), и когда вы сталкиваетесь с необходимостью сделать что-то уродливое, чтобы заставить его работать в IE, тогда используйте условный CSS.


Разъяснение моего циничного мнения W3C: Большой. Мяч. Из. Грязь.

1 голос
/ 13 июля 2009

Разработка для стандартов W3C, и чтобы она выглядела хорошо в IE. Они не являются взаимоисключающими.

Иногда они есть. В таком случае разработка в соответствии со стандартами W3C, как правило, является разумным выбором. Большая проблема, конечно, разрабатывается для нескольких версий IE; установка жесткого нижнего предела на 7, вероятно, хорошая идея, но это зависит от редактора.

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

0 голосов
/ 13 июля 2009

Его аргумент страдает одним существенным недостатком: На какую версию IE вы ориентируетесь?

Сайт может отлично выглядеть в IE6 и ужасно сосать в IE7 и 8. Или отлично смотреться в IE6 и 7, но ужасно плохо в стандартном (более совместимом) режиме рендеринга IE8.

Поддержка IE6 падает; Использование IE7 некоторое время превосходило использование IE6, и IE8 постепенно набирает обороты.

В Интернете дизайн для 8-летнего браузера - ошибка. Сначала разработайте новые браузеры, а затем добавьте то, что вам нужно для старых браузеров.

...