Будущее HTML: Часть 1. WHATWGИсточник: IBM developerWorks Россия Эдд Дамбилл (Edd Dumbill), председатель XTech Conference
HTML - это не слишком хороший язык для разработки web-страниц. Тем не менее, этот язык давно признан хорошим языком для создания всемирной паутины. Простота изучения HTML и возможность просмотра исходного кода браузерами увеличила популярность интернета весьма удивительным образом. Привлечение консорциума W3C (World Wide Web Consortium) к стандартизации HTML обеспечило то, что все web-браузеры в большей или меньшей степени совместимы с одним и тем же диалектом один и тот же диалект. Появление CSS и связанный с этим рост web-проектов, основанных на этом стандарте как передовом опыте, предотвратило хаос в HTML и привело к улучшению условий работы как для пользователей, так и для разработчиков. Многое из этого вы, вероятно, знаете. Сложившийся в результате этого интернет, возможно, оказал положительное влияние на вашу жизнь или бизнес. Но факт остается фактом, HTML - не слишком хороший язык. Зачем, например, в HTML заголовки с H1 по H6? Кто хоть раз серьезно использовал шестиуровневую иерархию заголовков? И почему в наш век видеокарт с 3D-ускорением и сложных пользовательских интерфейсов web-страницы ограничены использованием для ввода пользовательских данных неуклюжими текстовыми полями и переключателями? Поэтому не удивляйтесь, что различные группы снова начинают разрабатывать HTML способом, который позволяет web-изданиям и web-приложениям использовать больше технологий, доступных в современном интерфейсе пользователя. Кто эти люди? В общем смысле их можно разделить на три группы. Первая группа - это те, кто использует существующие технологии, чтобы получить другой результат. Именно вокруг этого вращаются Asynchronous JavaScript и XML (Ajax): использование JavaScript и объекта браузера Остальные две группы концентрируются на будущих усовершенствованиях. W3C пропагандирует XHTML 2.0, основываясь на требованиях широкого круга разработчиков - не только тех, кто делает браузеры для рабочего стола. XHTML 2.0 рассматривается как радикальный шаг. Напротив, рабочая группа по разработке гипертекстовых приложений для интернета (Web Hypertext Application Technology Working Group, WHATWG) предлагает набор поэтапных спецификаций, которые позволяют HTML добавлять самые неотложные функции в браузер. Некоторые функции WHATWG уже реализованы в браузере Safari для Apple и в Mozilla Firefox 1.5. В наших статьях будет рассмотрена работа двух последних групп: W3C и WHATWG. Технология Ajax уже рассматривалась в других разделах сайта developerWorks (см. раздел Ресурсы). Хотя до сих пор не разразилась война стандартов на лестнице, которая привела HTML на первое место в иерархии W3C, эти две организации не всегда приходят к согласию по вопросу, в каком направлении должен развиваться HTML. Я объясню и дам оценку этим двум подходам. WHATWG, HTML 5 и Web Forms 2.0Как утверждается на web-странице рабочей группы, WHATWG - это "свободная неофициальная ассоциация производителей Web-браузеров и сторон, заинтересованных в разработке новых технологий, которая имеет целью предоставить авторам возможность писать и размещать приложения через интернет". Здесь особенно заслуживают внимания два термина: Главные деятели группы WHATWG занимаются браузерами (Mozilla, Opera), и направление их усовершенствований касается создания web- приложений . Главная спецификация WHATWG имеет кодовое имя HTML5 , но она больше известна как Web Applications 1.0 (см. раздел Ресурсы). Спецификация HTML5 предназначена для сохранения обратной функциональной совместимостии с текущим стандартом HTML, HTML 4.01, а также с XHTML 1.0, XML-версией HTML. Эта спецификация поддерживает и HTML, и XHTML модификации W3C HTML, хотя и отмечает, что реализации могут не поддерживать этих технологий. Кроме HTML5, спецификация Web Forms 2.0 (см. раздел Ресурсы) пытается решить многие из проблем, которые разработчики находят в текущем состоянии HTML-форм. Сегодняшние формы не используют многие основные функции обычных приложений для настольных компьютеров, таких как проверка корректности и функциональные виджеты. Что же входит в HTML5? Если коротко, то много всего. Спецификация Web Applications 1.0 только развивается, и некоторые из упоминавшихся функций более полно разработаны, чем остальные. Вот весьма общее описание новых функций:
Многое из описанного выше в современном интернете нашло свое воплощение в функциях, реализованных в виде единичных разработок на JavaScript. Действительно, недавний рост популярности наборов инструментов Ajax привел к распространению виджетов - измерителей, календарей и т. д. Элемент canvasТрадиционная реализация функций HTML5 -- то есть, в виде компонентов web-браузера -- сегодня ограничивается несколькими технологиями, упоминавшимися выше. Наиболее известен из них элемент Хотя язык масштабируемой векторной графики Scalable Vector Graphics (SVG) W3C уже предоставляет способ показа иллюстраций внутри браузера, Рисунок 1 предоставляет собой снимок экрана простого примера Рисунок 1. Снимок экрана интерактивного примера canvas
Чтобы получить представление о том, как программировать Листинг 1. Простой пример canvas
Поскольку объект
Время покажет, окажется ли Web Forms 2.0Номер версии спецификации форм WHATWG указывает на ее намерение создать спецификацию форм в HTML4. В противоположность спецификации web-приложений (HTML5), она находится в более зрелом состоянии. Кроме того, область применения Web Forms 2.0 более ограничена - спецификация концентрируется на усовершенствовании виджетов форм в браузере. Что добавляет эта новая редакция в формы? Помимо всего остального:
Web Forms - это менее противоречивая спецификация, чем HTML5, поэтому уже есть некоторые ее реализации:
Ответом W3C на следующее поколение форм стала спецификация XForms. XForms отличается от Web Forms 2.0 тем, что разрабатывает новую модель взаимодействия браузер-сервер на основе передаваемых документов XML. Напротив, Web Forms 2.0 представляет собой поэтапное обновление существующих моделей форм, предназначенное для того, чтобы сделать существующие формы браузеров более удобными в применении. Эти две спецификации отвечают различным потребностям, хотя явно демонстрируют некоторую общность. В выражениях спецификации Web Forms: Эта спецификация представляет собой попытку добавить некоторые функции XForms с минимальным влиянием на существующие, широко распространенные модели форм. Везде, где это соответствовало ситуации и задачам обратной совместимости, простоте написания и реализации был предоставлен приоритет над технической безупречностью. Прочие реализации
Тем не менее, спецификации Web Applications и Web Forms сегодня получают новый смысл, который, скорее всего, нельзя было предвидеть при первых попытках реализации. В последние месяцы появилось несколько полнофункциональных проектов разработки инструментов интерфейса пользователя для web-приложений. В этих реализациях используется HTML и такие технологии, как JavaScript или Flash. Многие из разработчиков проектов, возможно, согласятся с мнением, что нет смысла снова изобретать колесо, и будут рассматривать аспекты спецификаций WHATWG как средство для стандартизации, например, своих реализаций форм. ЗаключениеСпецификация Web Forms 2.0, в силу очевидной потребности в ней и полноты самой спецификации, получила хорошую возможность найти реализацию и пройти свой путь к признанию общим стандартом. Действительно, спецификация Web Forms 2.0, переданная на рассмотрение в W3C, была расценена как утверждение положения и компоновочный блок от сотрудников WHATWG. Тем не менее, трудно составить отчетливую картину будущего HTML только по одной спецификации WHATWG. Некоторые части спецификации просто описывают уже существующие новшества -- Некоторые лучшие идеи, определенные в HTML5, могут оказаться устаревшими вследствие развития и роста инструментов, использующих интерфейс браузера на основе технологий Ajax. Почему разработчики должны соглашаться с ограниченным набором виджетов, определенных в документе, если они могут работать с расширяемым набором инструментов? Возможно, было бы неплохо, чтобы более функциональные web-интерфейсы прошли стандартизацию на рынке, а не в рабочей группе. Я счастлив, что наблюдаю прогресс в описанных мною повсеместно реализованных, но все еще нестандартизованных технологиях, таких как |