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]

W3C zaproponowało większy nacisk na modułowość, określając specyficzne cechy oraz rozwój ich jako oddzielnych specyfikacji. Niektóre technologie, które zostały pierwotnie zdefiniowane w samym HTML5 są obecnie określone w odrębnych specyfikacjach:

  • 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

Niektóre specyfikacje, które zostały pierwotnie opracowane zostały dostosowane jako rozszerzenie funkcji HTML5: SVG, MathML, WAI-ARIA.

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.

Historia[edytuj | edytuj kod]

Gruba robocza WHATWG rozpoczęła pracę nad nowym standardem w 2004 roku, jednocześnie HTML 4.01 nie było aktualizowane od 2000 roku. World Wide Web Consortium (W3C) koncentrowało się na przyszłych zmianach w XHTML 2.0. W 2009 roku W3C postanowiło, że XHTML 2.0 nie będzie już rozwijane. W3C oraz WHATWG obecnie pracują wspólnie nad rozwojem HTML5[8].

HTML5 jest często porównywany do Adobe Flash , jednak te dwie technologie są bardzo różne. Obie zawierają funkcje służące do odtwarzania plików audio i wideo na stronach internetowych, oraz stosując Scalable Vector Graphics . HTML5 sam nie może być jednak używany do animacji i interaktywności – musi być uzupełniony o CSS3 oraz JavaScript .

Mimo, że HTML5 jest dobrze znany wśród programistów od lat, stał się tematem mediów głównego nurtu od około kwietnia 2010 roku[9][10][11], po tym jak Steve Jobs , ówczesny CEO firmy Apple wystosował list publiczny zatytułowany „Rozważania na temat Flash’a”, w którym stwierdził, że „Flash nie jest już konieczny aby obejrzeć film, lub wyświetlać jakiekolwiek treści w internecie”, oraz, że „nowe, otwarte standardy stworzone w dobie urządzeń przenośnych, takich jak HTML5, wygrają”[12]. Wywołało to debatę w kręgach związanych z rozwojem sieci web. Niektórzy sugerowali, że deweloperzy muszą brać pod uwagę zmieniającą się obsługę przeglądarek, jak również inne różnice między HTML5 i Flash[13]. Na początku listopada 2011 roku, Adobe ogłosiło, że zaprzestanie rozwoju Flasha dla urządzeń mobilnych, oraz skupi swoje wysiłki w rozwijaniu narzędzi wykorzystujących HTML5[14].

Proces normalizacji[edytuj | edytuj kod]

Fundacja Mozilla i Opera Software przedstawiła swoje stanowisko na warsztatach W3C w czerwcu 2004 roku[15], koncentrując się na rozwoju technologii, które są kompatybilne wstecz z istniejącymi przeglądarkami[16]. Warsztat zakończył się głosowaniem: 8 za, 14 przeciw kontynuowaniu prac nad HTML[17]. W tym samym miesiącu praca oparta na tym stanowisku została przeniesiona do nowo utworzonej grupy roboczej WHATWG , a drugi projekt, Web 1.0 został również ogłoszony[18]. Obie specyfikacje zostały później połączone w HTML5[19]. Specyfikacja HTML5 została przyjęta jako punkt wyjścia do pracy z nowym HTML w 2007 roku.

Rok 2008 – Pierwszy publiczny projekt roboczy[edytuj | edytuj kod]

WHATWG opublikował pierwszy projekt roboczy 22 stycznia 2008 roku[20]. Niektóre elementy HTML5 zostały zaimplementowane w przeglądarkach pomimo nieukończenia projektu.

Rok 2012[edytuj | edytuj kod]

W lipcu 2012 WHATWG oraz W3C zdecydowały się na separację. W3C kontynuowało prace nad specyfikacją HTML5, skupiając się na jednym, ostatecznym standardzie. Organizacja WHATWG kontynuowała pracę z HTML5 udoskonalając ciągle funkcje. Nowe funkcje mogły być dodawane, ale funkcje nie mogły zostanie usunięte[21].

We wrześniu 2012 W3C zaproponowało[22], aby wypuścić stabilną wersję HTML5 do końca 2014 roku, oraz specyfikację HTML5.1 do końca 2016 roku.

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[23].

[edytuj | edytuj kod]

W dniu 18 stycznia 2011 roku W3C wprowadziło logo HTML5. W przeciwieństwie do innych odznak wydanych wcześniej przez W3C nie oznacza ono ważności lub zgodności z określonym standardem. Od 1 kwietnia 2011 roku jest to logo oficjalne[24].

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]

Wikimedia Commons