Пост про XHTML принес мне немало трафика. Хочу еще!

Если серьезно, то в комментариях к последней статье "Учебника" titmouse снова поднял вопрос о совместимости с XHTML, и я решил еще раз осветить этот вопрос с меньшим техническим уклоном и добавлением еще пары мыслей.

Отвечу по частям.

Смотря на сорс без боди хеда чувствую себя неуютно… Хотя выглядит красиво. Как такое будут отображать разные браузеры? Мобильные? Понравится ли поисковикам?

Поисковики принимают это прекрасно. Они ведь индексирует весь веб, который процентов на 99 — HTML. На мобильных устройствах HTML тоже отображается, если бы не отображался, ими бы никто не пользовался, потому что, опять-таки, современный веб состоит из HTML.

Вот в этом ключ: веб состоит из HTML.

Кажется мне, что приучая незакрывать теги Вы, Иван, учите плохому. Не уж то все вокруг зря парятся по-поводу совместимости с XHTML?

Ну, я бы не сказал, что все... Я бы даже сказал, меньшинство :-). Приучаю как раз не я (я лишь оглашаю "статус кво"), а сторонники XHTML хотят приучить всех закрывать теги. Но посмотрите, это происходит уже довольно давно, но совершенно безуспешно. Попробую ответить, почему.

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

Но чтобы это работало, надо конвертировать весь веб, а это почти непреодолимо затратно. А проблема парсинга, в общем-то, уже неплохо решена другими подходами: с одной стороны даже толстенный Gecko уже запихнули в мобильник, с другой стороны — все больше контента доступна через XML-feed'ы.

То есть мы получаем неимоверные затраты и сомнительный плюс (еще чуть более простой парсинг). Кому же это интересно?

А ну прийдется накопленный контент как XML обработать? Тогда поздно будет теги закрывать!

Вот это, пожалуй, ближе всего к смыслу: обработка XHTML каждым конкретным автором у себя локально. Тут да, если вы не Гугл и не Мозилла, то парсить XHTML проще. Если вы знаете, зачем вам нужен XHTML на сайте — отлично, пользуйтесь.

А теперь позвольте пофилософствовать :-)

Большинство сайтов построены по совершенно другому принципу: веб для них только витрина для глаз посетителей, а вся структура данных хранится в БД сайта. И там ее гораздо больше, и достать ее гораздо проще, чем из рендеренного XHTML на сайте.

Пример. На сайте интернет-магазина написана цена товара - "200 $". Максимум, что отсюда можно вытянуть — это значение и валюта. А в базе лежит начальная цена, система скидок и история курсов валюты. Откуда можно взять больше информации? Причем, это все можно запихнуть на сайт в XHTML в виде микроформата, но этого никто не будет делать (одни — из за скрытности, другие — из-за того, что это просто не нужно посетителям).

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

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

Но по-настоящему мне надо бы придумать и написать какой-нибудь умный плагин для Wordpress'а, какой-нибудь умный extension для Firefox'а и какой-нибудь прикольный сервис, чтобы весь этот набор сделал интересным для людей самим снабжать ссылки XFN-информацией. И вот только тогда я смогу реализовать свой скучный поисковый сервис.

Вот этим красивая идея отличается от полезной: для полезной надо сделать много трудной работы. Например — постараться впихнуть Gecko в мобильник.

P.S. Эк меня в сторону отнесло :-)

Комментарии: 16

  1. mx

    Какой ужас :)

    Интересно, а знает ли Автор о том, что новых версий HTML не будет. Будет только XHTML 2.0, 3.0 ... И для того, чтобы использовать новые возможности веб, надо будет писать только на XHTML. Вот так

  2. Иван Сагалаев

    Некоторое время назад разработчики ведущих (технологически) браузеров (Mozilla, Opera, Safari) организовали рабочую группу Web Hypertext Application Technology (WHAT WG). Основная ее задача — развитие текущего стандарта HTML. Первая их спецификация Web Forms 2, находящаяся сейчас в финальных стадиях, принята на рассмотрение в W3C. А вот вторая спецификация — Web Applications 1 — носит неофициальное название HTML 5, и так ее называют по всему интернету. Причем, эта "неофициальность" — чисто условная, потому что спецификацию придумали те, кто реально делает интернет.

    Вся эта WHAT WG существует как раз потому, что XHTML 2.0 принят достаточно холодно многими разработчиками. В первую очередь из-за самой главной особенности XHTML 2.0 — намеренной полной обратной несовместимости. Разработчики (и браузеров, и страниц) считают, что это нереальный путь развития, несмотря на его теоретические выгоды.

    Да... А XHTML 3.0 просто нет.

    Такая позиция среди ведущих разработчиков не только не нова (1, 2, 3), но и, на мой взгляд, становится превалирующей.

  3. plexman

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

  4. [...] Маниакальный Веблог » еще раз о XHTML [...]

  5. mx

    "...потому что спецификацию придумали те, кто реально делает интернет." Что-то я там Microsoft не вижу и не слышал, чтобы "HTML 5" собираются реализовывать в IE7

    А за ссылочки спасибо, правда если почитать комменты то не все согласны с мнениями авторов :)

  6. Иван Сагалаев

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

  7. Corwin

    А вот откуда в html вообще повелось незакрытие тэгов?

  8. Иван Сагалаев

    Из SGML. У него вообще очень богатый синтаксис, и незакрытые теги — это цветочки.

    Например у всем известной конструкции комментариев (<!-- -->) сдвоенные дефисы — это отдельная конструкция: они включают и отключают возможность использования закрывающей > в комментарии. Поэтому если ее в комментарии нет, то комментарии можно заключать просто в <! >.

    Есть еще такая штука, как дефотные имена атрибутов. Например, по SGML правилам можно написать <input checkbox>, и это однозначно транслируется в <input type=checkbox>.

    Но реальные браузеры так никогда полностью этот мегасинтаксис и не реализовали. Спецификация HTML5 — первая, в которой это зафиксировано:

    While the HTML form of HTML5 bears a close resemblance to SGML and XML, it is a separate language with its own parsing rules.

  9. Corwin

    Жуть! Я всегда говорил - все проблемы от головы :)

  10. Андрей

    Мне никогда не нравился HTML за счет своей расхлябанности - и то можно и то. А потом всякие кул дезигнеры как топором лабают сайты, которые нормально не отображаются. Проблема на мой взглят HTML в том, что возникает много спорных ситуаций при парсинге таких страниц при этом оные произведения можно назвать валидными и т.д.
    Соссно это было и сказано выше - но я считаю опасность в том, что каждый производитель ПО может разрешать эти ситуации по разному и за счет этого опять придется искать некую золотую середину, чтобы везде отображалось боль-мень.
    А то что большинство не знают, что такое XHTML и пр. технологии, особенно, кто появились в последнее время, так они точно так же не будут знать и про :
    "...спецификация Web Forms 2, находящаяся сейчас в финальных стадиях, принята на рассмотрение в W3C..."
    Мое мнение стандарты разрабатываются для тех кто их читает :) Ну или хоть читать умеет.

  11. Александр Вольф

    Вообще стандарты пишут для разработчиков ПО, а дизайнерам и кодерам нужно читать толкование этих самых стандартов - именно так говорят ведущие зарубежные дизайнеры. В чем-то они конечно же правы, а в чем-то - нет, потому что долгое время и те, и другие (разработчики и дизайнеры) читали именно толкование :)

  12. Begemot

    Но чтобы это работало, надо конвертировать весь веб, а это почти непреодолимо затратно.

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

    Вся эта WHAT WG существует как раз потому, что XHTML 2.0 принят достаточно холодно многими разработчиками. В первую очередь из-за самой главной особенности XHTML 2.0 — намеренной полной обратной несовместимости. Разработчики (и браузеров, и страниц) считают, что это нереальный путь развития, несмотря на его теоретические выгоды.

    Тоже непонимаю, почему нереальный. Вместо того, чтобы превращать теоритические выгоды в настоящие, существующие, люди решают ставить новые костыли и подпорки в устаревшей системе. Что значит "полная обратная несовместимость"? Агенты в любом случае будут кушать как html так и xml соответствующей времени версии. Проблема-то в чем? Из-за процентов устаревших агентов мы тормозим развитие? Что-то тут в корне нелогичное, неправильное...

  13. Иван Сагалаев

    А вот новые надо создавать в соответствии со стандартами, поскольку все же надо идти в будущее

    Именно. С этим никто не спорит.

    Проблема-то в чем? Из-за процентов устаревших агентов мы тормозим развитие? Что-то тут в корне нелогичное, неправильное…

    Проблема в том, что XHTML1 и XHTML2 — это не развитие :-).

    Они только поначалу выглядят "чистыми" и правильными". Но на деле выходит, что они добавляют сложности, и не решают ни одной реальной проблемы. Это была некая попытка сделать "хорошо", которая производителями браузеров и многими веб-разработчиками признана ошибочной. Вместо нее предлагается идти в будущее другим путем: четко и реалистично написанным стандартом (X)HTML5, который, напомню, определяет оба синтаксиса: и XMLный, и HTMLный.

  14. Begemot

    Они только поначалу выглядят “чистыми” и правильными”. Но на деле выходит, что они добавляют сложности, и не решают ни одной реальной проблемы.

    Что-ж, пожалуй, Вам виднее, мне пока рановато судить, только начинаю еще изучение XHTML. Но читать это несколько грустновато. Так хочется, чтобы сразу можно было начинать с самых лучших(без вопросов и недоработок) технологий ))
    Еще немножко не по теме: Иван, Ваш "Словогрыз" - просто чудо! Очень полезная программа. Сейчас ознакомился и очень радуюсь ) Спасибо.

  15. Sergey

    Совершенно неправильно, по моему глубокому убеждению, считать, что конвертации подлежит “весь веб”. Сайты тоже имеют свой срок жизни, и большая часть просто вымрет. А вот новые надо создавать в соответствии со стандартами, поскольку все же надо идти в будущее. Конвертировать надо будет только популярные сайты, да и то - необязательно, ведь, как правильно Вы заметили, браузеры умеют читать код предыдущих версий (даже с ошибками) - и эта тенденция сохранится.

    Гм, вы знаете ваша глубокая мысль сводится к тому, что:

    1. Старые вымрут
    2. Те кто не вымрет все равно будет отображаться
    3. Новые надо делать по новому
    4. Старое переделывать не надо вообще, новое делать по новому

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

    1. Как на него перейти наиболее грамотно и без больших потерь
    2. Что нам это даст
    3. Предоставить средства для перехода (програмные, быблиотеки и т.п.).

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

  16. Cinic
        <blockquote>
    
    1. Как на него перейти наиболее грамотно и без больших потерь
    2. Что нам это даст
      А разве на w3c.org не написано про это ничего???

    3. Предоставить средства для перехода (програмные, быблиотеки и т.п.).

    Какие средства, Вы о чем???

Добавить комментарий