HTML5
HTML () jezik je osnova svake veb stranice, uz pomoć koga se prezentuje izgled i sadržaj iste. Omogućava formatiranje stranice, obradu slika, teksta i još mnogo toga. Konzorcijum za veb () (W3C) je zadužen za određivanje standarda, ovo je neophodno zato što ne bi bilo moguće pregledavati bilo koju stranicu u bilo kom pretraživaču.

HTML5 je predlog novih standarda koji nam pružaju nove mogućnosti, kao i da isprave i nadomeste neke dosadašnje nedostatke. Radi se o novoj verziji HTML-a, koja donosi niz novina i mogućnosti koje do sada nisu bile dostupne koristiti za izradu veb sajtova bez dodatnih dodataka (), kao što su Flash, Java i Silverlight. HTML5 predstavlja evoluciju HTML 4.01 standarda, a ne zamenu.

Istorija 

Ne možemo početi priču o HTML5 bez pomena najzaslužnijih ljudi, kao i bez osvrta na prethodne verzije i do danas utvrđenih standarda.

Najzaslužniji za razvoj HTML-a 5 je Tim Berners-Lee. Sve je počelo još 1980. godine, dok je Tim Berners-Lee radio po ugovoru u CERN-u (). Predložio je prototip sistema za istraživače u CERN-u, uz pomoć koga bi mogli da koriste i dele dokumente. 1989. godine, Tim Berners-Lee je napisao rad kojim predlaže hipertekst ()  sistem baziran na Internetu. U drugoj polovini 1990. godine specificirao je HTML i napisao softver i za server i za pretraživač. Te iste godine Tim Berners-Lee i inženjer informatike u CERN-u Robert Cailliau, su sarađivali i zajedno zahtevali sredstva, ali projekat nije formalno usvojen od strane CERN-a. U svojim ličnim beleškama iz 1990. godine Tim Berners-Lee je nabrojao  neke od mnogih oblasti gde se hipertekst koristi, a kao prvu je stavio enciklopediju. Prvi pisani javni dostupni dokument o HTML-u je bio dokument pod nazivom „HTML Tags“. Objavio ga je Tim Berbers-Lee u drugoj polovini 1991. godine. U ovom dokumentu je opisano 20 elemenata, koji su sačinjavali relativno jednostavan dizajn HTML-a.

HTML je skraćenica od HyperText Markup Language koji veb pretraživači koriste da interpretiraju i slože tekst, slike i ostale materijale na veb strani. Početne karakteristike za svaki element HTML-a je definisan u pretraživaču, a ove karakteristike se mogu dopuniti i izmeniti korišćenjem CSS-a. Tim Berners-Lee je smatrao HTML kao primenu SGML-a (). Formalno je definisan kao takav od strane IETF-a() radom iz sredine 1993. godine, koji je bio predlog prve specifikacije HTML-a: "Hypertext Markup Language (HTML)" Internet-Draft by Berners-Lee and Dan Connolly, koja je uključivala SGML Document Type Definition da definiše pravila, tj. gramatiku. Pri kraju 1993. godine, Dave Raggett je predložio standardizaciju već implementiranih elemenata kao što su tabele i forme. 1994. godine je Beerners-Lee osnovao W3C na Masačusetskom tehnološkom institutu (), koji je usvojen kao standard prema kojem će sve veb stranice u budućnosti raditi na isti način.
Posle isticanja HTML-a sa dopunama, na početku 1994. godine IETF je osnovao HTML radnu grupu (), koja je 1995. godine završila „HTML 2.0“, prvu HTML specifikaciju sa namerom da se na njoj temelje sva dalja usavršavanja i izmene. HTML 2.0 je uključio ideje iz HTML-a, kao i iz HTML-a sa dopunama, ali sa osnovnom namerom da se razlikuje od prethodnih verzija. Budući razvoj pod okriljem IETF-a je prekinut zbog sukoba interesa.

Od 1996. godine HTML specifikacija je održavana, dopunjavana od strane tvoraca komercijalnih softvera, kao i od strane W3C-a, čiji je osnivač Tim Berners-Lee. 2000. godine HTML postaje internacionalni standard (ISO/IEC 15445:2000). HTML 4.01 je objavljen krajem 1999. godine, sa dopunom je objavljena još jedna verzija 2001. godine.

2004. godine se počinje sa radom na HTML5. Ovom projektu se uz W3C priključila i WHATWG () 2007. Godine. Mnogi su mislili da će WHATWG nestati kao samostalna organizacija, ali se zadržala kao takva i nastavila rad na specifikaciji HTML-a 5. Trenutno postoje dve paralelne verzije HTML-a 5, jedna službena na kojoj radi W3C, i neslužbena na kojoj rade stručnjaci iz Applea, Mozille, Opere i Googlea, koji imaju veliki uticaj na razvoj Interneta, iako iza sebe nemaju formalnu organizaciju kao što je W3C. Ipak, urednici HTML-a 5 specifikacije za oba tima su isti ljudi, što znači da grupe međusobno sarađuju i da će na kraju ipak postojati jedan standard. Urednici HTML 5 specifikacije su Ian Hickson iz Googlea i David Hyatt koji radi za Apple.

Specifikacije 
 -{HTML}- 2.0 – (-{RFC}- 1866)
 -{HTML}- 3.2 – 14 januar 1997,
 -{HTML}- 4.0 – 18. decembar 1997,
 -{HTML}- 4.01 (manje izmene) – 24. decembar 1999,
 -{ISO/IEC}- 15445:2000 (-{„ISO HTML“}-, bazirano na -{HTML 4.01 Strict}-) – 15. maj 2000.
 -{HTML}-5 – 22. januar 2008 (još uvek u razvoju)

Šta je HTML5? 
Iako je WHATWG počeo sam da razvija HTML 5, može se reći da je HTML 5 proizvod saradnje W3C-a i WHATWG-a. HTML5 je još uvek u fazi razvoja, a standardizacija se očekuje 2014. godine, po procenama W3C-a. Kao peta verzija HTML-a osnovni cilj je bio unapređenje ovog jezika, kao i podrška za najnovije multimedijalne sadržaje. Pri tome je cross-platform, tako da nije bitno da li se dokument pregleda pomoću tableta, smartphonea, netbooka, sve dok postoji podrška za HTML5 na pretraživaču. 

HTML5 je namenjen da prevaziđe ne samo HTML4, nego XHTML1 i HTML DOM. WHATWG je radio na veb formama i aplikacijama, dok je W3C radio na XHTML 2.0. 2006. godine su počeli zajedničku saradnju, tako da se HTML5 može smatrati mešavinom karakteristika i specifikacija HTML-a i XHTML-a. Ovome je doprinela zajednička praksa, kao i mnoge greške u postojećim veb dokumentima  Ovo je takođe i pokušaj da se definiše jedinstveni markup jezik, koji se može pisati i u HTML-u i u XHTML-u. Ovo uključuje detaljne procesne modele da bi ohrabrilo još interoperabilnih implementacija. To proširuje, unapređuje i racionalizuje označavanje dokumenata, kao što je omogućen i API (), za kompleksne veb aplikacije Neki od novih elemenata su video, audio, canvas, kao i mnogi drugi, o kojima će biti reč kasnije. Pored novih elemenata ne možemo a da ne pomenemo integraciju SVG () sadržaja, koji zamenjuje upotrebu ‘’object’’ taga. Ove inovacije olakšavaju rukovanje multimedijalnim i grafičkim sadržajem na veb-u bez dodatnih plugin-ova i API-a. Neki od elemenata su promenjeni, neki izbačeni, sve u cilju pojednostavljenja organizacije i strukture dokumenta.

Osnovni principi 
Na razvoju HTML-a 5 pored pokretača projekta, uključeni su i stručnjaci iz svih većih pretraživača, da bi svojim iskustvom i znanjem doprineli boljem i uspešnijem razvoju. Neke od ideja i principa kojima se vode ljudi koji učestvuju u razvoju HTML-a 5 su: 
 Nove karakteristike treba da se baziraju na HTML-u, CSS-u, DOM-u i JavaScript-u
 Smanjiti potrebu za eksternim plugin-ovima (Flash)
 Bolja obrada grešaka
 Više tagova koji bi zamenili skripte
 HTML5 bi trebalo da ne zavisi od uređaja na kome se koristi
 Proces razvoja treba biti dostupan javnosti

Novi elementi i karakteristike

Strukturni i semantički elementi

Medijski elementi 

	

Atribut control na <audio> i <video> elementima dodaje kontrole kao što su -{play}-/-{pause}-, kao i mogućnost kontrole jačine zvuka. Atribut autoplay omogućuje automatsku reprodukciju sadržaja po njegovom preuzimanju. <video> element poseduje i poster koji predstavlja link na sliku koja se prikazuje na samom elementu pre reprodukcije; u slučaju da ovaj atribut nije prisutan, prikazuje se prvi  samog video snimka.

<source> element omogućava da audio i video datoteke budu na različitim lokacijama i u različitim formatima, a pretraživač će otvoriti prvi format koji podržava.  Preporuka je da se zbog razlika u kompatibilnosti i video kodecima dodaju izvori ka više datoteka u različitim formatima, kao i da se prikaže poruka sa linkovima ka samim audio i video datotekama kako bi posetioci mogli da pristupe sadržaju u slučaju da njihovi pretraživači ne podržavaju HTML5 audio i video.

Audio 

Pre HTML5 nije postojao standard za reprodukciju audio datoteka na veb stranama, već se ona vršila uz pomoć plugin-ova (Flash). HTML5 kao jedno od unapređenja sadrži <audio> element, kojim je definisan način za postavljanje i reprodukciju audio snimaka na veb stranama. 

<audio controls>
	<source src="song.ogg" type="audio/ogg" />
	<source src="song.mp3" type="audio/mpeg" />
	<p>Your browser does not support HTML5 audio.</p>
	<p>Download:
		<a type="audio/ogg" href="song.ogg">Ogg</a> |
		<a type="audio/mpeg" href="song.mp3">MP3</a>
	</p>
</audio>

Video 

Pre HTML5 standarda nije postojao standard za postavljanja videa na veb stranama,  pa su za pregled video snimaka bili potrebni razni dodaci, Apple QuickTime, RealPlayer ili Adobe Flash.  Najveći problem je u usaglašavanju formata. Implementacije HTML5 u pretraživačima podržavaju .ogg, .mpeg4 i .webM.
<video width="320" height="240" controls>
	<source src="movie.mp4" type="video/mp4" />
	<source src="movie.ogg" type="video/ogg" />
	<p>Your browser does not support the HTML5 video.</p>
	<p>Download:
		<a type="video/mp4" href="movie.mp4">MP4</a> |
		<a type="video/ogg" href="movie.ogg">Ogg</a>
	</p>
</video>

Formulari 

Do pojave HTML5 standarda, postojalo je samo par osnovnih tipova kontrola na formularima (text, checkbox, radio button, popup list itd.), koji su u trenutku u kome su definisani bili dovoljni. Međutim, sa brzom ekspanizijom interneta, kako po broju korisnika, tako i po količini servisa i aplikacija, formulari su postajale sve korišćeniji, a potrebe sve veće.

Elementi

Atributi 

HTML5 uvodi nekoliko novih atributa za <form> i <input>:

Tipovi kontrola 

HTML5 uvovi pregršt novih tipova elemenata u veb formama, što u mnogome olakšava unos različitih tipova podataka i njihovu proveru.

Grafika 
Do nedavno, veb programeri su bili ograničeni na CSS i JavaScript kod stvaranja animacija i vizuelnih efekata za svoje veb stranice, ili prinuđeni da koriste plugin-ove kao što je Flash. Sa dodatkom novih tehnologija kao što su Canvas elementi, Web GL i SVG slike, više nema potrebe za ovim. Čak sada imamo i nove mogućnosti, nove funkcije koje možemo koristiti za grafiku na vebu:  
 2D Canvas
 WebGL
 SVG
 SMIL ()
Naravno, nijedna od ovih novih tehnologija ne bi bile od koristi da se brzo ne izvršavaju. JavaScript engine su postali dovoljno brzi za pokretanje 3D igara i za manipulaciju videom u realnom vremenu. Programeri iskorišćavaju ove olakšice, poplava HTML grafičkih radova se pojavljuje na vebu, od implementacije starih 2D grafičkih algoritama do najnovijih tehnika stvorenih specijalno za moderni veb.

Drag and drop 
Drag and drop se veoma često koriste. Predstavlja opciju „hvatanja“ i „puštanja“ objekta na određenu lokaciju. U HTML5 drag and drop je deo standarda i bilo koji element može biti premeštan na taj način.

Izbačeni elementi iz HTML4 

Sledeći elementi koji su se koristili u HTML4 su uklonjeni u HTML5:
 <acronym>
 <applet>
 <basefont>
 <big>
 <center>
 <dir>
 <font>
 <frame>
 <frameset>
 isindex
 <noframes>
 <strike>
 <tt>

Novi objekti

Veb skladištenje 
HTML5 Veb skladištenje () i sesija () skladištenja je najjednostavniji nivo veb skladištenja koji skladišti podatke za trenutnu sesiju – drugim rečima, sve dok je tab pretraživača ili prozor otvoren. Ovo možda i nije najbolje rešenje budući da specifikacije ostavljaju otvorenu mogućnost pretraživaču da sačuva ove podatke tokom ponovnog pokretanja. 
Svaki dokument dobija sessionStorage objekat uz nekoliko glavnih funkcija a podaci su klonovi trenutnih vrednosti. Prave prednosti dolaze sa pristupom localStorage objektu koji je sličan sessionStorage objektu ali se ponaša potpuno drugačije. Tamo gde sessionStorage zaboravlja, localStorage pamti. Podaci bi trebalo da budu sačuvani čak i nakon što se prozori zatvore i računar isključi.

Veb radnici 
Veb radnik () je JavaScript skripta definisana od strane W3C-a i WHATWG-a koju izvršava HTML strana u pozadini, nezavisno od ostalih user-interface skipti koje se takođe mogu izvršavati od strane iste HTML strane. 
W3C i WHATWG su zamislili JavaScript radnike kao skriptu koju ne prekidaju user-interface skripte, skripte koje odgovaraju na klik miša ili druge interakcije korisnika. Neprekidanje rada JavaScript radnika od strane korisničkih aktivnosti omogućava veb stranama da ostanu dostupne u trenutku izvršenja dugih procesa u pozadini. Najjednostavnija primena je u tome da se izvršavaju zahtevni procesi u pozadini bez prekidanja korisničkog interfejsa. W3C i WHATWG trenutno rade na definisanju API-a za veb radnike.

Aplikacije sa keširanjem podataka 
Od sve većeg značaja je dostupnost veb aplikacija kada smo offline. Svi pretraživači imaju svoje mehanizme za keširanje, ali oni su nepouzdani i neće raditi onako kako želimo. Sa ApplicationCache interfejsom HTML 5 pokušava da reši neke neprijatnosti koje se mogu desiti kada smo offline. 

Korišćenje keš interfejsa nam pruža tri prednosti:
 Offline pretraživanje – korisnici se mogu kretati po vašoj stranici iako su offline.
 Brzina – keširani podaci su sačuvani na lokalnom disku, tako da se učitavaju brže.
 Smanjenje opterećenja server – pretraživač skida samo podatke koji su se promenili. 
AppCache omogućava programerima da odrede koje fajlove će pretraživač keširati, a koje ne, za njihovu dostupnost kada je korisnik offline. Aplikacija će se učitati i raditi kako treba, čak iako korisnik osveži stranicu.

SSE 
HTML5 događaji slanja na server () omogućavaju veb stranici da se automatski nadogradjuje () sa servera. To je bilo moguće i ranije, ali je prvo veb stranica morala da pita da li su novi update-ovi dostupni. Sa SSE update stiže automatski. 

 Primanje SSE notifikacije

EventSource objekat se koristi da bi se primila SSE notifikacija.
 Kreiramo nov EventSource objekat, i određujemo URL stranice koja šalje update.
 Svaki put kada je update primljen, onmessage događaj se pojavljuje.
 Kada se onmessage događaj pojavi, staviti primljene podatke u element sa id=“result“.

Podrška pretraživača 
U ovom poglavlju ćemo videti koji nivo podrške za HTML 5 nam pružaju najpopularniji veb pretraživači. HTML 5 se veoma brzo menja i veb pretraživači podržavaju sve veći broj njegovih funkcionalnosti. U sledećoj tablici je prikazana trenutna podrška veb pretraživača za HTML 5 (Tabela 3).

Vidi takođe 
 HTML 
 CSS
 SVG

Reference

Literatura

Spoljašnje veze 
 HTML5 – aktuelna specifikacija
 HTML 4.01 — aktuelna specifikacija
 Konzorcijum za web — organizacija koja je propisala HTML standard
 W3C validator — alat za proveru HTML dokumenata
 HTML5 Bookmarks  — korisni članci i beleške
 HTML5 Center  —HTML5 centar za pomoć
 HTML5 Demos — probne verzije i primeri
 Support — testiranje vašeg trenutnog veb pretraživača
 Mobile HTML5 — HTML5 za mobilne telefone
 FindMeByIP — podrška za konkretne funkcionalnosti HTML-a 5 kao i CSS-a
 TestingCenter  — upoređivanje podrške veb pretraživača za HTML 5

HTML