Qual è la differenza chiave tra HTML 4 e HTML 5?


145

Quali sono le differenze chiave tra le bozze HTML4 e HTML5 ?

Conservare le risposte relative alla sintassi modificata e agli elementi html aggiunti / rimossi.

Risposte:


197

HTML5 ha diversi obiettivi che lo differenziano da HTML4.

Coerenza nella gestione dei documenti non validi

Quello principale è la gestione coerente e definita degli errori . Come sapete, l'HTML supporta volutamente 'tag soup', ovvero la possibilità di scrivere codice non valido e farlo correggere in un documento valido. Il problema è che le regole per farlo non sono scritte da nessuna parte. Quando un nuovo fornitore di browser vuole entrare nel mercato, deve solo testare documenti non validi in vari browser (in particolare IE) e decodificare la gestione degli errori. In caso contrario, molte pagine non verranno visualizzate correttamente (le stime collocano circa il 90% delle pagine in rete come almeno in qualche modo malformate).

Quindi, HTML5 sta tentando di scoprire e codificare questa gestione degli errori, in modo che gli sviluppatori di browser possano standardizzare e ridurre notevolmente il tempo e il denaro necessari per visualizzare le cose in modo coerente. Inoltre, molto tempo dopo la morte di HTML come formato di documento, gli storici potrebbero ancora voler leggere i nostri documenti e avere un algoritmo di analisi completamente definito sarà di grande aiuto.

Migliori funzionalità dell'applicazione Web

L'obiettivo secondario di HTML5 è sviluppare la capacità del browser di essere una piattaforma applicativa, tramite HTML, CSS e Javascript. Molti elementi sono stati aggiunti direttamente alla lingua che sono attualmente (in HTML4) Flash o hack JS-based, come <canvas>, <video>e <audio>. Cose utili come Local Storage (un database di valori-chiave incorporato nel browser accessibile da js, per archiviare informazioni oltre a quelle che possono contenere i cookie), nuovi tipi di input come la data per la quale il browser può esporre una semplice interfaccia utente (in modo che non è necessario utilizzare i selettori di date del calendario basati su js) e la convalida dei moduli supportata dal browser renderà lo sviluppo di applicazioni Web molto più semplice per gli sviluppatori e le renderà molto più veloci per gli utenti (poiché molte cose saranno supportate in modo nativo, piuttosto che violato tramite javascript).

Semantica degli elementi migliorata

Ci sono molti altri piccoli sforzi in HTML5, come ruoli semantici meglio definiti per gli elementi esistenti ( <strong>e <em>ora in realtà significano qualcosa di diverso, e persino <b>e <i>hanno una semantica vaga che dovrebbe funzionare bene quando analizza documenti legacy) e aggiungendo nuovi elementi con utili semantica - <article>, <section>, <header>, <aside>, e <nav>dovrebbe sostituire la maggior parte dei <div>s utilizzati su una pagina web, rendendo le vostre pagine un po 'più semantiche, ma ancora più importante, più facili da leggere . Niente più dolorose scansioni per vedere cosa </div>sta chiudendo quel casuale - invece avrai un ovvio </header>, o </article>, rendendo la struttura del tuo documento molto più intuitiva.


14
Si prega di evidenziare i tag e le frasi modificando la risposta. (È solo un suggerimento perché mentre stavo leggendo questo, mi ha stancato.)
Mohammad Faisal

44

Da Wikipedia :

  • Nuove regole di analisi orientate all'analisi flessibile e alla compatibilità
  • Nuovi elementi: sezione, video, avanzamento, nav, metro, tempo, a parte, tela
  • Nuovi attributi di input: date e orari, e-mail, url
  • Nuovi attributi: ping, charset, asincrono
  • Attributi globali (che possono essere applicati per ogni elemento) - id, tabindex, repeat
  • Elementi obsoleti rilasciati: centro, font, strike

12

Dovresti controllare le differenze HTML5 da HTML4: Nota del gruppo di lavoro W3C del 9 dicembre 2014 per le differenze complete. Ci sono molti nuovi elementi e attributi di elemento. Alcuni elementi sono stati rimossi e altri hanno un valore semantico diverso rispetto a prima.

Esistono anche API definite, come l'uso di canvas, per aiutare a costruire la prossima generazione di app Web e assicurarsi che le implementazioni siano standardizzate.


11

HTML5 introduce una serie di API che aiutano a creare applicazioni Web. Questi possono essere utilizzati insieme ai nuovi elementi introdotti per le applicazioni:

  • Un'API per la riproduzione di video e audio che può essere utilizzata con i nuovi elementi video e audio.
  • Un'API che abilita le applicazioni Web offline.
  • Un'API che consente a un'applicazione Web di registrarsi per determinati protocolli o tipi di media.
  • Un'API di modifica in combinazione con un nuovo contenteditableattributo globale .
  • Un'API drag & drop in combinazione con un draggableattributo.
  • Un'API che espone la cronologia e consente alle pagine di aggiungervi per impedire la rottura del pulsante Indietro.

3

Potresti essere interessato a questo elenco di elementi e attributi HTML5 .

Inoltre, tieni presente che è "HTML 4", non "HTML4". In effetti, per HTML 5 vengono utilizzate entrambe le varianti, ma c'è un'importante differenza di significato. HTML 5 si riferisce al nome della specifica W3C, mentre "HTML5" è il tipo di documento di quei file HTML con un text/htmltipo MIME che segue questa specifica. Lo stesso vale per XHTML 5 rispetto a XHTML5.


1
Sembrerebbe implicare che XHTML 5 esista, mentre non è così. L'ultima raccomandazione W3C di XHTML è 1.1 e 2.0 è in fase di bozza.
David Rivers,


2
@David Rivers: A proposito, XHTML 2 non è più nelle fasi di bozza. È stato sospeso a favore di HTML5 .
Mathias Bynens,

Grazie. Ho appena scoperto anche questo e non riesco a credere di essere stato fuori dal giro. È stato un anno difficile!
David Rivers,


0

HTML 5 ti invita a dare molto valore semantico al tuo codice. Inoltre, esistono soluzioni native per incorporare contenuti multimediali.

Il resto è importante, ma è lo zucchero più tecnico che ti salverà dal fare le stesse cose con un linguaggio di programmazione client.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.