Co z tym HTML5?

Coraz czę­ściej Klien­ci w zapy­ta­niach ofer­to­wych wska­zu­ją na HTML5 jako na pożą­da­ny ele­ment spe­cy­fi­ka­cji w ich pro­jek­cie. Nic dziw­ne­go – HTML5 jest coraz bar­dziej popu­lar­ny i coraz wię­cej ser­wi­sów i apli­ka­cji inter­ne­to­wych wyko­rzy­stu­je jego moż­li­wo­ści. Póki co jed­nak o zmia­nie sił na ryn­ku jesz­cze mówić nie moż­na – wciąż bar­dziej popu­lar­na jest np. tech­no­lo­gia Ado­be® Flash®.

Nie ule­ga jed­nak wąt­pli­wo­ści, że z bie­giem cza­su nowa spe­cy­fi­ka­cja tego języ­ka będzie wypie­rać wer­sję 4.01 i może w jakiejś czę­ści zastą­pić to, co było do tej pory imple­men­to­wa­ne w Java­Script lub Ado­be® Flash®. I jest bar­dzo praw­do­po­dob­ne, że HTML5 zdo­mi­nu­je rynek już nie­ba­wem… w każ­dym razie wcze­śniej niż przed 2022 (bar­dziej opty­mi­stycz­na data w tym arty­ku­le). Dobrze, ponie­waż tech­no­lo­gia ta nie­sie ze sobą nowe ele­men­ty, któ­re teraz wyda­ją się nie­zbęd­ne a któ­rych koniecz­ność uży­cia trud­no było prze­wi­dzieć w dru­giej poło­wie lat 90-tych, kie­dy defi­nio­wa­no spe­cy­fi­ka­cję 4.01. Wte­dy więk­szość stron inter­ne­to­wych wyglą­da­ła hmm.. mniej wię­cej tak:

Źró­dło: http://www.smashingapps.com/2009/08/13/how-popular-website-designs-looked-like-in-late-90s.html

Choć mówić o tech­no­lo­gii w kon­tek­ście uży­tecz­no­ści nie jest łatwo, to prze­glą­da­jąc szkic nowej spe­cy­fi­ka­cji na stro­nie W3C, nie moż­na oprzeć się wra­że­niu, że zawie­ra ona kil­ka nowych ele­men­tów, któ­re nie tyl­ko u pro­gra­mi­stów budzą duże nadzie­je. Co nowe­go wno­si HTML5 dla osób, któ­re zaj­mu­ją się pro­jek­to­wa­niem ser­wi­sów inter­ne­to­wych?

Z punk­tu widze­nia archi­tek­tu­ry infor­ma­cji (i SEO oczy­wi­ście) przy­dat­ne będą znacz­ni­ki seman­tycz­ne, takie jak nav, header czy asi­de. Ele­men­ty seman­tycz­ne infor­mu­ją o prze­zna­cze­niu i cha­rak­te­rze tre­ści – np. któ­re ele­men­ty są czę­ścią nagłów­ka – i mogą być tym samym wła­ści­wie zin­ter­pre­to­wa­ne i przed­sta­wio­ne w odpo­wied­ni do zawar­to­ści spo­sób. Obec­nie do ozna­cze­nia ele­men­tów takich jak nagłó­wek czy stop­ka stro­ny uży­wa się odpo­wied­nio zde­fi­nio­wa­nych ele­men­tów div. Zasto­so­wa­nie dedy­ko­wa­nych tagów to lep­sze seman­tycz­nie upo­rząd­ko­wa­nie ele­men­tów, co poten­cjal­nie prze­ło­ży się na lep­sze ich indek­so­wa­nie i czy­tel­ność infor­ma­cji. Seman­tycz­ne znacz­ni­ki pomoc­ne mogą być rów­nież przy gene­ro­wa­niu spi­su tre­ści oraz przy nawi­go­wa­niu po ser­wi­sie. Ele­ment nav przy­kła­do­wo może być uży­ty zarów­no do ozna­cze­nia ele­men­tów nawi­ga­cji glo­bal­nej jak i spi­su tre­ści, pagi­na­cji, ścież­ki nawi­ga­cyj­nej.

Zin­te­gro­wa­nie seman­tycz­nych ele­men­tów z HTML pozwa­la na prze­ka­za­nie infor­ma­cji prze­glą­dar­ce czym jest dany ele­ment na stro­nie. W HTML5 to seman­ty­ka ele­men­tów będzie okre­śla­ła zna­cze­nie tre­ści dane­go ele­men­tu a nie spo­sób w jaki treść jest przed­sta­wio­na w kodzie.

Źró­dło: http://www.alistapart.com/articles/previewofHTML5/

Nowa spe­cy­fi­ka­cja wspie­ra popu­lar­ne spo­so­by inte­rak­cji i pra­cy użyt­kow­ni­ka z dany­mi – tagi takie jak pro­gress czy meter infor­mu­ją o aktu­al­nym sta­nie pro­ce­su lub danych.  Nie jest to nowość – takie ele­men­ty są czę­sto imple­men­to­wa­ne za pomo­cą np. Java­Script, ale w HTML5 będzie to część spe­cy­fi­ka­cji i od stro­ny deve­lo­per­skiej będzie to znacz­nie prost­sze do zasto­so­wa­nia.

Źró­dło: http://wufoo.com

Okre­ślo­ne są rów­nież nowe typy pól tek­sto­wych – np. ema­il, url, tel, search oraz ich atry­bu­tów – np. auto­fo­cus, requ­ired, max. W chwi­li obec­nej wspie­ra­ne są co praw­da tyl­ko przez część prze­glą­da­rek:

Źró­dło: http://wufoo.com

HTML5 ofe­ru­je sze­reg moż­li­wo­ści, któ­re czę­sto przed­sta­wia­ne są w opo­zy­cji do Ado­be® Flash® – sztan­da­ro­wym przy­kła­dem jest tag canvas, dzię­ki któ­re­mu może­my np. two­rzyć boga­te ani­ma­cje bez koniecz­no­ści wyko­rzy­sta­nia Ado­be® Flash® czy wizu­ali­zo­wać dane bez koniecz­no­ści insta­lo­wa­nia dodat­ko­wej wtycz­ki (plu­gi­nów).

Źró­dło: http://www.rgraph.net

Wie­le entu­zja­zmu wzbu­dzi­ło doda­nie do spe­cy­fi­ka­cji moż­li­wo­ści osa­dze­nia video w HTM­Lu. Takie tagi jak audio i video pozwa­la­ją na unie­za­leż­nie­nie od zewnętrz­nych dodat­ków (koniecz­no­ści insta­lo­wa­nia dodat­ko­wych plu­gi­nów do odtwo­rze­nia video) i zosta­wia­ją w rękach twór­ców stron wygląd inter­fej­su odtwa­rza­cza. Dodat­ko­wo – ele­men­ty te pod­da­ją się sty­lo­wa­niu CSS w takim samym stop­niu jak inne ele­men­ty. Atry­but con­trols tagu video pozwa­la prze­glą­dar­ce na doda­nie do mate­ria­łu wideo stan­dar­do­we­go zesta­wu kon­tro­lek. Ist­nie­je moż­li­wość pod­pię­cia pli­ków źró­dło­wych w róż­nych for­ma­tach – wła­ści­wy for­mat jest wybie­ra­ny na pod­sta­wie typu oraz zain­sta­lo­wa­nych kode­ków. Moż­li­we jest rów­nież bar­dziej zaawan­so­wa­ne kon­tro­lo­wa­nie mate­ria­łu video i audio a okre­śla­ją­ce spo­sób ich odtwa­rza­nia.

Uwzględ­nio­ny został drag&drop – funk­cjo­nal­ność zna­na z apli­ka­cji desk­to­po­wych – choć mówiąc oględ­nie mecha­ni­ka dzia­ła­nia nie­ko­niecz­nie musi wzbu­dzać zachwyt. Spo­sób skon­stru­owa­nia modu­łu drag&drop wyma­ga praw­do­po­dob­nie prze­for­mu­ło­wa­nia lub zde­fi­nio­wa­nia od począt­ku (wię­cej w tym arty­ku­le), co nie zmie­nia fak­tu, że uwzględ­nie­nie obsłu­gi drag&drop jest kro­kiem w dobrym kie­run­ku.

War­to wspo­mnieć rów­nież o tagach spel­l­check (pozwa­la na spraw­dze­nie popraw­no­ści wpro­wa­dzo­ne­go tek­stu) oraz con­ten­te­di­ta­ble (pozwa­la na edy­to­wa­nie dowol­ne­go tek­stu ozna­czo­ne­go tym atry­bu­tem).

Źró­dło: http://wufoo.com

Nowa spe­cy­fi­ka­cja wpro­wa­dza ele­men­ty pozwa­la­ją­ce na budo­wa­nie w Inter­ne­cie apli­ka­cji, któ­re ofe­ro­wa­ny­mi funk­cjo­nal­no­ścia­mi będą coraz bar­dziej upo­dab­nia­ły się do apli­ka­cji desk­to­po­wych. Dostęp­ne będą w koń­cu typo­we ele­men­ty wzię­te z tego typu apli­ka­cji – moż­li­wość korzy­sta­nia ze skró­tów kla­wi­szo­wych czy menu kon­tek­sto­we­go (dzię­ki znacz­ni­ko­wi menu i jego typom: tool­bar, con­text, list). Pozwo­li to na zbli­że­nie w zacho­wa­niu do typo­wych apli­ka­cji desk­to­po­wych, moc­niej akcen­tu­jąc ich inte­rak­tyw­ność.

HTML5 nie­sie ze sobą wie­le zmian – powo­li ewo­lu­ując w kie­run­ku, któ­ry dobrze odda­ją ter­mi­ny: respon­si­ve­ness, func­tio­na­li­ty, inte­rac­ti­vi­ty. Spe­cy­fi­ka­cja może być inte­re­su­ją­ca nie tyl­ko dla pro­gra­mi­stów, lecz rów­nież dla osób pro­jek­tu­ją­cych ser­wi­sy i apli­ka­cje webo­we – choć­by tyl­ko po to aby mieć świa­do­mość nowych moż­li­wo­ści, któ­re są w niej zawar­te.

W ramach cie­ka­wost­ki – aby spraw­dzić poziom wspie­ra­nia HTML5 przez prze­glą­dar­kę, wystar­czy przejść na stro­nę http://html5test.com/. Wnio­ski może­cie wycią­gnąć sami 🙂

4 odpowiedzi
  1. Roman Cieciuch
    Roman Cieciuch says:

    Ja bym się wstrzy­mał z tym HTML-em 5. To super narzę­dzie w rękach pro­gra­mi­sty, ale na razie nie ma sen­su w to inwe­sto­wać, bo nawet naj­now­sze prze­glą­dar­ki nie radzą sobie z popraw­nym jego wyświe­tla­niem…

    Odpowiedz
  2. Cyryl Kwaśniewski
    Cyryl Kwaśniewski says:

    Nie wstrzy­my­wać się tyl­ko korzy­stać, bo prze­śpi­cie! Z powo­dze­niem śmi­ga cała skład­nia na każ­dej współ­cze­snej prze­glą­dar­ce, jeśli nie natyw­nie to za pomo­cą lek­kie­go wspar­cia JSo­we­go. Gorzej z nie­któ­ry­mi API.

    Odpowiedz

Odpowiedz

Want to join the discussion?
Feel free to contribute!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *