From Wikipedia, the free encyclopedia
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,[2] ovo je neophodno zato što ne bi bilo moguće pregledati bilo koju stranicu u bilo kom pretraživaču.
HTML5 | |
---|---|
Оригинални назив | енгл. |
Изговара се | ha-te-em-el pet |
Појавио се | 28. октобар 2014.[1] |
Аутор(и) | WWW konzorcijum |
Дијалекти | |
Веб-сајт |
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.
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-Li. Sve je počelo još 1980. godine, dok je Tim Berners-Li 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-Li je napisao rad kojim predlaže hipertekst (енгл. )[3] 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 Rober Kajo, 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-Li je nabrojao[4] 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-Li u drugoj polovini 1991. godine.[5] U ovom dokumentu je opisano 20 elemenata, koji su sačinjavali relativno jednostavan dizajn HTML-a.[6]
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.[7] Pri kraju 1993. godine, Dave Raggett je predložio standardizaciju već implementiranih elemenata kao što su tabele i forme. 1994. godine je Beerners-Li 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.[8] 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[9] 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,[10] čiji je osnivač Tim Berners-Li. 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.[11] 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 Eplа, Mozile, Opere i Gugla, 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 Hikson iz Gugla i Dejvid Hajat koji radi za Epl.
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, pametnog telefona, netbooka, sve dok postoji podrška za HTML5 na pretraživaču.[12]
HTML5 je namenjen da prevaziđe ne samo HTML4, nego XHTML1 i HTML DOM.[13] 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[14] 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[13] 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.
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:
<article> | Definiše članak |
<aside> | Definiše sadržaj, pored sadržaja same stranice |
Izoluje deo teksta koji bi mogao biti formatiran drugačije, u odnosu na tekst izvan njega | |
<command> | Definiše komandno dugme koje korisnik može da pozove |
<details> | Definiše dodatne detalje koje korisnik može da vidi ili da sakrije |
<summary> | Definiše vidljiv naslov za <details> element |
<figure> | Navodi samostojeći sadržaj, kao što su ilustracije, dijagrami, fotografije, spiskovi kodova, itd. |
<figcaption> | Definiše naslov za <figure> element |
<footer> | Definiše footer za dokument ili odeljak |
<header> | Definiše header za dokument ili odeljak |
Definiše označeni tekst | |
<meter> | Definiše skalarno merenje u okviru poznatog opsega (manometar) |
<nav> | Definiše navigacione linkove (hiperveza) |
<progress> | Predstavlja napredak nekog zadatka |
Definiše ruby anotaciju (za istočnoazijsku tipografiju) | |
Definiše objašnjenje/izgovor karaktera (za istočnoazijsku tipografiju) | |
Definiše šta da pokaže u pretrazivacima koji ne podržavaju ruby anotacije | |
<section> | Definiše odeljak u dokumentu |
Definiše datum/vreme | |
Definiše mogući prekid linije(енгл. ) |
<audio> | Definiše zvučni sadržaj |
<video> | Definiše video ili film |
<source> | Definiše veze ka datotekama za <video> i <audio>, koje mogu biti u različitim formatima |
<embed> | Definiše container za spoljnu primenu interaktivnih sadržaja (енгл. ) |
<track> | Definiše tekstualne trake za <video> i <audio> |
Atribut control na <audio> i <video> elementima dodaje kontrole kao što su /, kao i mogućnost kontrole jačine zvuka.[22] 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 frejm 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.[23] 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.[24]
Pre HTML5 nije postojao standard za reprodukciju audio datoteka na veb stranama, već se ona vršila uz pomoć plugin-ova (Flash).[25] HTML5 kao jedno od unapređenja sadrži <audio> element, kojim je definisan način za postavljanje i reprodukciju audio snimaka na veb stranama.[26]
<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>
Pre HTML5 standarda nije postojao standard za postavljanja videa na veb stranama,[27] pa su za pregled video snimaka bili potrebni razni dodaci, Apple QuickTime, RealPlayer ili Adobe Flash.[28] Najveći problem je u usaglašavanju formata. Implementacije HTML5 u pretraživačima podržavaju .ogg, .mpeg4 i .webM.[29]
<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>
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.[30]
<datalist> | precizira listu unapred definisanih opcija za <input> element, što omogućuje dodavanje tzv. AutoComplete funkcionalnosti na elementima formulara; korisnici će videti padajuću listu unapred definisanih opcija dok unose podatke |
<keygen> | svrha elementa je da obezbedi siguran način za proveru identiteta korisnika |
<output> | element prikazuje rezultat neke operacije nad formularom[31] |
HTML5 uvodi nekoliko novih atributa za <form> i <input>:
autocomplete | uključuje ili isključuje automatsko popunjavanje polja za sve kontrole na formularu |
novalidate | uključuje ili isključuje validaciju za sve kontrole na formularu |
autocomplete | uključuje ili isključuje automatsko popunjavanje za datu kontrolu |
autofocus | postavlja kursor za unos teksta u polje sa ovim atributom; može ga imati samo jedan element na stranici |
form, formaction, formenctype, formmethod, formnovalidate, formtarget | omogućuju da se kontroli dodele svojstva formulara, bez potrebe da se sam elementi nalazi u okviru formulara; ovi atributi imaju identično ponašanje kao atributi istog imena na <form> elementu. |
height i width | definišu dimenzije kontrole |
list | definiše vezu na <datalist> element iz kojeg će uzimati vrednosti |
min i max | definiše najmanju i najveću vrednost za kontrole tipa "" i "" |
pattern | regularni izraz po kojem se vrši provera vrednosti polja * |
placeholder | predstavlja tekst koji se nalazi u polju do unosa, uglavnom predstavljen sivom bojom, koji se najčešće koristi kao vizuelni ključ o svrsi polja ili tipu/formatu sadržaja |
required | označava polje koje obavezno mora imati vrednost * |
step | definiše korak povećanja vrednosti za kontrole tipa "" i "" |
* pretraživač zaustavlja slanje formulara ukoliko uslovi nisu zadovoljeni |
HTML5 uvodi pregršt novih tipova elemenata u veb formama, što u mnogome olakšava unos različitih tipova podataka i njihovu proveru.[34]
color | boja u heksadecimalnom zapisu (npr. #FF00FF) |
date, time, datetime, datetime-local, month, week | različiti formati datuma i vremena |
adresa elektronske pošte (npr. example@example.com) | |
number | brojna vrednost |
range | opseg brojnih vrednosti |
search | pretraga; nema funkcionalne razlike u odnosu na obično teksualno polje, ali se vizuelno razlikuje i nudi mogućnost pamćenja prethodno traženih termina |
tel | broj telefona |
url | veb adresa (npr. http://example.com/) |
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:[36]
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.[12]
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.[37][38]
Sledeći elementi koji su se koristili u HTML4 su uklonjeni u HTML5:
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.[40] 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.[41]
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.[42]
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.[43]
Korišćenje keš interfejsa nam pruža tri prednosti:
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.[43]
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.[45]
EventSource objekat se koristi da bi se primila SSE notifikacija.
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).[47][48][49][50]
Chrome | Firefox | Explorer | Opera | Safari | |
Canvas | Da | Da | Da | Da | Da |
Video element | Da | Da | Da | Da | Ne |
Local storage | Da | Da | Da | Da | Da |
Offline apps | Da | Da | Ne | Da | Da |
HTML5 forms | Delimično | Delimično | Ne | Da | Delimično |
Drag and Drop | Da | Da | Da | Ne | Da |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.