HTML 5

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
HTML 5
Ikona HTML 5
Ikona
Rozszerzenia pliku .html, .htm
Typ MIME text/html
Producent W3C oraz WHATWG
Ostatnia wersja 1.4938
Typ język znaczników
Strona internetowa
XHTML 5
Ikona XHTML 5
Ikona
Rozszerzenia pliku .xhtml, .html
Typ MIME application/xml, application/xhtml+xml
Producent W3C oraz WHATWG
Ostatnia wersja 1.4938
Typ język znaczników
Strona internetowa

HTML 5 – język wykorzystywany do tworzenia i prezentowania stron internetowych www. Jest rozwinięciem języka HTML 4 i jego XML-owej odmiany (XHTML 1), opracowywane w ramach prac grupy roboczej WHATWG (Web Hypertext Application Technology Working Group) i W3C[1].

Jest to konkurencyjna specyfikacja w stosunku do specyfikacji XHTML 2[2], której rozwój został porzucony 2 lipca 2009 roku – wsparcie wszystkich środowisk i producentów przeglądarek ukierunkowane jest na HTML 5[3]. Nazwę można zapisywać jako HTML 5 - jako wersję lub HTML5 - jako nazwę. Zgodnie z obecnymi zapowiedziami (wrzesień 2012) prace nad specyfikacją zostaną ukończone w 2014 roku - wtedy też nowy standard zostanie oficjalnie ogłoszony i zacznie obowiązywać. Dwa lata później - w 2016 roku - ma być gotowy HTML5.1; wówczas ma być także zaprezentowany szkic standardu HTML5.2[4][5].

Główna różnica pomiędzy HTML 5 a XHTML 2 polega na tym, że HTML 5 jest pisane z myślą o kompatybilności wstecznej, podczas gdy XHTML 2 zrywało z kompatybilnością.

HTML 5 poza dodaniem nowych elementów, usprawniających tworzenie serwisów i aplikacji internetowych, doprecyzowuje wiele niejasności w specyfikacji HTML 4, dotyczących przede wszystkim sposobu obsługi błędów. Niejasności co do sposobu, w jaki przeglądarki powinny obsługiwać błędy w kodzie HTML są jedną z podstawowych przyczyn, dla której wiele serwisów internetowych, napisanych z naruszeniem specyfikacji, w różnych przeglądarkach działa w inny sposób – w niektórych działając, w innych nie. Dzięki HTML-owi 5 obsługa błędów ma być ta sama we wszystkich przeglądarkach, czyli zły element będzie działać w każdej przeglądarce albo żadnej.

HTML 5 także stawia na semantykę. Element <div> traci na znaczeniu na rzecz <header> <main> <article> <aside> <canvas> <figure> <footer> <details> <summary> <nav>. Element <span> ma być mniej używany na rzecz <mark> <output> <var> <u> <s> (ostatnie dwa znaczniki były w HTML4 przestarzałe – deprecated).

Grupa pracująca nad HTML5 przyjęła inny sposób myślenia. Na przykład podkreślenie i przekreślenie podczas tworzenia HTML 4 uznano za elementy czysto prezentacyjne i przestarzałe – miały zostać usunięte w HTML5. Nawet kursywę i pogrubienie często próbowano zastąpić emfazą. W myśl tego nowe znaczniki liniowe nie powinny powstać. Gdyby sposób myślenia W3C się nie zmienił, nie powstałoby też kilka innych znaczników np. <progress>

HTML 5 wysyłany jako XML nazywany jest XHTML 5.

Niektóre różnice w stosunku do HTML 4[6][edytuj | edytuj kod]

  • Nowe tagi: section, article, header, footer, nav, video, audio, mark, progress, ...
  • Nowe typy pól "input": tel, search, url, email, datetime, date, month, week, time, datetime-local, number, range, color.
  • Nowe atrybuty elementów formularzy: autofocus, required, autocomplete, min, max, multiple, pattern, step, ...
  • Możliwość osadzenia MathML i SVG bezpośrednio w dokumencie, zupełnie jak w XHTML
  • HTML 5 nie zawiera żadnych elementów prezentacyjnych
  • HTML 5 nie jest podzielone na żadne tryby - nie ma elementów przestarzałych.

Nowości w API[edytuj | edytuj kod]

  • Rysowanie 2D z nowym elementem canvas,
  • WebGL (port OpenGL dla przeglądarek),
  • API dla odtwarzania audio i video,
  • API dla aplikacji offline,
  • API, pozwalające zarejestrować aplikację WEB jako protokół lub media_type,
  • API edycji z atrybutem contenteditable,
  • API przeciągnij i upuść, z atrybutem draggable,
  • API do obsługi przycisku wstecz (History API),
  • API pamięci (storage) pozwalające na przechowywanie danych pomiędzy przeładowaniami strony[7],
  • Microdata – przechowywanie danych w atrybutach (prefix: data-),
  • Geolokalizacja,
  • Web Sockets (dwukierunkowa komunikacja z serwerem),
  • Komunikacja między stronami (np. można wysyłać informację do strony znajdującej się w ramce).
  • Nowa wersja XMLHttpRequest umożliwiająca upload plików oraz monitorowanie postępu
  • File API - dostęp do systemu plików po stronie klienta
  • Baza danych SQL

Nowe metody DOM[edytuj | edytuj kod]

  • getElementsByClassName
  • activeElement, hasFocus
  • getSelection
  • classList (wrapper dla className) z metodami: has(), add(), remove(), toggle()
  • relList dla elementu a
  • innerHTML dla window i document

Plany na przyszłość[edytuj | edytuj kod]

  • Server-Sent Events (zdarzenia wysłane przez serwer)

Obsługa błędów[edytuj | edytuj kod]

Przeglądarki obsługujące HTML5 będą dostosowane do obsługi błędów w składni. HTML5 został zaprojektowany tak, by starsze przeglądarki bez problemu mogły ignorować nowe konstrukcje. W przeciwieństwie do starszego HTML 4.01 specyfikacja tej wersji zawiera szczegółowe instrukcje jak postępować z niepoprawną składnią, przez co strony z błędami będą wyświetlane w ten sam sposób w różnych przeglądarkach.

Nowe typy znaczników[edytuj | edytuj kod]

canvas[edytuj | edytuj kod]

Information icon.svg Osobny artykuł: HTML5 Canvas.

Canvas jest elementem HTML, który może być użyty do rysowania grafik przy użyciu skryptów (zazwyczaj JavaScript). Na przykład może być użyty do rysowania wykresów, tworzenia kompozycji fotografii lub do animacji.

Po raz pierwszy znacznik <canvas> został przedstawiony przez Apple dla Mac OS X Dashboard i później zaimplementowany w Safari. Przeglądarki oparte na silniku Gecko począwszy od wersji 1.8 (tj. Firefox 1.5 oraz późniejsze) obsługują ten nowy element. Jest również wspierany przez Operę oraz Internet Explorera 9.

audio i video[edytuj | edytuj kod]

Information icon.svg Osobny artykuł: HTML5 video.

Znaczniki <audio> i <video> dają możliwość odtwarzania na stronie dźwięku i klipów wideo bez użycia dodatkowych wtyczek. Problem stanowi brak porozumienia producentów przeglądarek co do użycia tych samych kodeków w swoich produktach.

Popularność[edytuj | edytuj kod]

Raport "Popularność HTML5 wśród firm Fortune 500" opublikowany w sierpniu 2013 roku wskazuje, że 153 koncerny z listy Fortune 500 stosują na swoich stronach HTML5[8].

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]

Wikimedia Commons