| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Первый взгляд на HTML 5
PreambleВ статье рассматриваются новые интересные возможности, которые предоставит пятая версия стандарта HTML. Приводится несколько примеров кода с применением новых тегов, а так же поясняются понятия HTML- и XML-сериализации с описанием преимуществ применения каждой из них.Вводная «лирическая» часть текста
сокращена, т.к. она во многом пересекается с ранее опубликованным ВведениеВ ходе непрерывного развития интернета, к языку гипертекстовой разметки предъявляется все более серьезные требования. HTML 4 находился в употреблении на протяжении уже более десятка лет, и многочисленные инновации, применяемые сейчас на веб-сайтах, делают ограничения его спецификации все более ощутимыми. Веб-разработчикам давно требуется более широкая функциональность, чем та, которую может представить это стандарт.Пятая версия HTML содержит множество новых возможностей для создания интерактивных сайтов и веб-приложений, взаимодействия с формами, работы с различными программными интерфейсами, внедрения в страницы мультимедиа-контента, структурирования документов и т.д. СтруктураHTML 5 предоставляет множество новых элементов, благодаря которым структурирование веб-документов будет существенно упрощено. Множество страниц, основанных на HTML 4, содержали в себе типичные структурные фрагменты, таких как заголовок, колонки текста, нижний колонтитул и т.д. На сегодняшний день обычным решением считается определение этих блоков с помощью контейнеровdiv
с указанием для каждого из них имени соответствующего класса или уникального
идентификатора.![]() На иллюстрации приведена типовая разметка страницы с двумя колонками, сделанная с помощью контейнеров div с атрибутами class и id.
В ней содержится «шапка», горизонтальный блок навигационных элементов, блок для
основного текста страницы, вспомогательная колонка справа от него и нижний
колонтитул.Элементы div
![]() Контейнеры div заменяются в нашем примере новыми элементами:
header, nav, section, article,
aside, и footer. HTML-код при этом принимает следующий
вид:<body>Существует ряд причин отдавать предпочтение перечисленным выше новым тегам. Например, при их использовании снимается существовавшее ранее ограничение в шесть уровней заголовков ( h1-h6). В спецификации
подробно описан алгоритм
формирования оглавления, в котором не только учитываются новые структурные
элементы, но и сохраняется обратная совместимость с предыдущей версией
стандарта. Это нововведение может быть использовано для автоматической генерации
оглавлений, что упростит навигацию внутри веб-страниц.В следующем примере совместно используются контейнеры section и h1:<h1>Level 1</h1>Обратите внимание, что для лучшей совместимости с существующими браузерами, помимо h1 так же возможно использование заголовков других уровней (h2-h6).Когда предназначения секций страницы может быть автоматически определено по специфичным именам тегов, появляется возможность организации более легкой и эффективной навигации по документу. Например, пользователи смогут одним кликом проматывать оглавление, быстро переходя к содержательной части большого документа, или переходить от одной статьи к следующей. Что самое интересное, при этом становится вовсе необязательным добавление в страницу вспомогательных навигационных ссылок. Код при этом становится менее «захламлен» второстепенными деталями, без которых можно обойтись. Элемент head интерпретируется как заголовок секции. Такие
контейнеры при необходимости могут содержать не только, собственно, название,
но и подзаголовок, историю изменений, ссылку на автора и любую другую
информацию, которую логично отнести к заголовочной части.<header>Элемент footer представляет собой завершающий блок секции,
к которой относится (аналог нижнего колонтитула для страницы «бумажного»
документа). Такие блоки, как правило, содержат вспомогательную информацию
о секции. Например, ссылки на связанные материалы, информацию о правах
на копирование и т.д.<footer>© 2007 Example Inc.</footer>nav предназначен для навигационных ссылок, что полезно как для
межстраничных переходов внутри сайта, так и для внутристраничной навигации (для
организации оглавления).<nav>Контейнер aside используется для вспомогательных материалов,
например, для определения дополнительных колонок с второстепенным текстом
(сайдбаров).<aside>Элемент section интерпретируется как секция общего назначения.
Такой секцией может быть, например, параграф.<section>(в примере приведена выдержка из «Повести о двух городах» Чарльза Диккенса) article определяет независимые секции документа, страницы или
сайта. Этот элемент может использоваться для выделения новостей, сообщений
на форуме, постов или комментариев на блоге и т.д.<article id="comment-2">Аудио- и видеоматериалыВ последние годы аудиозаписи и видеоролики получили широкое распространение в интернете благодаря многочисленным сервисам, облегчающим их публикацию (YouTube, Google Video, MySpace, etc.). Из-за недостатка встроенных возможностей HTML, большинство сайтов, размещающих подобный контент, используют Flash, в качестве вспомогательного средства. Выбор этой технологии обычно обоснован тем, что Flash на данный момент имеет наиболее широкую поддержку среди браузеров, по-сравнению с альтернативными технологиями, с помощью которых можно было бы обеспечить воспроизведение мультимедиа-контента (QuickTime, Windows Media).Огромное количество мультимедиа-плееров, написанных на Flash, является подтверждением того, что разработчики чаще всего предпочитают самостоятельно формировать их интерфейс, не смотря на то, что в большинстве случаев пользователям предоставляется одна и та же функциональность (воспроизведение, пауза, перемотка и управление громкостью). Планируется, что в будущем эти функции будут поддерживаться самими браузерами, что обеспечит базовую возможность для встраивания аудио- и видеозаписей в веб-страницы, а так же возможность управлять этими элементами через DOM API. С помощью новых тегов video и audio это будет
действительно просто. Большая часть функций их API будет совпадать, с одной лишь
разницей в ориентации на воспроизведение визуального и невизуального материала.У Opera и WebKit уже есть релизы с частичной поддержкой тега video. Уже сейчас можно
загрузить экспериментальную версию браузера
Opera или последнюю еженочную сборку
WebKit для демонстрации работы приведенных ниже примеров кода. Opera имеет
поддержку Ogg Theora, а WebKit
понимает
все форматы, что и QuickTime, включая кодеки сторонних разработчиков.Самый простой способ вставки видеозаписи в веб-страницу состоит в применении контейнера video, как показано на следующем примере. Атрибут
controls предназначен для определения того, нужно ли будет отобразить
интерфейс стандартного медиаплеера или нет (в нашем случае элементы управления
воспроизведением будут отображены).<video src="video.ogv" controls poster="poster.jpg"Необязательный атрибут poster может быть использован для
определения статического изображения, отображаемого в контейнере video
до того, как начнется воспроизведение записи. Существуют форматы видео, которые
имеют аналогичную встроенную возможность (напрмиер, MPEG4), но использование
описанного выше подхода позволяет добиться этой функциональности без привязки
к конкретному кодеку.![]() Точно таким же образом можно встраивать в документы аудиозаписи с помощью элемента audio. Большинство атрибутов у тегов audio и video
совпадают, но у audio по понятным причинам отсутствуют width,
height и poster.<audio src="music.oga" controls>В стандарте HTML 5 предусмотрен элемент source для вставки ссылок на аудио- и видеофайлы в нескольких альтернативных форматах, из которых браузер сможет делать выбор наиболее предпочтительного варианта, на основе поддерживаемых им кодеков и указанных в коде типов формата контента. При использовании вложенных тегов source, атрибут src контейнеров
audio и video должен быть опущен, в противном же случае,
теги source будут проигнорированы.<video poster="poster.jpg">Для разработчиков, которые сами желают контролировать функционирование пользовательского интерфейса и обеспечивать лучшее его соответствие общему дизайну страниц, предоставлен специальный API, через который можно управлять процессом воспроизведения. В этом API определены методы play() и pause()
(смысл которых понятен из названия), а так же свойство currentTime,
которое в следующем примере используется для «перемотки» видеозаписи в начало.<video src="video.ogg" id="video"></video>(похожий пример на opera.com) Существует множество других атрибутов и функций API, помимо перечисленных в данной статье. Их подробное описание можно найти в актуальной на данный момент рабочей версии спецификации. Представление документовВ отличии от предыдущих версий HTML и XHTML, описанных в терминах их собственного синтаксиса, HTML 5 описывается согласно терминам Document Object Model (DOM). Для внутреннего представления документа браузером используется древовидная структура.Ниже приведен простейший пример структуры документа, состоящего из названия страницы, заголовка и одного абзаца текста: ![]() Такое дерево содержит в себе элемент title в контейнере head,
а так же h1 и p в body.Основная причина (и преимущество) выбора DOM для определения стандарта HTML 5 состоит в том, что сам язык в таком случае может быть описан независимо от синтаксиса. Существуют два основных типа синтаксиса, согласно которым может быть представлен HTML документ: HTML-сериализация (так же известная как HTML 5) и XML-сериализация (или XHTML 5). HTML-сериализация основана на обычном для более ранних версий синтаксисе HTML (созданном на базе SGML). Ее определение ориентировано на лучшее соответствие тому, как в действительности браузеры обрабатываю HTML. <!DOCTYPE html>Как и в предыдущих версиях HTML, некоторые теги остаются опциональными, и их наличие автоматически подразумевается. XML-сериализация использует XML 1.0 и пространства имен, так же как и XHTML 1.0. <html xmlns="http://www.w3.org/1999/xhtml">В отличие от предыдущего примера, здесь присутствует атрибут xmlns,
а так же закрывающий тег p (чье наличие в контексте XML
обязательно). Для определения разницы между сериализациями, браузеры будут
использовать значение MIME-типа. Любой документ, определенный как
text/html, должен соответствовать требованиям HTML-сериализации.
В случае же если MIME-тип имеет значение application/xhtml+xml,
должны быть удовлетворены требования XML-сериализации.Выбор подходящего типа сериализации возлагается на веб-мастера, т.к. ни один из двух возможных вариантов изначально не может считаться предпочтительным абсолютно во всех случаях. Преимущества использования HTML-сериализации:
Примечание переводчика: многие из перечисленных преимуществ так же являются и недостатками. В частности, снижение жесткости синтаксических правил автоматически провоцирует порождение небрежного, «грязного» кода. Преимущества применения XHTML-сериализации:
Содействие развитию стандартаНе смотря на то, что работа над HTML 5 идет семимильными шагами, до ее завершения остается еще немалое количество времени (по сегодняшним оценкам потребуется еще 10-15 лет). В течении этого времени, отзывы со стороны веб-дизайнеров, разработчиков CMS и браузеров, а так же иных специалистов, остаются крайне актуальными для успешного развития проекта. Инициатива всех желающих внести свой вклад в развитие HTML 5 не только приветствуется, но и активно поощряется.Вспомогательные материалы и ссылки по теме:
Рубрика: Html
Вышел MySQL 5.1.30, первый стабильный рели....
После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:
Подробнее... |
Рубрика: MySQL
| Добавлено: 28.11.2008
Тестирование параллельных программ.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Подробнее... |
Рубрика: Тестирование
| Добавлено: 28.11.2008
Архитектура AMD64 (EM64T).
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
Подробнее... |
Рубрика: Архитектура AMD
| Добавлено: 27.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|