войти зарегистрироваться

Web-разработка whois

индекс
184,85

Непонимание разметки. Комикс про XHTML 2 и HTML5

image
С выходом HTML 5 и анонсом W3С о прекращении разработки XHTML 2 в конце 2009 года начались активные дебаты по поводу будущей «правильной разметки». XHTML 1.0, XHTML 2, HTML 4, HTML 5 и XHTML 5 — за всем этим тяжело уследить.

Теперь, когда XHTML 2 перестал маячить на горизонте, какой синтаксис выбрать? Остаться на XHTML 1.0, или двинуться вперед на HTML 5? А может, вернуться к старому доброму HTML 4? Этот комикс немного все проясняет.


image
* не ром, и не баба — в оригинале «as ham is to hamster», поэтому он держит кусок мяса рядом с хомячком.
* Скажите спасибо принципу «по натоптанной тропинке» — в оригинале принцип называется «pave the cowpath».

Ссылки и цитаты, упоминающиеся в комиксе



upd.: перенес в веб-разработку.

комментарии (77)

  • НЛО прилетело и опубликовало эту надпись здесь.
    • НЛО прилетело и опубликовало эту надпись здесь.
    • Если следовать вашей логике то самым правильным вариантом будет xml + xsl + xslt. А потом давайте вспомним судьбу SGML. Не всегда «правильное» лучше.
      • НЛО прилетело и опубликовало эту надпись здесь.
        • «лишний раз напрячся» знаете если бы следовали по вашей логике, то интернэт сейчас был где-то на 2-3 млн. хостов. Разметка доступная даже домохозяйке, вот почему вэб стал таким успешным. А как обработать даные это задача разработчиков инструментов и компютеров.
          • НЛО прилетело и опубликовало эту надпись здесь.
            • предпочту более строгий формат, который не дает мне расслабится и сделать херню.

              А нет такого формата :). У XHTML свои слабости — например, он позволяет сделать таблицу без tbody (чего не позволяет даже HTML:). Не говоря о том, что оба позволяют нагородить прорву вложенных таблиц с несемантичными id-ами и тому подобного ужаса.

              В HTML5 как раз делается попытка отслеживать семантику на уровне conformance checker-а (напр., приоритет новых структурных элементов типа section и nav над безликими div-ами), посмотрим, насколько получится…
              • НЛО прилетело и опубликовало эту надпись здесь.
                • html позволяет таблицы без tbody. четвертый во всяком случае.
                  HTML4 позволяет не писать в коде tbody явно, но при парсинге оно все равно встраивалось (и встраивается) на свое законное место :). В XHTML (при XML-парсинге) оно опционально и в DOM, поэтому никогда не знаешь, как достучаться до таблицы из ее ячейки — как this.parentNode.parentNode или this.parentNode.parentNode.parentNode.
                  когда в принципе можно ограничится div'ами span'ами ссылками объектами и набором тегов для форм, а все остальное вынести в css.
                  Нельзя так делать (хотя текущие стандарты позволяют) — это будет ад для поисковиков (и рай для нечистоплотных сеошников;). Зря, что ли, умные люди за семантическую разметку борются?
                  потому, что хрен угадаешь, что очередной «домохозяйка» решил опустить в разметке.
                  Вот этого точно не будет, т.к. вне зависимости от того, что он хотел получить — получит он только то, что для этого случая прописано (да, захардкодано) в стандарте :)
                  • НЛО прилетело и опубликовало эту надпись здесь.
          • Дело не в «доступности домохозяйкам» (это миф — ни одна домохозяйка не заглядывает в спеку;), а в устойчивости даже к домохозяйкам :). Как бы не издевался горе-кодер/редактор/секретарша над разметкой, по незнанию или по злому умыслу — на выходе браузер всегда сможет построить и отобразить более-менее вменяемую DOM-структуру. А с переходом на HTML5 — еще и однозначную DOM-структуру.
            • НЛО прилетело и опубликовало эту надпись здесь.
              • В любом случае не должен напрягаться пользователь. Если страница оказалась невеллформной — ему все равно, кто в этом виноват: горе-верстальщик, недогрузившийся сторонний скрипт (счетчик, к примеру), шальной китайский символ в чьем-то комменте, про который не подумал автор CMS, файрволл типа Аутпоста, вырезавший рекламный баннер «с мясом», или что-то четвертое. Юзер-то в этом по-любому не виноват! Почему же браузер должен делать крайним и непонятно за что наказывать именно его?

                А непредсказуемости как раз больше не будет. Все ошибки станут однозначными и единообразными (не сразу, конечно, но к 2022-му — уж точно:). Да, мне нравится подход HTML5 :)
                • НЛО прилетело и опубликовало эту надпись здесь.
                  • Ни в жисть. Пользователи лишь перешли бы на другие браузеры, которые не наказывают их за чужие грехи — и все пришло бы к тому же, что мы имеем сейчас. При самых лучших намерениях всех сторон…
    • Нет, аргумент скорее такой: «Вечный двигатель, конечно, штука хорошая — в теории, но вот его разработчики совсем забыли про трение… поэтому на практике будем совершенствовать проверенные и заведомо работающие ДВС» :)

      Кстати, HTML5 сложнее, чем XML (хотя бы потому, что прекрасно может выражаться в том числе и его средствами — что, кстати, вскользь отмечено в комиксе;).
      • НЛО прилетело и опубликовало эту надпись здесь.
        • Не «нашим и вашим», а браузерам :). В т.ч. уже существующим…
          • НЛО прилетело и опубликовало эту надпись здесь.
            • Не надо будет ничего угадывать. Все прописано в самом стандарте (впервые за долгие годы).

              Кстати, с точки зрения SGML (по правилам которого теоретически должен был парситься HTML4), слеши в одиночных тегах — вполне себе говнокод ;)
              • НЛО прилетело и опубликовало эту надпись здесь.
                • Потому что «не дать пользователю/файрволлу/НЛО/всем-всем-всем скриптам/всем-всем-всем ЦМСкам… и т.п. писать херню» — невозможно. Физически. Тем более на уровне браузера. Принудительный переход на XML-синтаксис и XML-парсинг был неплохой попыткой, но именно его неудачный опыт стал показателем.

                  А вот научить браузер однозначно и предсказуемо обрабатывать нештатные ситуации — да, аццки трудно (у WHATWGшников на это ушло больше 5 лет), но все-таки возможно.
                  • НЛО прилетело и опубликовало эту надпись здесь.
  • XHTML умер? Да здравствует XHTML!
  • ошибочка, 4 картинка снизу, сама правая:
    «что спецификация XTHML 2…»
    • Спасибо, исправил. Добавил еще сноски, забыл про них вчера.
  • Блин, все эти сравнение на еде. Пошел че-нить перекушу)
    • хм, а я даже и не задумался, действительно вызвало желание поесть )))
    • Я сразу и не понял почему пошел на кухню и отрезал себе кусок сыра после прочтения комикса…
  • Мне кажется, что если бы главным героем была тёлка с сиськами, было бы вдвойне интересней :o)
  • 1) аттрибуты и тэги в кавычках
    2) значения аттрибутов в кавычках
    Дальше до конца текста «атрибуты», все хорошо

    Скорее посмотрите, что это он делает? Нравится.
    3) если мне нравиться тайская кухня
    4) HTML5 позволяет использовать любой синтаксис, который вам нравиться
    5) мне нравиться синтаксис XHTML
    • О, спасибо! Научить бы фотошоп проверять русский язык…
      • Увы, автопроверялки бессильны перед -тся и -ться в глаголах. Написание зависит от значения.
        • удивительно, что и многие люди тоже бессильны =)))
  • А как всё начиналось…
  • Напоминает рекламу кофе из Саус Парка :)
  • Комикс неплохо нарисован, но чистым текстом то же самое было бы понять проще и быстрее. Единственный логичный мотив создания комикса — чтобы информация поступала медленнее для лучшего восприятия. Бррр…
    • Нет. Он помогает лучше понять, что происходят тем людям, которые никогда не связывались ни с xhmtl, ни html4 ни с xhxhtmlm.

      Например, таким, как я.
  • Я люблю сыр.
  • Про ромовою бабу: есть альтернативный вариант перевода ближе к нашим реалиям и ближе к картинке.
    «Как морская свинка — и не морская и не свинка»
    • Действительно, свинка по смыслу подходит к картинке лучше. Я просто о еде думал когда перевод делал )
    • там кажется звучит «не свинья и плавать не умеет».
    • тоже бросился в глаза сей очевидный вариант перевода (про свинину и морскую свинку)
  • НЛО прилетело и опубликовало эту надпись здесь.
  • Ждите на больших экранах в конце 2009-го.
    Новый блокбастер от W3C — холливар xhtml 2 vs. HTML 5… ах курто!?
  • Вчера, как прочитал на smashingmagazine этот комикс, думал о вариантах перевода игры слов про ham-hamster
    Ваш вариант мне нравится больше :-)
    • я бы перевел как морскую свинку и свинину — на картику больше бы было похоже :)
      • или даже оставил бы ветчиной
        • Нет, я настаиваю на роме и бабе :-)
          • а что будет если бабу настаивать на роме?
            • Удачное стечение обстоятельств.
  • Верхний регистр на самом деле — зло
    • В комиксах — добро!
    • ДОБРО
  • Увы. В этом комиксе не отражено главное — расширения xHTML2 за счет других станадртов — xForms, RDF и др. Синтаксис — не самое главное.
    • Про будущее расширяемости немного сказано в неофициальном ЧаВо по сабжу.
      • Увы, там написано что большая часть откладывается в долгий ящик и перспективы неизвестны. Больше всего жаль именно xForms, который уже реализован в IE и FF хотя бы на уровне плагинов.
        • Минуточку, а кто обижает xForms? Ими занимается отдельная рабочая группа, не связанная с XHTML2, об их закрытии никто ничего вроде бы не говорил, работа там ведется активная (последняя новость — июнь этого года, запрос на перевод xForms 1.1 из CR в PR, что само по себе — признак неплохого состояния дел там). Опять же, разве кто-то мешает/запрещает интегрировать xForms c ныне здравствующим XHTML 1.1 и будущим XHTML5?
          • даже если вдруг, как-то, когда-то, кем-то будет внедрена поддержка xForms и RDF это будет не мейнстрим как в xHTML2, а периферия. Но даже этого не будет. Будет как с поддержкой XSLT. MS будет поддерживать необязательные в рамках XML-расширения, а Опера гнаться за очередным Acid.
            • Так любой XML в качестве базовой веб-разметки — уже давно «не мейнстрим, а периферия». Суровый факт. Что, впрочем, не мешает с успехом использовать его там, где это действительно нужно и выгодно. Не говоря уже об экспериментальных решениях, где простор для фантазии ничуть не сузился.

              Ну а сам XHTML2 на мейнстрим никогда особо и не претендовал (в отличие от XHTML 1.x), а последние 2-3 года он и вовсе был даже не периферией, а очевидным тупиком (практически ноль развития, демонстративное отсутствие поддержки со стороны разработчиков браузеров и т.п.).
              • >Так любой XML в качестве базовой веб-разметки — уже давно «не мейнстрим, а периферия».
                Особенно задбавно это читать на странице с xHTML DOCTYPE :)
                • А причем здесь доктайп? Браузеру, чтоб воспринимать ее как XML, этого недостаточно. Посмотреть, как эта страница поведет себя в виде настоящего XHTML, можно вот так.
  • «HTML и XHTML для самых маленьких».


  • Полная локализация :-)
    • Чесно говоря чтобы понять что это такое пришлось гуглить. Приведеный сверху пример с морской свинкой понятнее :)
    • Т.е. не Java и не script? Со второй частью можно поспорить, имхо… ;)
  • Так-так-так! Значит, в HTML5 можно будет и так и сяк и этак?
    И, мол, нравится мне кавычки — пишу кавычки, нравится регистр — пишу в каком хочу?

    Спасибо за такую свободу! Но ведь какая проблема для парсеров! Я пишу так, а другой — совершенно подругому. Никакого строгого синтаксиса. Сложнее парсить.
    • Фокус в том, что правила парсинга — в т.ч. для явно ошибочных случаев, типа доктайпа посреди текста — четко прописаны в самом стандарте в виде однозначного дерева выбора. Собственно, именно в этом главное отличие HTML5 от др. стандартов, а не в дополнительных тегах и коротком доктайпе. И полное текстовое описание этих правил укладывается в 370 кБ, соответственно, программа, реализующая их, явно будет в разы меньше (вполне сопоставимо с парсером XML). Все проблемы уже решены — знай себе кодируй! :)
  • Интересно почему присутствие слешей, полные атрибуты и т.д. до сих пор так плотно ассоциируются только с xhtml? html позволяет писать коряво, но не заставляет. И вообще в рекомендации есть пункты о том что все правила xhtml можно и нужно использовать в самом html.
  • Жаль, упущен замечательный шанс объединить HTML и XML с его вкусностями. Неужели дизайнеры задавили программистов? :)
    • Как это упущен? Именно это, по сути, и сделано в HTML5! Два равноправных синтаксиса сериализации, XPath-запросы для HTML DOM и внедрение SVG/MathML в HTML-документы, роли элементов и микроданные… чего еще не хватает для счастья?

      Дизайнеры уже давно не имеют отношения к разметке, «борьба дизайнеров с программистами» сейчас идет на поле CSS. Пока, по моим ощущениям, счет где-то примерно равный… :)
      • Разве HTML5 является валидным XML-документом? Каюсь, детально стандарт ещё не изучал, но именно это считаю самым важным. В случае XML ИМХО проще и создавать документы, и парсить, и добавлять новые расширения. А «прошитые» XPath-DOM и прочие добавки — это хорошо, но не так гибко.
        • У HTML5 есть вариант сериализации в виде веллформного XML (т.н. «XHTML5»), соответственно, любые расширения, внедрение сторонних неймспейсов и прочие XML-ные радости там доступны. Вот только браузеры (особенно самый распространенный, как обычно)...
          • Само собой опциональная XML-совместимость имеет место быть, но лучше бы обязательная. Ещё неплохо бы принудительно перевести всех юникод, но это я уже совсем размечтался. :)
            • Там не «опциональная совместимость» (а-ля XHTML1.x→HTML), а четкое и однозначное разделение по типу контента. Берешь text/html — забываешь про XML, берешь application/xhtml+xml — добро пожаловать в мир неограниченной расширяемости с обязательной веллформностью (иначе XML-парсер просто не поймет). В принципе, браузеры (кроме IE) сейчас так и работают.
  • Пока я читал этот комикс, у меня чуть не вытекли глаза.

    По-моему, за Comic Sans уже пора тупо убивать.
  • а кроме бабы с ромом — тут где-то ещё прослеживается связь видеоряда с содержимым?
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.