Jaka jest główna różnica między HTML 4 a HTML 5?


Odpowiedzi:


197

HTML5 ma kilka celów, które odróżniają go od HTML4.

Spójność w obsłudze źle sformułowanych dokumentów

Podstawową jest spójna, zdefiniowana obsługa błędów . Jak wiesz, HTML celowo obsługuje „zupę tagów”, czyli możliwość pisania zniekształconego kodu i poprawiania go w prawidłowy dokument. Problem w tym, że zasady tego nie są nigdzie zapisane. Gdy nowy producent przeglądarek chce wejść na rynek, musi po prostu przetestować źle sformułowane dokumenty w różnych przeglądarkach (zwłaszcza IE) i przeprowadzić inżynierię wsteczną obsługi błędów. Jeśli tak się nie stanie, wiele stron nie zostanie wyświetlonych poprawnie (szacunki wskazują, że około 90% stron w sieci jest co najmniej nieco zniekształconych).

Tak więc HTML5 próbuje odkryć i skodyfikować tę obsługę błędów, aby programiści przeglądarek mogli ustandaryzować i znacznie zmniejszyć czas i pieniądze wymagane do spójnego wyświetlania rzeczy. Poza tym długo w przyszłości po tym, jak HTML przestał istnieć jako format dokumentu, historycy mogą nadal chcieć czytać nasze dokumenty, a posiadanie całkowicie zdefiniowanego algorytmu analizowania bardzo w tym pomoże.

Lepsze funkcje aplikacji internetowych

Drugorzędnym celem HTML5 jest rozwijanie możliwości przeglądarki jako platformy aplikacji za pośrednictwem HTML, CSS i Javascript. Wiele elementów, które zostały dodane bezpośrednio do języka, które są obecnie (w HTML4) Flash lub hacki JS opartych, takich jak <canvas>, <video>i <audio>. Przydatne rzeczy, takie jak pamięć lokalna (dostępna w przeglądarce baza danych kluczy i wartości dostępna w formacie js, do przechowywania informacji wykraczających poza to, co mogą przechowywać pliki cookie), nowe typy danych wejściowych, takie jak data, dla której przeglądarka może udostępnić łatwy interfejs użytkownika (abyśmy nie muszą korzystać z naszych kalendarzy do wybierania dat opartych na js), a walidacja formularzy obsługiwana przez przeglądarkę znacznie ułatwi programistom tworzenie aplikacji internetowych i przyspieszy ich działanie dla użytkowników (ponieważ wiele rzeczy będzie obsługiwanych natywnie, zamiast włamać się za pomocą javascript).

Ulepszona semantyka elementów

Istnieje wiele innych mniejszych wysiłków podejmowanych w HTML5, takich jak lepiej zdefiniowane role semantyczne dla istniejących elementów ( <strong>a <em>teraz faktycznie oznaczają coś innego, a nawet <b>i <i>mają niejasną semantykę, która powinna dobrze działać podczas analizowania starszych dokumentów) i dodawanie nowych elementów z użytecznymi semantyka - <article>, <section>, <header>, <aside>, i <nav>powinien zastąpić większość <div>s wykorzystywane na stronie internetowej, dzięki czemu strony nieco bardziej semantyczne, ale co ważniejsze, łatwiejsze do odczytania . Koniec z bolesnym skanowaniem, aby zobaczyć, co to przypadkowe </div>zamknięcie - zamiast tego będziesz mieć oczywistą </header>lub </article>znacznie bardziej intuicyjną strukturę dokumentu.


14
Podkreśl tagi i zdania, edytując odpowiedź. (To tylko sugestia, ponieważ kiedy to czytałem, zmęczyło mnie to.)
Mohammad Faisal

44

Z Wikipedii :

  • Nowe reguły analizowania zorientowane na elastyczne analizowanie i zgodność
  • Nowe elementy - sekcja, wideo, postęp, nawigacja, licznik, czas, na bok, płótno
  • Nowe atrybuty wejściowe - daty i godziny, e-mail, adres URL
  • Nowe atrybuty - ping, charset, async
  • Atrybuty globalne (które można zastosować do każdego elementu) - id, tabindex, powtórz
  • Usunięte wycofane elementy - środek, czcionka, ostrzeżenie

12

Będziesz chciał sprawdzić różnice między HTML5 a HTML4: notatka grupy roboczej W3C z 9 grudnia 2014 r., Aby poznać wszystkie różnice. Jest wiele nowych elementów i atrybutów elementów. Niektóre elementy zostały usunięte, a inne mają inną wartość semantyczną niż wcześniej.

Istnieją również zdefiniowane interfejsy API, takie jak użycie kanwy, które pomagają w tworzeniu nowej generacji aplikacji internetowych i zapewniają standaryzację implementacji.


11

HTML5 wprowadza szereg interfejsów API, które pomagają w tworzeniu aplikacji internetowych. Można ich używać razem z nowymi elementami wprowadzonymi do aplikacji:

  • Interfejs API do odtwarzania wideo i audio, którego można używać z nowymi elementami wideo i audio.
  • Interfejs API umożliwiający korzystanie z aplikacji internetowych w trybie offline.
  • Interfejs API, który umożliwia aplikacji sieci Web rejestrację się w celu korzystania z określonych protokołów lub typów mediów.
  • Edytor API w połączeniu z nowym contenteditableatrybutem globalnym .
  • Interfejs API typu „przeciągnij i upuść” w połączeniu z draggableatrybutem.
  • Interfejs API, który ujawnia historię i umożliwia stronom dodawanie do niej, aby zapobiec uszkodzeniu przycisku Wstecz.

3

Może Cię zainteresuje ta lista elementów i atrybutów HTML5 .

Pamiętaj też, że jest to „HTML 4”, a nie „HTML4”. Rzeczywiście, w przypadku HTML 5 używane są oba warianty, ale istnieje ważna różnica w znaczeniu. HTML 5 odnosi się do nazwy specyfikacji W3C, podczas gdy „HTML5” to typ dokumentu tych plików HTML z text/htmltypem MIME, które są zgodne z tą specyfikacją. To samo dotyczy XHTML 5 i XHTML5.


1
Wydaje się, że sugerujesz, że XHTML 5 istnieje, podczas gdy tak nie jest. Najnowsza rekomendacja W3C dotycząca XHTML to 1.1, a 2.0 jest w fazie roboczej.
David Rivers

4
@David Rivers: To istnieje. XHTML5 to serializacja XML HTML5 .
Mathias Bynens

2
@David Rivers: Nawiasem mówiąc, XHTML 2 nie jest już w fazie roboczej. Został przerwany na rzecz HTML5 .
Mathias Bynens,

Dzięki. Właśnie to odkryłem i nie mogę uwierzyć, jak wypadłem z pętli. To był ciężki rok!
David Rivers


0

HTML 5 zaprasza, dodając wiele wartości semantycznej do swojego kodu. Co więcej, istnieją rodzime rozwiązania do osadzania treści multimedialnych.

Reszta jest ważna, ale jest to bardziej techniczny cukier, który uchroni Cię przed robieniem tego samego z językiem programowania klienta.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.