HTML5

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
HTML5
(HyperText Markup Language)
HTML5 logo and wordmark.svg
Розширення файлу: HTML: .html, .htm
XHTML: .xhtml, .xht, .xml
MIME тип: HTML: text/html
XHTML: application/xhtml+xml, application/xml
Type code: TEXT
Uniform Type Identifier: public.html
Розробник: W3C HTML WG, WHATWG
Тип формату: Мова розмітки даних
Стандарт(и):
HTML

HTML5 — наступна версія мови HTML. До складу робочої групи з HTML 5 увійшли AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera та кілька сотень інших виробників.

Існує деяка плутанина щодо версійності, оскільки існують дві незалежні групи розробників — WHATWG та W3C.

WHATWG відмовились від принципу «версійності», в користь «вічної розробки» при прийнятті HTML специфікації.[1] Таке рішення було спричинено намаганням пришвидшити втілення стандарту в життя, тобто розробникам веб браузерів не потрібно чекати допоки вийде офіційна затверджена версія специфікації (специфікація перейде в стан recomendation), вони можуть втілювати певні частини специфікації вже зараз. Тому за версією WHATWG існує тільки одна специфікація, яка постійно розвивається — HTML.

W3C оголосили, що розробка HTML5 буде завершена в 2014-му році.[2]

Зараз ці дві групи працюють в тандемі, WHATWG пише специфікації в режимі «живого стандарту», а W3C бере ці специфікації як «знімки», й впроваджує їх у чіткі версії своєї специфікації. W3C працює значно повільніше, бо повинен забезпечувати вимоги більшого спектра користувачів, а не тільки веб браузерів.[3]

Історія[ред.ред. код]

Робота над HTML5 почалася в кінці 2003 року як доказ концепції, що можна розширити форми HTML4 багатьма можливостями з XForms 1.0, не вимагаючи змін несумісних з існуючими веб-сторінками. На цій ранній стадії, хоча проект уже був доступний для громадськості, й приймав критичні зауваження, специфікація була захищена авторськими правами Opera.

На початку 2004 року доробок був представлений спільно Mozilla та Opera на розгляд W3C на робочому обговоренні майбутнього веб-застосунків. Пропозицію було відхилено через суперечності з раніше обраним W3C напрямом еволюції Інтернету — XHTML.

Невдовзі після цього, Apple, Mozilla та Opera оголосили про свій намір спільно продовжити роботу. Було створено відкритий список розсилки й проект було перенесено на сайт WHATWG. В авторське право була внесена поправка, що робота буде спільно належати всім трьом постачальникам і допускатиме повторне використання специфікацій.

У 2006 році W3C висловило зацікавленість у специфікації, а також створила робочу групу для роботи разом із WHATWG над розробленням специфікації HTML5. Робоча група відкрита в 2007 році. Apple, Mozilla та Opera дозволили W3C опублікувати специфікацію під ліцензією W3C, зберігаючи при цьому версію з менш обмежувальною ліцензію на сайті WHATWG. З того часу обидві групи працюють разом.

22 січня 2008 представлена чернетка чергової, п'ятої версії мови гіпертекстової розмітки HTML.

Робота над HTML 5, що почалася у 2004 році, зараз доводиться до кінця спільними зусиллями W3С HTML WG і WHATWG. У розробленні також беруть участь багато ключових фігур, включаючи представників найбільших розробників браузерів: Apple, Google, Microsoft, Mozilla та Opera; також інші організації й користувачі з різними інтересами та досвідом.

Структура документації (WHATWG)[ред.ред. код]

Робоча група WHATWG пропонує наступну структуру документації:

  1. Загальні положення.
  2. Семантика, структура, та API HTML документу.
  3. Елементи HTML
  4. Microdata
  5. Завантаження веб сторінок
  6. API для веб застосувань
  7. Взаємодія з користувачем
  8. Відео конференції та peer-to-peer взаємодія
  9. Повідомлення
  10. HTML синтаксис
  11. XHTML синтаксис
  12. Застарілі функції

Нові можливості[ред.ред. код]

Введено нові теги, а деякі прибрано[ред.ред. код]

У загальному з нової версії мови розмітки пропонується прибрати близько 15 теґів.

При прийнятті рішення про введення нових тегів було розглянуто більшість популярних сайтів і виділено основні елементи, які були спільними для всіх веб-сторінок.

Розмічаючи області на сторінці за допомогою певних елементів, ця технологія може допомогти полегшити користувачеві навігацію. Наприклад, він може легко пропустити розділ навігації або швидко переходити від однієї статті до іншої без необхідності для авторів робити відповідні посилання. Автори також отримують вигоду в результаті заміни великої кількості div-ів одним з декількох відповідних елементів, що також приводить до чистого і легкого для автора початкового коду.

Елементами header є заголовки розділів. Вони можуть складатися з декількох частин — наприклад, було б виправдано розділяти блок заголовка на підзаголовки, історію версій або вказання авторства. Елемент footer визначає нижню частину розділу, до якого він відноситься. Зазвичай він містить інформацію про розділ — наприклад, ім'я автора, посилання на схожі документи, копірайт і тому подібне. Блок nav містить список посилань для навігації. Підходить, наприклад, для навігації по сайту, або для змісту. Елемент aside підходить для розміщення вмісту яким-небудь чином спорідненого основному контенту. У звичайному випадку буде корисний для розмітки бічної колонки. Тег section представляє загальний розділ документа або додатку, наприклад, такий як розділ. Тег article відзначає незалежний розділ документа, сторінки або сайту. Застосуємо для такого вмісту як новини, запису блога, повідомлення у форумі або коментарі користувачів.

Приклад розмітки веб-сторінки за допомогою HTML 5[ред.ред. код]

Приклад розмітки сторінки за допомогою HTML 5
<!DOCTYPE html>
<html>
 
    <head>
        <meta charset=utf-8>
        <title>Simple HTML5</title>
    </head>
 
    <body>
 
        <header> header </header>
        <nav> navigation </nav>
 
        <section>
            <article>
                <h2> Article header </h2>
                Article
            </article>
 
            <article>
                <h2> Article header </h2>
                Article
            </article>
        </section>
 
        <aside> sidebar content </aside>
        <footer> copyright </footer>
 
    </body>
</html>

Підтримка тегів <video> та <audio>[ред.ред. код]

В HTML 5 для того, щоб підключити до сторінки відео або аудіо-доріжку, достатньо скористатись відповідними тегами.

Такі сайти як Youtube, Viddler, Revver, Myspace та десятки інших дозволяють будь-кому опублікувати своє відео або аудіо. Багато сайтів удаються до Flash, щоб забезпечити потрібну функціональність, оскільки HTML 4.1 не вистачає засобів для вбудовування та управління мультимедіа. І, хоча такі можливості надають різноманітні плагіни (Quicktime, Windows Media тощо), в наш час[Коли?] Flash — це єдиний широко поширений плагін, який надає крос-браузерне рішення з відповідним API для розробників.

Як доведено великою кількістю медіа-програвачів на основі Flash, автори зацікавлені в наданні інтерфейсу з їхнім власним дизайном, який, як правило, дозволяє користувачам включати, ставити на паузу, зупиняти, перемотувати і управляти гучністю. Стоїть завдання надати таку функціональність за допомогою додавання можливості вбудовувати відео і аудіо засобами браузера, а також надати DOM API для доступу скриптів.

Елементи video і audio легко дозволяють це зробити. Більшість API — загальні між цими елементами, з відмінностями лише відносно до visual і не-visual медіа. Всі сучасні браузери (окрім Internet Explorer) вже реалізували підтримку даних елементів. Найпростіший спосіб вбудувати відео — це використовувати тег video і дозволити браузеру відобразити інтерфейс за умовчанням. Булевий атрибут controls визначає чи включати за умовчанням цей користувацький інтерфейс.

Необов'язковий атрибут poster може використовуватися для вказання зображення, яке буде відображатися до того як відео почне програватися. Хоча є формати відео, що підтримують власний попередній перегляд (такі як Mpeg-4), цей спосіб — рішення, що дозволяє бути незалежним від відео-формату.

Також просто підключити і аудіо — використовуючи елемент audio. Хоча по очевидних причинах у тега audio немає атрибутів height, width і poster, між video і audio більшість атрибутів спільні.

У HTML 5 включений елемент source для вказівки альтернативних відео і аудіо файлів, щоб браузер міг вибрати той, який підходить до підтримуваного медіа-типу або кодеків. Атрибут media визначає вибір медіа-запиту, що базується на обмеженнях пристроїв, а атрибут type — можливості медіа-типів і кодеків. Коли використовується атрибут source, слід опускати src в елементах video (audio), інакше source буде проігнорований.

Є багато інших атрибутів і API для відео і аудіо елементів, не описаних тут. Докладніше можна дізнатися в поточній версії специфікації.

Векторна графіка[ред.ред. код]

<canvas>[ред.ред. код]

За допомогою нового елементу <canvas> розробники зможуть створювати двомірні зображення та анімацію засобами JavaScript.

SVG[ред.ред. код]

Можна вставляти SVG графіку прямо в тіло HTML документу

Збереження даних на стороні клієнта[ред.ред. код]

Крім того, HTML 5 дозволяє розробникам зберігати дані на стороні клієнта. Це значно зменшить обсяг інформації, що передається між веб браузером та сервером при використанні web-2.0 застосувань. Зараз триває робота над такими специфікаціями, що охоплюють даний розділ:

  • Session Storage
  • Local Storage
  • IndexedDB

Редагування вмісту елементу[ред.ред. код]

Вміст будь-якого елементу на сторінці можна легко поміняти за допомогою властивості contentEditable. Цей метод широко використовується при створенні WYSIWYG застосувань.

Технології, які не входять до HTML 5[ред.ред. код]

Існує набір технологій, які дуже часто помилково відносять до HTML5, хоча вони насправді стосуються інших специфікацій

Процес стандартизації[ред.ред. код]

Відповідно до плану розвитку стандарту HTML5, представленим у вересні консорціумом W3C[4][5], фінальні специфікації HTML 5.0 будуть опубліковані в четвертому кварталі 2014 року, після чого почнеться робота над стандартом HTML 5.1, який планується випустити в кінці 2016 року.

Стандарт HTML5 планується сформувати в два етапи і оформити його за модульним принципом, що означає наявність набору самодостатніх специфікацій, що розвиваються різними робочими групами. У HTML 5.0 будуть включені специфікації які будуть стабілізовані і погоджені до 2014 року, інші специфікації, з яких у процесі підготовки HTML 5.0 залишаться невирішені проблеми, будуть відкладені і включені до складу стандарту HTML 5.1. Таким чином в стандарт HTML5 поступово, у міру готовності, будуть включатися нові специфікації та розширення.

Серед чорнових специфікацій, які розглядаються для включення в стандарт HTML5 (більшість з представлених специфікацій вже досить добре підтримуються сучасними браузерами і широко використовується на сайтах і у веб-застосунках):

Виноски[ред.ред. код]

Посилання[ред.ред. код]