XHTML 2 против HTML 5

Original author: Mike Malone
  • Translation

Вернемся в прошлое на десять с небольшим лет, в 18 декабря 1997. Internet Explorer 4 был выпущен 3 месяца назад, The Mozilla Foundation еще не сформирована и до выхода Firefox еще далеко. Здесь нет XMLHttpRequest, нет даже XML. В этот день, больше десятилетия назад, HTML 4.0 был опубликован как рекомендация W3C.



Он и стал базой, на основе которой были разработаны современные web-стандарты. Конечно, были и усовершенствования. В 2000 году как официальная рекомендация был принят XHTML 1.0, а CSS 2 был реализован большинством производителей браузеров. Но основа Web – костяк, на котором построен каждый сайт, от простых визиток до комплексных приложений – по существу осталась неизменной.



По крайней мере, до сегодняшнего дня. После долгого затишья, кажется, уклад вещей в W3C меняется – в разработке находятся две конкурирующие спецификации, призванные заменить устаревшие стандарты HTML 4.x и XHTML 1.x. Обе инициативы работают под эгидой W3C (пусть так было и не всегда) и обе, по моему мнению, значительно превосходят текущую подборку языков web-разметки. Это HTML 5 и XHTML 2.0. И если вы читаете эту статью, скорее всего, в течение нескольких следующих лет вам придется работать с одной (или обеими) из них.




Немного истории



Работа над XHTML 2.0 началась вскоре после публикации XHTML 1.1 в качестве рекомендации в 2001 году. Первый черновой вариант XHTML 2.0 был опубликован в 2002 г., но значительная часть документа была в ненормативном и незавершенном состоянии (а кое-что осталось до сих пор). К 2004 году у некоторых видных деятелей отрасли – разработчиков браузеров, дизайнеров, web-разработчиков и владельцев контента – возросло недовольство дирекцией рабочей группы XHTML 2.0. Ссылаясь на закрытый характер работы W3C, они решили основать и разрабатывать свой собственный стандарт.



Итак, в 2004 г. была сформирована независимая коалиция, названная WHATWG (Web Hypertext Application Technology Working Group). Группа начала работу над спецификацией, названной Web Applications 1.0. В апреле 2007 года W3C проголосовало в пользу предложения рассмотреть спецификацию группы. Члены WHATWG начали работать в рамках W3C как группа разработчиков HTML и продолжили работу над своим проектом, который был переименован в HTML 5. Таким образом, черновик HTML 5 должен однажды стать рекомендацией W3C наряду с XHTML 2.0 (хотя этот день еще очень далек, и W3C уже пропустил несколько ключевых этапов проекта).



Обзор XHTML 2.0



XHTML 2.0 полностью основан на XML, разработчики отказались от наследства SGML и синтаксических особенностей, присутствующих в текущей web-разметке. Он позиционируется как «язык общего назначения», с минимальным функционалом по умолчанию, который легко расширить, используя CSS или другие технологии (XForms, XML Events, и т.д.). Этот модульный механизм позволяет группе разработчиков XHTML 2 сосредоточить свое внимание на общей разметке документа, пока остальные разрабатывают механизмы представления, интерактивности, построения документа и т.д.



Первым приоритетом для рабочей группы XHTML 2 является дальнейшее отделение контента и структуры документа от его представления. Другими целями являются повышенное удобство и доступность, улучшенную интернационализация, большая независимость от устройств, меньшее количество скриптов и интеграция с Semantic Web. Разработчики были меньше заинтересованы в обратной совместимости, чем их предшественники (и группа разработчиков HTML), что привело к удалению некоторого синтаксического багажа, существовавшего в ранних воплощениях HTML. Результатом стал более чистый и сжатый язык, исправляющий многие старые недочеты Web-разметки.



Обзор HTML 5



В то время как концепция XHTML 2.0 предназначена быть революционной, группа разработчиков HTML выбирает прагматичный подход и создает HTML 5, как эволюционировавшую технологию. Получается, что HTML 5 является шагом вперед, но по-прежнему большей частью совместим с текущими стандартами HTML 4/XHTML 1. Однако HTML 5 предлагает множество изменений и расширений для HTML 4/XHTML 1, указывающих на многие недочеты своих предыдущих спецификаций.



В спецификации HTML 5 речь идет об отходе HTML от разметки документа и внедрении его в языки для создания web-приложений. С этой целью основное внимание концентрируется на создании более надежного и функционального клиентского окружения, предоставляющего различные API для разработки web-приложений. Среди прочего, спецификация предусматривает то, что реализации должны предоставить на стороне клиента постоянные хранилища данных (как вида ключ/значение, так и SQL-базы данных), API для воспроизведения аудио и видео, 2D-рисования посредством элемента canvas, обмен сообщениями между документами, отправляемые сервером события и сетевые API.



HTML 5 поддерживает SGML-подобный синтаксис, совместимый с текущими спецификациями HTML (хотя некоторые наиболее эзотерические черты SGML больше не поддерживаются). В спецификацию также включена вторичная «XML-сериализация», позволяющая разработчикам использовать правильные XML-документы. Путем сохранения SGML-подобной сериализации группа разработчиков HTML 5 достигла баланса между прагматизмом и прогрессом: разработчики могут выбирать между разметкой с использованием HTML-сериализации (которая больше похожа на HTML 4.x) или XML-сериализации (больше похожа на XHTML 1.x).



Схожие черты



Никого не удивит, что обе группы разработчиков предлагают ряд сходных возможностей. Они указывают на известные «больные места» web-разработки и будут желанным дополнением в новом поколении языков разметки.



Удаление элементов представления



Ряд элементов будут удалены в XHTML 2 и HTML 5, так как они отвечают только за представление документа. Считается, что представление должно управляться посредством таблиц стилей.



Документы XHTML 2 и HTML 5 не могут содержать следующих элементов: basefont, big, font, s, strike, tt и u. XHTML 2.0 также удаляет элементы small, b, i и hr, а HTML 5 переопределяет их другим значением (отвечающим не за представление). В XHTML 2.0 элемент hr заменяется элементом separator дабы уменьшить путаницу (элемент hr предназначен для создания горизонтальных разделителей, но вовсе не обязательно используется для этого).



Списки навигации



Списки навигации были введены как в XHTML 2.0, так и HTML 5. В XHTML 2.0 они определяются новым элементом nl (Navigation List). Сам список должен начинаться дочерним элементом label, определяющим заголовок списка. После него может идти один или несколько элементов li, используемых для разметки ссылок. Также новинкой в XHTML 2.0 является возможность создания ссылки с любого элемента, используя для него атрибут href. Комбинация этих методов позволяет создать простую, легкую разметку меню:

<nl>
    <label>Category</label>
    <li href="/">All</li>
    <li href="/news">News</li>
    <li href="/videos">Videos</li>
    <li href="/images">Images</li>
</nl>


В HTML 5 для этих целей был введен элемент nav. К сожалению, nav не является списочным элементом, поэтому не может содержать дочерних элементов li для логической организации ссылок (возможно, будет разработана новая идиома). И так как для создания ссылок в HTML 5 остаются необходимыми элементы a, разметка навигации не очень элегантна:

<nav>
    <h1>Category</h1>
    <ul>
        <li><a href="/">All</a></li>
        <li><a href="/news">News</a></li>
        <li><a href="/videos">Videos</a></li>
        <li><a href="/images">Images</a></li>
    </ul>
</nav>




Улучшенные формы



Обе спецификации содержат новые возможности для создания более последовательных форм с применением меньшего количества скриптов. В XHTML 2.0 стандарт HTML-форм был полностью удален в пользу более обширного стандарта XForms. Группа разработчиков XHTML 2.0 не контролирует эту технологию, а только ссылается на нее в спецификации. Для упрощения повторного использования в XForms собираемые данные отделены от разметки элементов управления. Это мощный язык, но его полное описание выходит за рамки этой статьи. Достаточно сказать, что даже малые знания этой технологии значительно повысят скорость разработки.



HTML 5 сохраняет привычные HTML-формы, но добавляет некоторые типы данных для упрощения разработки и повышения удобства для пользователя. Добавлено несколько новых типов элемента input для email-адресов, URL, даты и времени и числовых данных. Это позволит браузерам создавать более удобный пользовательский интерфейс (например, диалоги для выбора даты и времени), интегрироваться с другими приложениями (выбор адресов из Outlook или Адресной Книги, например) и проверять введенные пользователем данные перед отправкой на сервер (сокращение JavaScript-проверок на стороне клиента).



Семантическая разметка



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



В XHTML 2.0 метаданные могут быть внедрены при использовании нескольких новых атрибутов из Модуля Метаинформационных Атрибутов (Metainformation Attributes Module). В частности, новый глобальный атрибут role предназначен для описания значения данного элемента в контексте документа. Также используется технология «Внедрения структурированных данных в web-страницы» (Embedding Structured Data in Web Pages), для этого группа использует существующие стандарты, ссылаясь на RDF. Эта технология является чрезвычайно мощной, но также и сложной.



Группа разработчиков HTML выбрала подход, который очень поход на микроформаты – перегрузка атрибута class преопределенным набором классов, представляющих различные типы данных. На данный момент в спецификации имеется семь зарезервированных классов: copyright, error, example, issue, note, search и warning. Хотя такой метод может казаться не очень надежным, маловероятно, что в разных браузерах эти элементы будут отображаться по-разному. Имена классов достаточно конкретны, поэтому есть о чем побеспокоиться: элемент с классом copyright будет отображаться как авторские права, независимо от того, знал разработчик о зарезервированных классах или нет.



Только в HTML 5



Ниже описаны некоторые возможности HTML 5, не имеющие аналогов в XHTML 2.0



API для web-приложений



HTML 5 вводит ряд API, значительно улучшающих оболочку для разработки на стороне клиента. Они делают из HTML 5 стек технологий для web-приложений, а не просто язык для разметки документов. Стоит отметить, что детали этих API сейчас проработаны группой разработчиков Web API (Web API working group), поэтому могут быть приняты как с остальной частью HTML 5, так и самостоятельно. Новыми API и соответствующими элементами являются:

  • API 2D-рисования посредством элемента canvas
  • API воспроизведения аудио и видео, поддерживающие возможность предоставлять браузеру несколько форматов, которые могут быть использованы в новых элементах audio и video.
  • Постоянные хранилища данных на стороне клиента, как вида ключ/значение, так и SQL-базы данных.
  • Оффлайн-API для web-приложений (схожее с Google Gears).
  • API, позволяющее web-приложениям сопоставлять себя с различными протоколов или MIME-типами.
  • API редактирования, которое может быть использовано в комбинации с глобальным атрибутом contenteditable.
  • Drag&Drop API, которое может быть использовано в комбинации с атрибутом draggable
  • Сетевое API, позволяющее web-приложениям использовать протокол TCP.
  • API, отражающее историю переходов браузера, позволяющее web-приложениям добавлять в нее записи, что позволит адекватно работать при нажатии кнопки «Назад» браузера.
  • API обмена сообщениями меду документами.
  • Отправляемые сервером события в комбинации с новым элементом event-source.




Новые элементы



В HTML 5 вводится ряд новых возможностей, которых нет в XHTML 2.0:

  • figure представляет изображение или график с заголовком. Вложенный элемент legend отображает заголовок, а обычный элемент img используется для изображения
  • m отображает текст, выделенный каким-либо образом. Может быть использован для подсветки слов при выдаче результатов поиска, к примеру.
  • time отображает дату и время
  • meter отображает измерения или величины
  • datagrid отображает интерактивное дерево данных или табличные данные
  • command отображает команду, которую пользователь может выполнить
  • event-source используется для «ловли» посылаемых сервером событий
  • output отображает определенный тип вывода, такой как результат вычисления скрипта
  • progress – отображает выполнение процесса, такого, как загрузка или выполнение серии трудоемких вычислений.


В дополнение, некоторые новые элементы помогают семантично разметить части документа. Их названия говорят сами за себя: section, article, header, footer и aside. А новый элемент dialog предназначен для отображения сообщений с использованием дочерних элементов: dt — для имени отправителя, а dd — для текста сообщения.



Отслеживание пользователей оповещением (pinging) URI



Новый атрибут ping может использоваться в элементах a и area для отслеживания пользователей. Этот атрибут позволяет указать разделенный пробелами список URI, которые должны быть оповещены при переходе по ссылке, это позволяет уйти от использования переадресации или JavaScript’ов.



Только в XHTML 2.0



Новые возможности, которые доступны только в XHTML 2.0



Любой элемент может быть ссылкой



В XHTML 2.0 атрибут href можно указать в любом элементе, тем самым превратив его в ссылку. С этим изменением элемент a больше не является необходимым, но он сохраняется.



Любой элемент может быть изображением (или другим ресурсом)



В XHML 2.0 элемент img был удален. Но не волнуйтесь – теперь любой элемент может быть изображением. Идея в том, что все изображения имеют длинное описание, которое эквивалентно самому изображению. Добавлением атрибута src к любому элементу мы говорим браузеру загрузить указанный ресурс и разместить его на месте элемента. Если по какой-либо причине ресурс недоступен, будет отображено содержание элемента. Это позволяет разработчикам предоставлять несколько эквивалентных ресурсов, используя разные форматы файлов и представления, путем вложения элементов друг в друга.



Строки заменяют br



Почтенный элемент br, использующийся для вставки перехода на новую строку, также был удален в XHTML 2.0. Для его замены введен новый элемент l. Он представляет строку текста, и работает как span, после которого стоит br по правилам текущей разметки.



Новая структура заголовков



Новые элементы h и section были введены для замены пронумерованных элементов h1h6. Цель этого – стремление передать иерархическую структуру документа. Текущие нумерованные заголовки линейны, не вкладываются друг в друга. При вложении элементов section и h в родительские section структура документа будет ясна.



Новые элементы



Группа разработчиков XHTML 2 сосредотачивала внимание на создании более общего, упрощенного языка. В виду этого, они воздержались от добавления множества специализированных элементов для представления различных видов контента. Они утверждают, что новый атрибут role предоставляет механизм для внедрения богатых метаданных, которые делают ненужными специализированные элементы. Тем не менее, было включено несколько новых элементов:

  • blockcode представляет компьютерный код
  • di представляет группу связанных терминов и определений в dl (definition list). Это удобно для слов с различными значениями или различным произношением.
  • handler представляет скриптовый обработчик событий с атрибутом type, который указывает язык обработчика. Если браузер его не понимает, обрабатываются потомки элемента-обработчика (иначе они игнорируются). Таким образом, обработчики могут вкладываться друг в друга для предоставления реализации на нескольких языках.




Заключение



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



Несмотря на позднее начало, группа разработчиков HTML 5 имеет большую индустриальную поддержку и прошла больший путь в рекомендационном процессе. Их цель состоит в том, чтобы иметь полную спецификацию, с множеством взаимодействующих реализаций не позднее 2010 года (как я уже говорил, несмотря на это, консорциум W3C уже пропустил несколько этапов в процессе утверждения). С индустриальной поддержкой большинства главных разработчиков браузеров (единственным исключением является Microsoft) эти спецификации, вероятнее всего, будут внедряться быстро и последовательно, как только они достигнут стабильного состояния.



Всеобщее желание состоит в том, чтобы избежать очередной войны стандартов. К счастью, так как оба языка поддерживают пространства имен XML (или, в случае HTML-сериализации в HTML 5 — переключение DOCTYPE), маловероятно, что мы увидим такую же зависимость отображения документа от браузера, какая наблюдалась в 90-ых. Если отмести в сторону войны стандартов, будущее web-разработки выглядит светлым. Эти новые возможности разметки и API предоставят хорошую оболочку для web-разработки, которая должна сократить разрыв между настольными и web-приложениями.






Оригинал: Mike Malone, XHTML 2 vs. HTML 5
Перевод: Helios



Share post
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 95

    –9
    Огорчает грядущее отсутствие тегов s, u, b, i.

    Как-бы, легче на порядок написать <i><b>text</b></i> , и получить жирный текст курсивом, нежели мудрить со <span class="bold italic">, или, того хуже, <span style="...">... брррр.

    Неправильную они там траву курят, ох неправильную. Я что-то совсем нифига не доволен.
      +2
      Ну смысл их действий вроде бы верный - должен отмечать тегом, который отражает смысл, к примеру <span class="notify"></span> или тем же <em>, иначе теряется семантика верстки. Об этом, кстати говорят не только дядьки из W3C, но и многие опытные верстальщики
        +1
        *опечатка: не em, а m
        • UFO just landed and posted this here
          +10
          Как это парадоксально не звучит, но, в некоторых случаях:

          для лучшей семантики следует использовать теги <b>, <i>, <u>, <strike> и т.д., а не <strong>, <em> или CSS.

          Это происходит тогда, когда содержимое элемента имеет именно презентационный смысл: жирность, курсив, моноширинный шрифт, а не выделение, сильное выделение, цитата и т.д.

          Вот пример текста:
          В нашем текстовом редакторе можно:
          • выделить текст жирным,
          • сделать его курсивным,
          • а также, использовать подчеркивание

          В данном случае фразы:
          • «выделить текст жирным» — имеет смыл именно «жирность», а не «сильное выделение»
          • «сделать его курсивным» — имеет смыл именно «курсив», а не «обычное выделение»
          • «использовать подчеркивание» — имеет смыл именно «подчеркивание» и т.д.

          И поэтому, для для верстки этого текста семантично использовать презентационные теги: <b>, <i>, <u>
          В нашем текстовом редакторе можно:
          <ul>
              <li>
                выделить текст <b>жирным</b>,
              </li>
              <li>
                сделать его <i>курсивным</i>,
              </li>
              <li>
                а также, использовать <u>подчеркивание</u>
              </li>
            </u>


          Во всяком случае, это мое понимание семантики. Возможно, многие со мной не согласятся.

          P.S. Кстати, посмотреть профиль pepelsbey тоже совсем недавно писал на эту тему: «Парадоксы разметки», а его вряд ли можно заподозрить в непочтении к семантической верстке :-)
            +6
            Я высказал свое мнение и обосновал его.

            Минусующим: пожалуйста, напишите, с чем вы не согласны.

            Впрочем, я осознано пошел на публикацию предыдущего коммента и предполагал подобную реакцию...
              –4
              Здесь минусуют без объяснения причин, потому что у вас наблюдается полное непонимание того, что такое семантика и и почему она полезна, а объяснить это в двух словах сложно.
              Комментарием выше бал описан только один из случаев разметки. Как пример приведу другой случай: у меня есть интернет-магазин, и там в описании товара есть особенное свойство, которое надо выделить. Выделять тегами или писать в классе bold и italic - неправильно. Правильнее написать unique-property. Верстальщику писать придется больше, зато это семантично + при изменении дизайна не придется трогать верстку.
              Я попытался описать случай, когда четко прослеживается отделение разметки документа от его отображения.
                +1
                Я писал, что «в некоторых случаях: для лучшей семантики следует использовать теги <b>, <i>, <u> ...»

                Еще раз повторю, только — в некоторых случаях, т.е. тогда, элемент семантически имеет смысл «жирность» или «курсив» как техническую возможность.

                Когда же элемент имеет другой смысл (как в Вашем случае), например, «выделение» или «цитата», то тогда, конечно, следует использовать соответствующие этим смыслам теги, например <strong> или <cite>.

                Так что с пониманием семантики у меня все в порядке :-)
                  0
                  Я промахнулся с ответом. К вашему комменту у меня нет претензий.
                    0
                    Согласен на все 100%.
                    Вот ещё пример со снипетами в гугле. Посмотрите сорец страницы и увидите каким тэгом подсвечиваются слова, и это верно, ведь никакогосмыслового выденления там нет, а само по себе выделение пристутствовать должно по-любому.
                  0
                  > + при изменении дизайна не придется трогать верстку
                  Мы все здесь знаем, что это утопия ;)
                    0
                    в общем согласен.
                    А если еще учитывать, что над проектом будут работать разные люди, то верстка будет меняться с еще большей веротяностью
                0
                выделить текст <b><i><font size="2">увеличенным полужирным курсивом</font></i></b>
                указать <span class="tag-h1">заголовок первого уровня</span>
                h1, .tag-h1 { font-size: 2em; font-weight: bold; font-style: italic }
                  +1
                  Я не минусовал, просто не согласен и пишу комментарий. :) Во-первых, приведённые вами случаи достаточно редки, и вполне можно пользоваться span’ами. Естественно, в данном случае использование strong и em не оправдано. Во-вторых, любое выделение (в том числе и в редакторе) де-факто имеет семантический смысл. И выделение полужирным в редакторе имеет смысл совершенно не полужирности, а именно что выделения, логического ударения. То есть, ещё раз, в приведённом вами тексте действительно это выделение не имеет семантической окраски, кроме «презентационности», в то время как подобное выделение в самом редакторе — имеет.
                    +1
                    Все абсолютно правильно, только я не понял, с чем Вы не согласны... Ведь Вы говорите как раз о том, о чем и говорю :-)

                    Семантика подразумевает использование тегов в соответствием со смыслом элемента.

                    Если смысл элемента — «выделение», «сильное выделение» или «цитата» — используем теги <em>, <strong> или <cite> соответственно.

                    Если смысл элемента — «жирность», «курсив», или «подчеркивание» как техническая возможность — используем теги <b>, <i> или <u>.

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

                    Использование <span> в таких случаев менее семантично, ведь <span> сам по себе не имеет никакой семантики, а <b> — имеет семантику «жирность как техническое явление».

                    Единственный случай, когда для обозначения «жирности как технической возможности» лучше использовать не <b>, а <span> со стилями, это тогда, когда следует соблюсти спецификацию xHTML Strict.
                      +3
                      Поскольку такие случаи редки, я за использование span, а не b, i и u, дабы не плодить сущностей без необходимости. :) Смысл не в технической возможности, а именно в выделении. Просто в HTML 4.0 позволялось не разделять представление от содержания, вот и были b, i и u. Если содержание и представление разделять, то их очевидно не должно быть.

                      Семантически выделение слов «жирным», «курсивом» и «подчёркивание» вообще не требуется — весь смысл фразы полностью содержится в ней самой, дополнительное выделение не требуется для полного её понимания.
                    0
                    Это, по-моему, единственный такой случай. Да и здесь уместнее использовать атрибут style.
                      +2
                      Ну, в «парадоксах разметки» я уже отметился, повторюсь и здесь, заодно может чуть переформулирую и объединю с иными мнениями. Итак…

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

                      В нашем текстовом редакторе можно:

                      • наиболее важные элементы выделять полужирным начертанием (например: «Однако, в нашем стремлении к прогрессу мы упускаем развитие содержания»)

                      • цитаты выделять курсивом (например: «сомневаться полезно, это пробуждает мысль от сна слепой уверенности» — пишет посмотреть профиль Вадим Макеев)

                      • Для устаревшей информации предыдущих изданий, приведенной для сравнения, использовать перечеркивание (например: Вы не получите качественной верстки за шесть баксов евро)



                      И тому подобное. И уже в примерах использование семантических тегов вместо презентационных будет абсолютно оправдано.
                      Развивать и улучшать не только форму, но и содержание — это моё понимание семантики. Хотя, возможно, со мной не согласятся столь же многие, сколь и с Вами :)
                    +2
                    Чем вас не устраивает:

                    <m>text</m>
                    m {
                    font-weight: bold;
                    font-variant: italic;
                    }

                    А указанные вами теги и в текущей рекомендации html4.1 носят статус deprecated
                      0
                      Да, но есть Strong :)
                      А M и правда рулит, через 10 лет будет кайфово верстальщикам :))))
                        0
                        Не думаю, что strong'у при такой концепции долго жить осталось)
                        • UFO just landed and posted this here
                            +1
                            Вы не правы. Strong означает сильное логическое выделение. Ещё более сильное, чем em. Поэтому и использоваться strong должен значительно реже, чем em.
                            • UFO just landed and posted this here
                                0
                                В том, что «как именно выделенный — дело автора
                                документа». Это не как угодно выделенный, а именно означающий семантически сильное логическое выделение.
                                • UFO just landed and posted this here
                                    0
                                    Ой, простите великодушно, не догнал сначала. Теперь понятно. :)
                                    • UFO just landed and posted this here
                          0
                          да им и сейчас неплохо живется, если закрыть глаза на IE6- :)
                        0
                        Мнение полного профана: мне старый вариант кажется проще и понятнее. Слова span и class у меня никак не связываются со шрифтом. Ну и писать конечно меньше, если вручную редактировать.
                          0
                          Слова span и class у меня никак не связываются со шрифтом. Слова span и class у меня никак не связываются со шрифтом.
                          Совершенно верно - так и должно быть. Содержимое текста вообще не должно быть связано со шрифтами. К сожалению во многих существующих продуктах (MS Office, HTML, etc) всё перемешано :-(
                          0
                          Признайте, что есть рациональное зерно в таком подходе.
                          Когда мы используем болд, то это однозначно болд, но если мы используем сильное выделение, то это не значит болд.. а может быть выделение цветом или бэкграундом.. и эти правила выделения мы можем менять.. на всем сайте буквально несколькими строчками в файле style.css.
                          Притом если мы пользуемся семантической разметкой документа, мы получаем более гибкую структуру при работе с различными нестандартными устройствами, распознавая которые можем отдавать другой css файл с другим представлением без правки кода.
                          • UFO just landed and posted this here
                            +5
                            Одни генерируют очередные костыли, а другие — идеалисты. А мучаться со всем этим опять нам и производителям браузеров.
                              +2
                              да уж, перспектива двух конкурентных веток совсем не радует
                                0
                                HTML5 - вообще какая-то каша. Я отдаю голос за идеалистов
                              • UFO just landed and posted this here
                                • UFO just landed and posted this here
                                    0
                                    Мне кажется вы зря пророчите гибель декларативных языков :)
                                    • UFO just landed and posted this here
                                        0
                                        Описка. Я имел ввиду императивные :)
                                        • UFO just landed and posted this here
                                            0
                                            «скоро строем будем переходить на Erlang, Haskel или F#» — думаю это понимается однозначно как пророчество о гибели :)
                                            • UFO just landed and posted this here
                                                0
                                                Но ведь есть и другие императивные языки. Зачем зацикливаться на С? Python, Ruby например. В последнее время они набрали популярность. И неспроста. Есть куда развиваться. А пока обычным делом не станут домашние дофига-процессорные системы — у С++ есть будущее. Вообще говоря функциональные языки это отдельный разговор. Не сомневаюсь, для определенных задач они хороши. Но определенно не там, где нужна быстрая разработка, доступная, например, в Python.
                                                • UFO just landed and posted this here
                                                    0
                                                    Но вы же не назовете Python функциональным? Поглядите табличку в википедии :) Да, возможности есть. Но я сомневаюсь, чтобы они были реально востребованы.
                                                    • UFO just landed and posted this here
                                                        0
                                                        Я знаком и с map(), и с reduce(), и с lambda-функциями, и даже, как ни странно, с list comprehension в Python. Это сильно упрощает жизнь в императивном коде. Покажите хоть один проект на Python, где бы целиком использовался функциональный подход? А вот ООП-проектов на Python великое множество. Дело не в возможностях, дело в том, как они используются.
                                                        • UFO just landed and posted this here
                                                            0
                                                            Давайте в личке продолжим, тут уже невозможно %)))
                                      0
                                      Пока делали, поезд уже ушёл — скоро строем будем переходить на Erlang, Haskel или F#.
                                      Вы действительно в это верите? Я думаю что C++ будет жить ещё долго и счастливо. Как и Cobol (вы, я надеюсь, в курсе что в мире на Cobol пишут больше миллиона человек) и Fortran (ну тут и говорит не о чем). Так что да - переход случится, но займёт это на порядок больше времени чем идеалистам вроде вас кажется. Процесс перехода начался, но я не думаю что в ближайшие 10-15 лет на Erlang, Haskel и F# (вместе взятых!) будет создано больше ПО чем на C++...
                                        0
                                        Фортран — это прости Господи. Кошмарный язык.
                                        • UFO just landed and posted this here
                                      +2
                                      Теперь каждому верстальщику для работы будет положено пакет шмали. А как иначе? ;-)
                                        +3
                                        конкуренция этих двух форматов неизбежна в любом случае.
                                        если они не будут объединены в единый формат, задержка развития обмена информацией в сети, вызванная еб@ным IE6 покажется детско-индийской шалостью...

                                        оба формата содержат такие вкусности, которые хочется видеть в ЕДИНОМ формате.

                                        вред полиформатности уже давно виден даже ёжикам из тумана. очень жаль, что мудазвоны очень умные дяди из W3C этого не понимают.
                                          0
                                          Простите за занудство, не формат, а стандарт. А с мнением согласен. Если будут спрашивать знакомые, на кого идти учиться, ни разу не посоветую профессию верстальщика, т.к. людей жалко.
                                          • UFO just landed and posted this here
                                              0
                                              чтож, будем надеяться, что войны не будет, благодаря вредителям умным дядям из Майкрософт.
                                            0
                                            По моему мнению, лучше бы они взяли за основной стандарт XHTML 2.0, но добавили к нему API для web-приложений из HTML 5.0. То, что XHTML сложнее - это тоже не проблема, если у верстальщика мозги есть.

                                            Единственная радость, что к выходу этих стандартов старые браузеры должны будут отмереть, а новые отображать страницы как положено, а не как на душу придется. Может, в кои-то веки, верстальщику не придется "костылями" придурь разработчиков браузера исправлять.
                                              0
                                              Про XHTML 5.0 — ни слова.
                                              http://xhtml.com/en/future/x-html-5-versus-xhtml-2/
                                                0
                                                что такое XHTML 5.0? по той ссылки пишут X/HTML 5.0 и подрозумевают HTML 5, а вы о чём?
                                                  0
                                                  А нет XHTML 5.0. Когда whatwg'шники начали так называть XML-вариант своего стандарта, разработчики XHTML 2.0 возмутились: HTML 5 не только не является развитием XHTML 2.0, но даже лишён возможностей XHTML 1.1. И, помнится, приняли нотацию HTML5x.
                                                  • UFO just landed and posted this here
                                                  0
                                                  Афтор пропустил букву: "...разработчиков XHTML 2.0 не контролирует эту тЕхнологию, а только..."
                                                    0
                                                    спасибо, поправил.
                                                    +1
                                                    Спасибо за проделанную работу, в смысле автору топика риспект за перевод.
                                                    Думаю, что нельзя не согласиться с высказываниями комментаторов, которые хотели бы увидеть один, унифицированный язык. Действительно было бы супер классно, если бы можно совместить, как по мне, более семантически правильную и менее замусоренную разметку XHTML2.0, и весьма нужное и полезное решение с API в HTML5.0 - в результате мог бы получиться идеальный язык для разметки в web.
                                                    Но, к сожалению, перед нами яркий пример того, что конкуренция не всегда порождает здравые идеи. Вернее идеи на начальном этапе были вполне здравые, но разработчикам не хватило здравого смысла, для того, что бы пойти на компромис и не опошлить всю идеому стандартов как таковых.
                                                    Еще раз спасибо автору за перевод. Поставлю у себя на stand-alone блоге. Если есть ссылка на ваш, давайте - обязательно поставлю.
                                                      0
                                                      Блог мой пока не запущен, но как только это свершится, обязательно поделюсь линком=)
                                                      0
                                                      Рассчитывал на что-то действительно новое в разметке. Получилось только изменение названий некоторых тегов и убирание тех тегов, которые и так давно никто не использовал. Зато большое спасибо, что обратили внимание на убогую реализацию форм и инпутов.

                                                      Вот только еще лет пять не сможем юзать плоды эволюции.
                                                      • UFO just landed and posted this here
                                                          0
                                                          Вам плюс. Разработчикам жирный минус. Теперь у нас будет и Лебедь и Рак. А щука IE6 незабвенный.
                                                            0
                                                            А IE8?
                                                              0
                                                              ну IE8 по сравнению с IE6 - это огромный шаг вперед. Правда пока ещё не вышел из беты и поэтому подглючивает... но всё же это получше чем IE6.
                                                              • UFO just landed and posted this here
                                                            • UFO just landed and posted this here
                                                              0
                                                              Зачотные обещания. Если еще и обойдется без «войн стандартов» — вообще порадуюсь.
                                                                –2
                                                                Семантика и "отделение контента от представления" — это конечно хорошо, да вот только по-большому счету это никому не надо на данном этапе развития интернета в России. Заказчику (да и большенству пользователей) чаще всего пох, что там у верстальщика в коде: одни таблицы, одни дивы, сематическая верстка... Им нужно, чтобы сайт не разъезжался в браузере ("а что кроме ie еще что-то есть? а зачем??" >)) и сделано было в срок.

                                                                Сейчас HTML-верстальщик — это всего лишь какое-то звено между ДИЗАЙНЕРОМ и ПРОГРАММИСТОМ (человек из разряда подсобных рабочих) и пока народ не поймет, что это все не просто нарезка картинок, вещи а ля XHTML2 остануться очередной игрушкой тех, кому это надо.
                                                                  0
                                                                  Всё вышеизложеное — это всего лишь мое личное мнение, с которым я сам не очень-то и хочу соглашаться.
                                                                  0
                                                                  Ничего толком и не изменилось. Теги как были тегами так и остались...
                                                                  Все эти нововведения ХТМЛ это попытка стандартизировать процесс верстки и ничего больше. <div class="menu"> всего лишь преопределится в <nav>
                                                                  В коце концов все браузеры будут поддерживать и HTML 5 и XHTML 2.0. И как всегда будет воина между HTML 5 и XHTML 2.0, как это сеичас идет между дивами и таблицами.
                                                                    0
                                                                    Сейчас никакой войны нет, еслть только фанатики морщащие лицо при виде тега table но и то и другое можно использовать как дуже вздумается. А то, что описано в статье — настоящий раскол.
                                                                    +1
                                                                    Прошу автора не обижаться за этот совет, но прежде чем переводить статью стоит иногда погуглить, не сделал ли кто-то этого до вас.
                                                                    XHTML2 против HTML5.
                                                                      0
                                                                      Перевод делался не сегодня и не вчера, и на тот момент указанного Вами поста еще не существовало. Ну а так, как на хабре я по этой теме нашел мало, решил запостить=)
                                                                        0
                                                                        Неужели около трех месяцев переводили? 0_0
                                                                          0
                                                                          нет конечно, он столько обрастал пылью на моем винте.
                                                                      0
                                                                      Что-то чую я, что HTML5 будет внедрен раньше XHTML2. Так сказать, по просьбам трудящихся, не осиливших прочтение всех стандартов, на которые ссылается XHTML2.

                                                                      Кажется, XHTML2 предназначается уже чисто для верстальных программ, ну или киборгов.
                                                                      • UFO just landed and posted this here
                                                                        +3
                                                                        Товарищи, о чем вы тут собачитесь? О том, что два стандарта в будущем - это плохо и будет еще хуже?
                                                                        Отнюдь! По-моему, все развивается правильно.

                                                                        HTML5 станет основой для веб-приложений, "личных кабинетов" и прочих бэкэндов: вместе с ним станет возможно проще построить более качественный интерфейс.

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

                                                                        Другими словами: HTML5 - по большей части для пользователей, XHTML2 - по большей части для машинной обработки.

                                                                        И кстати, никто же не заставляет вас делать полностью весь сайт только на одном стандарте разметки: часть вы можете сделать в HTML5, часть в XHTML2.

                                                                        Комбинируйте технологии! Иногда можно сотворить такой микс, от которого перехватывает дыхание! Так давай те же делать этот грандиозный веб!
                                                                          0
                                                                          Мне кажется в будущем всё случится так, как случится и нефиг гадать. ЛУчше станет точно =)

                                                                          А ещё порог на вхождение в эту сферу деятельности скорее всего повысится, так что радуйтесь. Конкуренция будет интереснее
                                                                            0
                                                                            Личное мнение: W3C пора вообще растрелять. Все, что она сделала - это обеспечила будущие холивары между стандартами XHTML 2 и HTML 5 и даже любителей старых XHTML/HTML 4.1. Вкусности разместили по обе стороны, прекрасно.

                                                                            Вопрос: мы, наконец, сможем использовать СВОИ теги вместо предопределенных? Или все, что сделала W3C, это переименовала теги и добавила несколько новых, да плюс новые инпуты? Извините за эмоцианольность.
                                                                              0
                                                                              как же долго будем идти к этим стандартам :(
                                                                                0
                                                                                На мой взгляд, гораздо сильнее нужно ждать уже принятия CSS3, a HTML 4 и XHTML 1 будут в ходу ещё бесчисленное количество лет хотя бы потому, что лавинообразно растёт доля портативных устройств, которые будут использоваться ещё долго.

                                                                                По поводу семантики — я сильно неуверен, что многие из отписавшихся «апологетов» хотя бы раз делали, например, сайты для людей с ограниченными физическими возможностями, а всем остальным абсолютно до лампочки, насколько строгое смысловое выделение использовалось, <b>, <span> или <strong> — потому что выглядит оно что на экране, что на печати одинаково жирно. Ну не поддерживает IE разные степени жирности в font-weight :) А какая тогда разница? Я за <b>, пока он из deprecated не превратится в restricted.
                                                                                • UFO just landed and posted this here
                                                                                    –1
                                                                                    я не понял, тэгов и не будет ?????
                                                                                      –1
                                                                                      SARCASM и IRONY (парсер — лох)

                                                                                    Only users with full accounts can post comments. Log in, please.