Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

HTML5 — путеводитель по технологии

Покупка
Артикул: 442756.03.99
Доступ онлайн
279 ₽
В корзину
Книга посвящена знакомству и незамедлительному началу использования на практике HTML5 — новому стандарту и флагману современных интернет-технологий. Все новые API (Canvas, Geolocation API, WebStorage, WebSockets, WebRTC, WebGL IndexedDB и многое, многое другое) рассмотрены на основе практических примеров, и большую часть из них можно использовать прямо здесь и сейчас. Книга адресована веб-программистам, веб-верстальщикам, ведущим веб-проектов и вообще всем, кто имеет отношение к интернет-разработке. Мы можем относиться к новому стандарту как угодно, это не важно — важно понимать: HTML5 — это уже не будущее, это настоящее. И не приняв его, мы рискуем застрять в ХХ веке. Это, может, и не самое плохое время, но если мы работаем с информационными технологиями — давайте жить и творить сегодня! Для хорошего понимания материла желательны знания HTML/DHTML/JavaScript и общее представление об устройстве Всемирной сети.
Сухов, К. К. HTML5 — путеводитель по технологии : практическое руководство / К. К. Сухов. - 2-е изд. - Москва : ДМК Пресс, 2023. - 353 с. - ISBN 978-5-89818-532-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107209 (дата обращения: 03.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
HTML5 –

путеводитель по технологии

Москва, 2023

К. Сухов

2-е издание, электронное
УДК 004.738.5:004.4HTML5
ББК 32.973.202-018.2
С89

С89
Сухов, Кирилл Константинович.

HTML5 — путеводитель по технологии / К. К. Сухов. — 2-е изд., эл. — 
1 файл pdf : 353 с. — Москва : ДМК Пресс, 2023. — Систем. требования: 
Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный.


ISBN 978-5-89818-532-9
Книга посвящена знакомству и незамедлительному началу использования на 
практике HTML5 — новому стандарту и флагману современных интернет-технологий. 
Все новые API (Canvas, Geolocation API, WebStorage, WebSockets, WebRTC, 
WebGL IndexedDB и многое, многое другое) рассмотрены на основе практических 
примеров, и большую часть из них можно использовать прямо здесь и сейчас. Книга 
адресована веб-программистам, веб-верстальщикам, ведущим веб-проектов и 
вообще всем, кто имеет отношение к интернет-разработке. 
Мы можем относиться к новому стандарту как угодно, это не важно — важно 
понимать: HTML5 — это уже не будущее, это настоящее. И не приняв его, мы рискуем 
застрять в ХХ веке. Это, может, и не самое плохое время, но если мы работаем с 
информационными технологиями — давайте жить и творить сегодня!
Для хорошего понимания материла желательны знания HTML/DHTML/
JavaScript и общее представление об устройстве Всемирной сети.

УДК 004.738.5:004.4HTML5 
ББК 32.973.202-018.2

Электронное издание на основе печатного издания: HTML5 — путеводитель по технологии 
/ К. К. Сухов. — Москва : ДМК Пресс, 2014. — 352 с. — ISBN 978-5-94074-997-4. — Текст : непосредственный.


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

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.


ISBN 978-5-89818-532-9
©  Сухов К., 2014
© Оформление, ДМК Пресс, 2014
Содержание

Введение .......................................................................................... 7

Будущее www – какое оно? .......................................................... 8

История вопроса ............................................................................. 9
Актуальность стандарта .................................................................. 9
XHTML – стандарт для стандартизаторов ........................................ 9
За пределы разметки – ActiveX, Java, Flash .................................... 12
Рождение HTML5 ........................................................................... 14

RIA .................................................................................................... 16
Microsoft Silverlight ........................................................................ 17
Adobe Flex ..................................................................................... 19
JavaFX ........................................................................................... 21
Google Native Client ........................................................................ 23
RIA и HTML5 .................................................................................. 24

HTML5 сегодня  ............................................................................. 25
О браузерах .................................................................................. 26
Проверять возможности, а не версии ............................................ 26
Moz-, webkit- и прочие  vender-грабли ........................................... 27
Modernizr – бархатный путь в HTML5 ............................................. 29

HTML – это теги ............................................................................. 35
Структура страницы ...................................................................... 35
Воплощение концепции семантической разметки  ........................ 37
Всякие полезности ........................................................................ 42
Атрибуты и аксессуары ................................................................. 46
Атрибуты data-* ............................................................................. 50
Отречемся от старого мира (что выбросили, что изменили) .......... 51

HTML5-формы – о чем мы мечтали ......................................... 55
Новые поля ввода .......................................................................... 55
INPUT... а OUTPUT? ........................................................................ 62
Не только разметка – объект ValidityState и другие ........................ 64

HTML5 Accessibility – всего лишь доступность 
(ARIA, WCAG) .................................................................................. 68
WCAG – рекомендации, которые никто не слушал ......................... 68
WAI-ARIA – перманентно временное решение, которое работает .... 71
Проблемы доступности ............................................................ 72
Содержание

ARIA-роли ...................................................................................... 73
Абстрактные роли (Abstract Roles)  ........................................... 73
Роли – виджеты (Widget Roles) .................................................. 74
Роли структуры документа (Document Structure Roles) ............. 75
Роли разметки (Landmark Roles) ............................................... 76
Состояния и свойства объектов – ARIA-атрибуты .......................... 77
Атрибуты виджетов .................................................................. 77
Атрибуты для Live Region .......................................................... 77
Атрибуты перетаскивания (Drag-and-Drop) .............................. 78
Атрибуты отношений ................................................................ 78
Применение WAI-ARIA  ................................................................... 80

Web с нечеловеческим лицом (микроформаты 
и микроданные) ............................................................................ 81
Когда тегов не хватает ................................................................... 81
Микроформаты ............................................................................. 82
Технология RDFa ........................................................................... 85
Микроданные ................................................................................ 89
Microdata DOM API ......................................................................... 96

Canvas – холст для рисования на веб-странице ................... 97
Черный ректангл ........................................................................... 97
Использование примитивов .......................................................... 99
Начинаем рисовать ..................................................................... 103
Работа с изображениями ............................................................ 111
За каждый пиксель! ..................................................................... 117
Трансформации .......................................................................... 119
Интерактивность и анимация ...................................................... 122
Свой Paint .............................................................................. 122
Как нам организовать анимацию? .......................................... 124
Play the Game! ............................................................................. 127
Библиотеки для работы с Сanvas  ................................................ 130

SVG – векторная графика в www .............................................133
Рисуем тегами ............................................................................ 133
Кривая вывезет ........................................................................... 138
Группируй и властвуй .................................................................. 143
Усложняем жизнь – элементы symbol и image .............................. 145
SMIL – язык анимации SVG .......................................................... 147
Библиотеки для работы с SVG ..................................................... 150
Canvas vs SVG .............................................................................. 151

WebGL – врываемся в третье измерение ............................. 153
Браузеры и драйверы .................................................................. 153
Шейдеры .................................................................................... 159
Наконец-то 3D ............................................................................. 164
Содержание

Теперь в движении ...................................................................... 166
Объем ......................................................................................... 168
Текстура и освещение ................................................................. 171
Инструментарий для работы с WebGL ......................................... 179

Храним данные на клиенте  – 
WebStorage/WebSQL/WebNoSQL ............................................ 184
WebStorage – хранилище «ключ/значение» в браузере ................ 184
WebSQL – реляционная база данных на веб-странице ................. 185
IndexedDB – NoSQL в вебе ........................................................... 187

AppCache – управляем кэшированием вплоть 
до полного offline! ...................................................................... 193

File, FileSystem и полный drag’n’drop .................................... 196
File API – Ура! Свершилось! ......................................................... 196
FileSystem API .............................................................................. 200
Все это drag’n’drop! ..................................................................... 205

Сервер, я здесь ........................................................................... 215
Server-Sent Events – сервер тебя не оставит ................................ 216
Web Messaging – легальный XSS .................................................. 219
XMLHttpRequest 2 ........................................................................ 223

Звуки audio ................................................................................... 227
MediaElement – медиаплеер на HTML .......................................... 229
WebAudioAPI ................................................................................ 234

Video............................................................................................... 240

WebRTC – коммуникации через веб-страницу .................... 243

Geolocation API. Непростой вопрос собственного 
местонахождения ....................................................................... 250
Где это я? .................................................................................... 250
Позиционируем с помощью Google Maps .................................... 252
Откуда? ....................................................................................... 253
Вглубь Geolocaton API .................................................................. 254

WebWorkers – судьба сетевого пролетариата .................... 257
Параллельные вычисления 
на веб-странице  ......................................................................... 257
Sharedworker’ы – надо делиться  ................................................. 263

WebSockets – забудем про HTTP? .......................................... 267
Web Sockets – TCP для веба ......................................................... 267
WebSocket-серверы .................................................................... 269
Работаем с phpDaemon ............................................................... 270
Содержание

Web Intents – средство общения приложений .................... 278

Web Speech API – счастье, когда тебя понимают 
(распознавание речи на веб-странице) ................................ 282
Поговорим с веб-интерфейсом ................................................... 282
Ничего не получается! Ошибки .................................................... 288
Родная речь ................................................................................ 290
А поговорить? SpeechSynthesis ................................................... 291

MathML – история с математикой .......................................... 294
Введение в MathML ..................................................................... 294
Presentation MathML – разметка представления .......................... 298
Content MathML – «содержательная» разметка ............................ 305
А теперь все вместе! (Cмешанная разметка) ............................... 309

Прочие полезные вещи ............................................................. 312
События колесика мыши ............................................................. 312
Full-Screen API ............................................................................. 313
Состояние onLine ........................................................................ 314
Page VisibilityAPI .......................................................................... 314
History Api .................................................................................... 315
RequestAnimationFrame – решение проблем 
JavaScript-анимации ................................................................... 317
Prerendering – отрисовываем страницы заранее ......................... 318
Selectors API – простой синтаксис доступа к DOM-элементам  .... 319
Расширения DOM  ....................................................................... 320
Web Notifications API – настоящие pop-up’ы ................................. 320
Mouse Lock/Pointer Lock  API ........................................................ 323

Vibration API есть? А если найду?
HTML5 для мобильных устройств ........................................... 325
Battery Status – API, продиктованный жизнью .............................. 325
А как насчет ориентации? Device Orientation API .......................... 327
Ориентация экрана – объект Screen и его Orientation API ............. 332
«I'm pickin' up good vibrations» – Vibration API ................................ 334
Теплый ламповый API – Ambient Light Events ................................ 334
Proximity Events – они уже рядом ................................................. 335
Network Information API ................................................................ 336

Mozilla WebAPI – будущее наступило? .................................. 338

Приложение 1. Ресурсы для работы 
с HTML5-технологиями ............................................................. 342

Приложение 2. Спецификации W3C, имеющие 
отношение к HTML5-технологиям .......................................... 343

Предметный указатель ............................................................. 345
Введение

Писать о технологии, стандарты которой не утверждены, просто 
здорово. Можно дать волю своей трактовке концепций, можно порассуждать 
о перспективах и  еще не реализованных возможностях... 
Все это, наверное, заманчиво, может даже слишком заманчиво, судя 
по количеству  появившихся в  последнее время публикаций по 
HTML5, перспективы утверждения спецификаций которого лежат 
еще не в очень близком будущем.
Конечно, огромный интерес к новой технологии – это хорошо. 
Плохо другое – многие из вышедших за последнее время книг 
подробно рассказывают об истории языка разметки, затем более 
или менее подробно освещают два-три нововведения (обычно это 
canvas, семантическая разметка и, разумеется,   video) и... и все. Толку 
от этих, зачастую повторяющих друг друга публикаций для разработчика 
немного. Именно это обстоятельство и заставило меня 
попробовать создать такой материал, который мне самому (как веб-
разработчику) был бы максимально полезен.
Цель написания этой книги – в том, чтобы любой программист, 
работающий в области интернет-технологий, мог быстро ознакомиться 
с новым для себя API или технологией (WebStorage,  App-
Cache, WebRTC, Geolocation API, FileSystem API – в HTML5 их 
множество), разобрал примеры кода и немедленно приступил к работе, 
творя новый, прекрасный веб будущего!
HTML5 – это уже не язык разметки, это сумма технологий, предоставляемых 
современными браузерами, каждая из которых привносит 
в существующий веб что-то новое. В книге дается описание 
тех из них, которые уже доступны в настоящее время. На каждое 
решение, каждое API дается пример работающего кода.
По мере возможности рассматриваемые технологии тематически 
сгруппированы в рамках одного направления.
В приложении перечислены спецификации консорциума W3C, 
находящиеся в той или иной степени готовности, регламентирующие 
упомянутые технологии.
Будущее www – какое оно?

Июньским вечером 2004 года представители консорциума W3C покидали 
зал заседаний в г. Сан-Хосе (северная Калифорния) в хорошем 
настроении. У них было на это основание. Два дня прошли 
в жарких дебатах, но здоровый консерватизм и академизм победил – 
в результате анонимного голосования 14 голосами против восьми 
было признано нерациональным предложение представителей веб-
индустрии о пересмотре спецификаций HTML и DOM в сторону 
расширения. На встрече присутствовали представители Microsoft, 
Mozilla Foundation и Opera Software, ведущих на тот момент производителей 
браузеров. Они пытались донести до собравшихся свое 
видение веба будущего, но проиграли.
Естественно, уважаемые представители W3C тогда не подозревали, 
что основным следствием их решения станет серьезный подрыв 
авторитета консорциума и что жизнь и реальные подробности веб-
общественности уже очень скоро возьмут свое. Мы еще вернемся 
к продолжению этой истории, а пока давайте посмотрим, что же 
такого революционного предлагали производители браузеров.
Сам исторический вопрос звучал следующим образом: Should the 
W3C develop declarative extension to HTML and CSS and to address 
medium level Web Application requirements, as opposed to sophisticated, 
fully-fledged OS-level APIs? (Должен ли W3C развивать декларативное 
расширение HTML и CSS и обязательно дополнять DOM для 
решения требований среднего уровня веб-приложений, в отличие от 
сложных API уровня ОС?)
От чего же отказались уважаемые члены консорциума и каких 
именно изменений хотели «практики»? Все было довольно просто. 
В существующем виде HTML перестал удовлетворять запросам пользователей 
www, и производители браузеров знали, что делать, чтобы 
исправить ситуацию. Введение пары или пары десятков новых тегов 
тут положение не спаса ло. Веб нуждался в новой функциональности, 
новых возможностях, которые включали бы в себя простые способы 
отображения мультимедиа-контента и графики, возможности гео-
локации, средства для создания умных интерактивных приложений, 
расширенные средства коммуникации и многое, многое другое.
Самое обидное было то, что технические средства для решения многих 
из этих задач к тому момен ту уже были. Впрочем, для лучшего понимания 
вопроса нам придется разобраться в ситуации чуть подробней.
История вопроса

Я честно не хотел писать какой-либо исторический очерк и ковыряться 
в перипетиях развития стандарта, но после некоторых колебаний 
понял, что знание истории поможет лучше понять подходы и 
концепции HTML5. Правда, я совершенно не готов (главным образом 
не на уровне эрудиции, а морально) начинать с Тима Бернерса-
Ли и NCSA Mosaic. Лучше начнем с HTML 4, спецификация которого 
была утверждена в декабре 1997 года. 

Актуальность стандарта

Да-да, если не считать некоторых изменений, внесенных два года 
спустя, мы все еще живем и делаем сайты по стандартам, утвержденным 
в середине 90-х. За это время произошло просто колоссальное 
количество событий. Я не имею ввиду кризис в Югославии, отставку 
Ельцина, войну в Ираке и прочие мелочи. У нас, в веб-индустрии, 
прошла целая эпоха – закончилась и снова началась война браузеров, 
серверы заполонила архитектура LAMP, php стал самой популярной 
и самой презираемой технологией в веб, пришел ajax, а с ним 
и web 2.0 (который, правда, уже понемногу забывают), появился 
этот кошмар под общим названием социальные сети, higload, REST, 
COMET,  NoSQL... Наконец, веб проник на мобильные устройства, 
причем на такие, которые в 90-х можно было увидеть разве что в сериале 
Star Track. И вот при всем при этом мы все еще живем при 
 HTML 4.0. Ну, хорошо, на самом деле на 4.01, но кто-нибудь с ходу 
вспомнит разницу?

 XHTML – стандарт 
для стандартизаторов

Впрочем, нельзя сказать, что все это время люди, отвечающие 
за стандарты, сидели сложа руки. Строго говоря, HTML является 
одной из реализаций  SGML (стандартного обобщенного языка разметки – 
стандарт ISO 8879), причем реализацией добровольно примитивной – 
одно только описание стандарта SGML представляет 
собой 40-мегабайтный PDF-документ. И первое, что пришло в голову 
разработчикам консорциума W3C, – представить язык разметки 
веб-страниц в более упорядоченном и структурированном виде, приведя 
его к другому производному от SGML стандарту, получившему 
к тому времени широкое распространение расширяемому языку 
разметки  XML. В результате на свет появился стандарт XHTML 
(Extensible Hypertext Markup Language – расширяемый язык разметки 
гипертекста). Основные отличия его от HTML можно перечислить 
в нескольких пунктах:
 
все теги (основные элементы HTML/XHTML) должны быть 
закрыты. Даже не имеющие закрывающего тега изначально. 
В XHTML, например, элемент <img> станет таким: <img />;
 
все имена тегов и атрибутов должны быть записаны строчными 
буквами (никаких <BODY><HEAD></HEAD>, только так: <body>); 
 
все атрибуты обязательно заключаются в кавычки;
 
булевы атрибуты записываются в развернутой форме. Например:

<
input type ="checkbox" checked="checked" />;

 
все служебные символы, не относящиеся к разметке, должны 
быть заменены HTML-сущностями. Например: < на &lt; а & 
на &amp. 
Кроме того, XHTML-документ должен подчиняться правилам ва-
лидации обычного XML: допустимо существование только одного 
корневого элемента, не принимается нарушение вложенности тегов 
(например, конструкции вида <a><i>Text</a></i>, вполне позволительные 
в HTML).
Впрочем, самое главное отличие заключалось не в синтаксисе 
а в отображении XHTML-документа браузером. При встрече браузером 
значения поля content-type в заголовке http паркета, равного 
application/xhtml+xml, документ обрабатывается xhtml-парсером, 
аналогично обработке XML-документа. При этом ошибки в документе 
не исправляются. Согласно рекомендациям W3C, браузеры, 
встретив ошибку в XHTML, должны прекратить обрабатывать документ, 
выдав соответствующее сообщение.
Спецификация XHTML 1.0 была одобрена в качестве рекомендации 
консорциума Всемирной паутины в январе 2000 года. В августе 
2002 года была опубликована вторая редакция спецификации –  
XHTML 1.1. Параллельно полным ходом началась разработка 
XHTML 2.0, призванного стать новым уровнем представления документов 
во Всемирной сети. Разработчики пошли на довольно смелый 
шаг – нарушение обратной совместимости, но нововведения, 

История вопроса
которые они собирались внести, стоили того. XHTML 2.0 содержит 
спецификации Xforms, Xframes, призванные заменить стандартные 
HTML-формы и фреймы соответственно, ML Events – API для 
управления DOM-структурой документа, встроенную поддержку 
модулей Ruby character и многое другое. Работа шла полным ходом, 
но было несколько обстоятельств, совершенно не радующих авторов 
спецификаций. Если коротко,  XHTML просто не получил должного 
распространения.
Во-первых, огорчали веб-разработчики, которые после вольницы 
HTML никак не хотели принимать новые правила в полном объеме. 
Расставлять в нужном месте кавычки и сущности оказалось просто 
непосильной задачей. Что там говорить про XHTML, если и со стандартами 
HTML4 веб-верстальщики обходились достаточно вольно. 
И что самое возмутительное – производители браузеров активно 
им в этом потакали!
И именно в этом заключалась вторая проблема. На самом деле все 
довольно понятно – те, кто делали браузеры, просто не могли допустить, 
чтобы какой-либо значимый контент в них был не доступен 
пользователю из-за каких-то неясных принципиальных соображений, 
и, надо сказать, они были по-своему правы (ну в самом деле, веб 
нам нужен для общения с миром, а не для т ого, чтобы все атрибуты 
были снабжены кавычками!). В результате наиболее популярные 
браузеры имели два режима отображения XHTML-документов, причем 
по умолчанию обычно работал «нестрогий» режим, при котором 
огрехи в разметке милосердно прощались. Хуже того, безусловно, 
самый распространенный на тот момент браузер Internet Explorer 
вообще не реагировал на MIME-тип application/xhtml и не имел 
в своем сост аве парсера обработки XHTML-документов вплоть до 
восьмой версии. 
Главная причина неудачи повсеместного внедрения XHTML довольно 
проста. Строгие правила валидации, атрибуты, взятые в кавычки, 
закрытые одиночные теги... все это, может, и хорошо, но нужны 
эти тонкости в основном самим разработчикам и блюстителям 
стандарта, но никак не пользователям, которым, строго говоря, дел 
нет до всех этих тонкостей. И никак не создателям веб-контента, 
которым эти правила попросту ничего не дают, кроме несильной 
головной боли. В общем, сложилось что-то вроде революционной 
ситуации – создателям стандарт не нужен, а потребителям он не 
нужен тем более. А что всем им было нужно? Живой интерактивный 
веб-контент, воплощающий социальные потребности современного 

XHTML – стандарт для стандартизаторов
человека. Плоский мир HTML с этим справлялся плохо, и к концу 
90-х на веб-странице появились не относящиеся к языку разметки 
компоненты.

За пределы разметки – ActiveX, Java, 
Flash

Попытки выйти за пределы возможностей HTML начались всего 
через два года после появления браузера Mosaic. На следующий год 
после появления W3C – в 1995 г. – Sun Microsystem вместе с первой 
версией платформы Java представила технологию Java Applets – 
прикладных программ, чаще всего написанных на языке Java в форме 
байт-кода и выполняемых в браузере посредством виртуальной 
Java-машины (JVM).
Технологически это работает следующий образом: апплет (скомпилированная 
в байт-код Java-программа) встраивается в HTML-
разметку с помощью специального тега <applet> (в настоящее время 
он признан устаревшим) или более современного <object>. Код апплета 
загружается с веб-сервера и исполняется браузером в «песочнице». 
Такой подход позволяет привнести в браузер значительную 
часть мультимедийных, интерактивных и коммуникационных возможностей 
Java.
К достоинствам апплетов можно отнести кроссплатформенность 
(они будут исполняться везде, где установлена JVM).
Недостатков у технологии довольно много, прежде всего это необходимость 
Java-плагина для браузера. Они прочно завязаны на JVM 
и страдают от связанных с подобными приложениями проблем с совместимостью 
версий и безопасности. Впрочем, причина, по которой 
Java Applets так и не получили большого распространения, скорее, 
в другом – для их работы необходим запуск JVM, а это совсем не 
добавляет скорости исполнения и производительности. 
В 1996 году компания Microsoft представила свое расширение для 
возможностей веб-страниц – технологию ActiveX. Это было развитие 
Component Object Model (COM) и Object Linking and Embedding 
(OLE). Компонент ActiveX встраивается в веб-страницу с помощью 
тега <object>, он исполняется операционной системой, и вся модель 
работы, основанная на COM, диктует их применение только на операционных 
системах семейства Windows. Благодаря этой же модели 
сами компоненты могут быть разработаны на любом языке программирования, 
поддерживающем Component Object Model.

История вопроса
ActiveX позволяет браузеру Internet Explorer запускать другие 
приложения – например, Media Player или Quicktime. В ограниченном 
объеме компонент имеет доступ к другим возможностям 
операционной системы. Но все это, разумеется, только на платформе 
Microsoft Windows и только с помощью обозревателя от той же 
компании.
Самое применяемое и самое успешное на настоящий момент расширение 
возможностей веб-страни ц началось с разработки небольшой 
компании FutureWave, FutureSplash Animator, представляющий 
собой пакет анимации в векторном формате. В 1996 году FutureWave 
была приобретена компанией Macromedia, и продукт под названием 
Macromedia Flash начал завоевывать Интернет. 
Для работы Macromedia Flash браузеру требовался специально 
устанавливаемый плагин, но технология оказалась настолько удачной, 
что это не стало препятствием к ее распространению.
Наверное, нет нужды рассказывать, где применяется флэш сегодня, – 
это рекламные баннеры, анимация, игры, а также воспроизведения 
на веб-страницах видео- и аудиоконтента. В некоторых 
областях до недавнего времени у флэша просто не было альтернатив. 

Браузерный плагин Flash Player представляет собой виртуальную 
машину, на которой выполняется загружаемый из Интернета код 
flash-программы.
Анимация во Flash реализована через векторный морфинг, то есть 
плавное «перетекание» одного ключевого кадра в другой. Это позволяет 
разрабатывать сложные мультипликационные сцены через от-
рисовку нескольких ключевых кадров. Для реализации логики Flash 
использует язык программирования, основанный на ECMAScript.
Впрочем, технология тоже не свободна от недостатков. Прежде 
всего это значительная нагрузка на процессор, связанная с реализацией 
флэш-плеера, разные затруднения при воспроизведении флэш-
контента на платформах, отличных от Windows. Большую проблему 
представляет недостаточный контроль ошибок, приводящий зачастую 
к праху браузера при сбое в приложении.
Кроме того, содержимое флэш-ролика недоступно для индексирования 
поисковыми системами, что в наше время может послужить 
приговором любому ресурсу.
Тем не менее Macromedia Flash в ряде случаев является единственным 
реальным способом воплотить в вебе разнообразное интерактивное, 
мультимедийное. Вернее, являлся. До HTML5.

За пределы разметки – ActiveX, Java, Flash
Рождение HTML5

И вот мы подошли к моменту, с которого начали свое повествование, – 
историческое голосование в июне 2004 года, о содержании 
и итоге которого уже говорилось. Резюме семинара гласило: 
«В настоящее время W3C не намерен предоставлять любые ресурсы 
сторонней теме неофициального опроса: расширение HTML и CSS 
для веб-приложений, помимо технологий, разрабатываемых в соответствии 
с уставом текущей Рабочей группы W3C». После этого 
World Wide Web Consortium мог, не отвлекаясь, сосредоточиться на 
будущих разработках XHTML 2.0, а представители веб-сообщества... 
Нет, они не опустили руки и не смирились с такой ситуацией. 
Уже в этом месяце был зарегистрирован домен whatwg.org, так родилась  
организация WHAT Working Group, которую основали уже 
упомянутые производители браузеров: Apple, Mozilla Foundation и 
Opera Software.WHATWG – рабочая группа по разработке гипертекстовых 
приложений для веб (Web Hypertext Application Technology 
Working Group), это свободное, неофициальное и открытое сотрудничество 
производителей браузеров и заинтересованных сторон. 
Направление работы этой организации – разработка спецификаций 
на основе HTML и связанных с ним технологий.  Предполагалось, 
что работы WHATWG по формальному расширению HTML 
должны стать основой новых стандартов. Причина создания этой 
организации была обозначена вполне откровенно – пренебрежение 
W3C к реальным потребностям пользователей. HTML уважаемый 
консорциум уже не интересовал, выбор был сделан в пользу XML. 
Вместо укладывания веба в это прокрустово ложе WHAT Working 
Group применила другой подход, уже практиковавшийся в браузе-
ростроительстве, – узаконены «нестрогие» алгоритмы отображения 
разметки, щадяще подходящие к обработке  ошибок.
В рамках WHATWG было разработано несколько спецификаций, 
объединенных в проект  Web Applications 1.0. Первый черновик WA 
был выпущен сентябре 2006 года и включал такие интересные расширения 
html, как возможность рисования (canvas), реакция на события 
сервера, встроенная поддержка аудио- и видеоконтента и многое 
другое. Кроме того, была доведена до стандартизации другая разработка – 
развитие идеи Web Forms 2.0 (изначально разрабатываемой в 
рамках  XHTM2), – добавляющая новые типы попей в HTML-формы.
Два с половиной года между  W3C и WHATWG продолжалось если 
не противостояние, то что-то вроде холодной войны. WHATWG 

История вопроса
Доступ онлайн
279 ₽
В корзину