Risposte:
HTML5 ha diversi obiettivi che lo differenziano da HTML4.
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.
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).
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.
Da Wikipedia :
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.
HTML5 introduce una serie di API che aiutano a creare applicazioni Web. Questi possono essere utilizzati insieme ai nuovi elementi introdotti per le applicazioni:
contenteditable
attributo globale .draggable
attributo.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/html
tipo MIME che segue questa specifica. Lo stesso vale per XHTML 5 rispetto a XHTML5.
Ora W3c fornisce una differenza ufficiale sul loro sito:
In breve, è molto semplice rispetto a HTML, viene rimosso il lungo doctype e viene rimosso anche il tag center e font. Ho anche risposto a questa differenza nel mio blog: http://ravisinghblog.in/key-difference-between-html-and-html-5/