Главная Услуги Работы Персона Юзабилити анализы
IMG тел. +7(98I) 7608865
HTML5, XHTML2 и будущее всемирной сети




ПОИСК по сайту


    Полный список статей
/ HTML5 / Версия для печати / translit / абракадабра :-)


<-предыдущая следующая ->

 
  google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru smi2.ru twitter.com Яндекс закладки text20.ru RuSpace RuSpace toodoo

Работа веб-разработчика во всемирной сети связана с уже давно устоявшимися технологиями.
HTML 4.01 был сделан рекомендацией в 1999, XHTML 1.0 (переформулирование HTML 4 в XML 1.0) стал рекомендацией в 2000, и был пересмотрен в 2002. Другими словами — фундаментом современной веб-разработки является восьмилетняя технология.

Может быть HTML 4.01 является хорошим фундаментом для веб-разработчиков, но этот фундамент может стать ещё крепче. За последние восемь лет произошло много изменений, повлиявших на то, как используется и воспринимается всемирная сеть. Мы, веб-разработчики, осознали недостатки HTML 4.01, и теперь знаем, какими способами можно улучшить этот язык разметки. Настаёт время технологий нового поколения, и они стоят нашего внимания. Нововведения коснутся каждого кто в бизнесе.

Кандидаты

W3C давно работает над XHTML2, цель которого взять на себя роль HTML 4.01 и XHTML 1.0. Новый язык появится в виде обновления или замены с улучшениями и изменением существующих семантических элементов. Ко всему прочему он может считаться полностью новым языком. Подтвердить это может тот факт, что у него совсем разные наборы правил (namespace).

HTML5 (его ещё называют Web Applications 1.0) — это технология, разработку которой ведёт WHATWG — открытое сообщество, начатое тремя из четырёх крупнейших поставщиков браузеров: Mozilla, Opera и Apple. Не надо рассматривать HTML5 как замену для HTML 4.01 или XHTML 1.0. Для этой технологии больше подходит понятие эволюции. Этот язык нацелен на обратную совместимость. Он пытается избавиться от неопределённых поведений, которые присущи HTML 4.01, путём определения этих поведений. Во время разбора страницы браузером (parsing), HTML5 предлагает обрабатывать все тэги определённым способом, чтобы не “поломать” страницу и правильно вывести её содержимое пользователю (даже если на странице есть ошибки). Параллельно HTML5 добавляет чрезвычайно необходимые семантические элементы. Они помогают улучшить валидацию форм, добавить интерактивные элементы и постоянное место хранения информации.

Сегодняшний HTML во всемирной сети

Формально, HTML 4.01 представляет собой документ в формате SGML, при этом единственные приложения, которые работают с HTML 4.01 в таком формате — это валидаторы. С другой стороны браузеры изо всех сил пытаются разобрать даже сильно искаженную страницу и представить её пользователю в доступной форме. Очень мало содержимого интернета написано на правильном HTML 4.01; большинство интернет-страниц “разбиты” и неправильно составлены, но браузерам всё равно приходиться делать разбор страниц, иначе пользователь будет выбирать тот браузер, который правильно отображает его любимые сайты.

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

Сегодняшний XML во всемирной сети

Большинство содержимого всемирной сети, написанного на XHTML выдаётся в виде “text/html”, другими словами браузеры проводят разбор страницы в виде набора обычных тэгов, а не как XML.

Одна из причин такого подхода кроется в очень жестком механизме обработки ошибок в XML. Разбор XML-документа остановится на самой первой ошибке. Это означает, что страница будет полностью недоступна в том случае, если существует хотя бы одна ошибка. Неправильное построение XML документа покажет только детали ошибки, но не её содержание. Всегда есть риск допустить ошибку даже в правильно построенном и сформированном XML-документе. Зачастую с этим можно столкнуться на страницах, где содержание не контролируется XML-инструментами с хорошей обработкой различных кодировок. Например ошибки появляются там, где посетители оставляют комментарий или запись, или где содержание появляется из внешних источников, таких как обратная связь, рекламные сервисы или какое-нибудь расширение к программе или к веб-приложению. Всё это часто приводит к появлению ошибок.

Значительной проблемой XML-документов во всемирной сети является Internet Explorer, который не поддерживает XHTML 1.0 (в виде “application/xhtml+xml”). Этот браузер поддерживает общий XML, но без какого-либо знания набора правил XHTML. У него нет знаний о семантике XHTML-элементов, и он даже не применяет таблицу стилей, которая должна применяться по умолчанию. (Есть возможность использовать XSLT для трансформации документа в HTML, но DOM ведёт себя по-разному в режиме XML и в режиме обычных тэгов. Это означает, что скрипты, работающие в одном режиме, могут полностью не работать в другом.)

XHTML 1.0 разрешает выдавать документы в виде “text/html”, но при этом они должны быть обратно совместимы в соответствии с Аппендиксом C спецификации HTML. Это означает, что документы будут обрабатываться в режиме обычного набора тэгов, а не в режиме XML. (Есть возможность выдавать документы в нужном виде для браузеров, не поддерживающих XHTML должным образом, но при этом стоит учитывать те же недостатки, что и при трансформации документов, используя XSLT на стороне клиента.)

Тот факт, что Internet Explorer не поддерживает XHTML в виде XML, и те проблемы, которые создаёт XML в случае, если не все инструменты разработчика являются именно XML-инструментами, все это снижает стимул использовать XML во всемирной сети. Плюс к этому поисковые системы не индексируют XHTML в виде XML-документов; очень мало инструментов для работы с XML; очень мало CMS или блоггерских инструментов, корректно поддерживающих XML на протяжении всего пути — от ввода информации в базу данных до генерации информации; и очень мало рекламодателей поддерживают XML.

Небольшой стимул будет, если использовать MathML, SVG и другие XML-приложения в XHTML-документах, но очень малая часть разработчиков используют XHTML как XML.

XHTML2 — это XML

А теперь самая большая проблема. Помимо всех сложностей, с которыми сталкиваются разработчики во время работы с XML-документами, XHTML2 добавляет ещё один уровень сложности. Ведь это не HTML 4.01 переформулированный в виде XML; это другой, но похожий язык, в котором добавлена, удалена или изменена семантика для очень многих элементов. Изменения направлены в нужное русло, но при этом во время разработки XHTML2 не учитывалось мнение самих веб-разработчиков. Например, вообще не адресованы проблемы и недостатки HTML 4.01 и XHTML 1.0 в области согласованности действий, локального хранения данных, или взаимодействия скриптов.

На данный момент XHTML2 является рабочим проектом. Часть этого проекта оставалась без изменений годами, поэтому этот язык всё ещё нестабилен, не готов для реализации, и плохо поддерживается четырьмя важнейшими направлениями: браузеры, поисковые системы, системы по управлению содержанием и инструменты для разработки. Ни один из крупных разработчиков браузеров не поддерживает XHTML2, и Мачей Стаховьяк (Maciej Stachowiak) из компании Apple сделал следующее заявление:

“Мы отказались принимать участие в рабочей группе XHTML2 потому, что мы не считаем технологию XHTML2 подходящей для всемирной сети.”

Web Applications 1.0 нечто больше чем HTML5

Спецификация Web Applications 1.0 (WA1) призвана обновить HTML, но это не всё, на что она способна. Она также обновляет XHTML 1.0 (под сбивающим с толку именем XHTML5), и также обновляет HTML DOM под именем DOM5 HTML. Хотя HTML 4.01 формально основан на SGML, HTML5 позволяет браузерам использовать парсеры, которые корректируют ошибки. При этом HTML5 описывает определённую не SGML модель, которая включает в себя модель коррекции ошибок. (Разбор XHTML5 производиться XML-парсером, и этот разбор осуществляется по правилам XML, а не по правилам HTML5.)

WA1 также определяет несколько программных интерфейсов (API), которые фактически являются стандартами, и добавляет несколько новых. В том месте, где XHTML2 делает XHTML улучшенным семантическим языком для описания документа, WA1 проделывает более скромную работу, но при этом улучшает возможность использовать всемирную сеть как платформу для приложений. WA1 добавляет такие вещи как хранение данных в истории браузера о последнем действии веб-приложения, локальное хранение информации, автономный просмотр, перетаскивание (drag and drop), копирование (copy and paste), повтор и отмена действия (under and redo) и другое.

В отличие от XHTML2, который никак не поддерживается браузерами, HTML5 поддерживается всеми крупными разработчиками браузеров, кроме Microsoft. Спецификация ещё не закончена, но её части на разных стадиях завершения — многие части уже реализованы. Например, элемент canvas, который поддерживается браузерами Mozilla, Safari и Opera, и который использовался во многих демонстрациях передовой функциональности.

W3C и HTML

W3C создали новую Рабочую Группу HTML, отдельно от группы, работающей над XHTML2. Рабочая группа HTML публично открыта через механизм приглашения экспертов. Будущее покажет, как это связано с работой других групп W3C. Председателями новой группы будут Крис Уилсон (Chris Wilson) — архитектор платформы Internet Explorer в Microsoft, и Дэн Коннолли (Dan Connolly) из W3C.

W3C уже приспособила много технологий (созданных WHATWG) через Rich Web Clients Activity, нацеливаясь на улучшение пользовательской стороны всемирной сети. Новая рабочая группа по HTML зависит как минимум от одной группы в этой области разработки — рабочей группы WebAPI.

Границы и связи с внешними группами, которые являются частью рабочей группы HTML, позволяют предположить, что новая рабочая группа HTML попытается использовать в виде фундамента для обновления HTML и XHTML спецификацию HTML5, или, по крайней мере, то, что WHATWG вложила в HTML5.

Что лучше для веб-разработчиков

XHTML2

Поддержка браузеров — ключевой вопрос для веб-разработчиков. У Internet Explorer нет должной поддержки технологии XHTML, и у него появляются большие проблемы, когда XHTML посылается в виде XML — проблема с кодировками, проблема с внешним источником информации, проблема обработки содержания в виде цепочки, а не правильно построенного XML, все это осложняет использование XML. Превращение документа формата HTML 4.01 или XHTML в XHTML2-документ не обязательно будет лёгким процессом. Для этого необходимо изменить структуру документа и, что является критическим, ни один из крупных разработчиков браузеров не поддерживает XHTML2.

HTML5

В большинстве случаев, чтобы сделать из документа формата HTML 4.01 документ формата HTML5, необходимо просто заменить декларацию DOCTYPE. Браузер сделает разбор страницы обычным методом в том случае, если документ не использует новые элементы или API, которые были представлены по средствам HTML5. Для большинства систем по управлению содержанием и инструментов разработки, сгенерировать HTML5 вместо HTML 4.01 будет проще простого, и новые возможности HTML5 смогут быть легко добавлены. Плюс к этому, можно эмулировать с помощью JavaScript много новых возможностей HTML5, которые не поддерживаются тем или иным браузером. Это позволит постепенно перейти от HTML 4.01 к HTML5.

Заключение

XHTML2 является семантическим улучшением технологии XHTML 1.0. Но похоже, что это не будет волновать веб-разработчиков ещё долгое время, особенно учитывая то, что Internet Explorer до сих пор не поддерживает XHTML 1.0. Пройдёт много лет, пока новая версия будет поддерживать XHTML2, тем более у нас нет никаких предпосылок, чтобы так думать.

С другой стороны, много частей HTML5 уже “пролезают” в браузеры, и если Microsoft будет принимать активное участие в разработке HTML5, то много уже хорошо отполированных возможностей будут поддерживаться браузерами за более короткий временной промежуток. Тот факт, что несколько частей HTML5 уже готовы для реализации в то время, когда разработка языка ещё продолжается, делает эту технологию доступной для частичного применения, пока поддержка браузеров не эволюционирует до того момента, когда все возможности будут полностью поддерживаться.

HTML5 — это будущее всемирной сети, поэтому мой совет — пристально следить за развитием этой технологии.

Перевод статьи: www.umade.ru Автор: Дэйвид Эндерсон (David Andersson). Оргинал на английском.

3
Создание эксклюзивных сайтов, юзибилити анализ и бесплатный анализ под запросы основных поисковых машин
Контактная информация :
тел. +7(98I) 7608865

Написать письмо на e-mail
icq 415547094  romverрейтинг на mail.ru сайта romverinbox.ru
© 1997 - 2024 romver.ru

Полная карта сайта Display Pagerank