Web savjeti (2) – Naučite HTML 5 na vrijeme

Ovo je drugi dio Web savjeta, logičan nastavak na prvi dio. U ovom dijelu savjetujem vam da naučite HTML 5 i da budete spremni kada on bude u upotrebi.

HTML 5 nije teško naučiti, treba se samo naviknuti na korištenje novih elemenata, što naučite za koji dan. No, uvijek je dobro biti spreman, pa krenimo.

Novi strukturni elementi

Trenutno vam je normalno da strukturirate sadržaj pomoću DIV elemenata kojima onda dajete klase i ID-e. Tako za header imate npr. <div id=”header”>. HTML 5 uvodi niz novih, semantičkih (iako bi se o ovome dalo još raspravljati) elemenata, koje ću vam sada predstaviti.

  • <header> Trebao bi se koristiti za bilo kakva zaglavlja, uključujući header dokumenta (logo, navigacija, pretraga).
  • <nav> Ovaj element treba koristiti za dijelove stranice sa navigacijskim linkovima. Obuhvaća glavnu navigaciju, te bilo koje druge linkove koji pomažu u navigaciji siteom (npr. breadcrumb).
  • <section> Ovo je element dosta sličan DIV-u. Koristi se za grupiranje dijela sadržaja na web stranici (npr. <section id=”related-content”>).
  • <aside> Ovaj element, iako tako djeluje na prvu, uopće nije namijenjen za sidebare, iako se može koristiti i za njih. On bi se trebao koristiti za bilo kakav dodatan sadržaj koji je povezan sa sadržajem koji okružuje.
  • <footer> Ovaj element koristi se footer stranice i podnožja članaka gdje se prikazuje tko je autor, tagovi članka, broj komentara, itd.

Video i audio

Video (<video>) i audio (<audio>) novi su elementi HTML-a koji omogućuju ubacivanje video i audio sadržaja bez posredovanja Flash playera. Mislim da ćemo podršku za njih najduže čekati jer se proizvođači browsera ne mogu dogovoriti oko standardnog formata koji će svi podržavati.

Spremni ste…

Eto, u ovom kratkom članku, koliko-toliko ste spremni za tehnologiju koje dolazi u slijedećih nekoliko godina. Naravno, sada znate elemente, a pravo korištenje tih elemenata shvatit ćete nakon što neko vrijeme provedete u novom HTML-u. Možda još uvijek ne možete takve siteove objaviti, ali probajte privatno, za sebe, prekodirati neki dizajn u HTML 5.

I da, još sam vam zaboravio spomenuti, DOCTYPE novog HTML-a jako je jednostavan i lako pamtljiv:

<!DOCTYPE html>

Uživajte…

Oglasi

Život web dizajnera

Ovaj post inspiriran je jednim upitom na Google s kojeg je došao posjet na moj blog. Upit glasi: “Život web dizajnera”.

Život web dizajnera… hmmm… je isti kao i život svih ostalih ljudi. Osim svega vezanog uz web :). Život web dizajnera već je opisan u tekstovima “Budućnost web dizajna”, a uglavnom se sve svodi na konstantno i cijeloživotno učenje novih tehnologija, jezika i tehnika ili novih načina primjene starih tehnologija.

Sada ću ukratko dati i primjere za to:

Kao web dizajneri stalno moramo učiti nove tehnologije. U prvom procesu učenja savladamo HTML. I mislimo, to je to. Radimo dizajn s tablicama, bez pomisli na CSS. Onda smo ubrzo “prisiljeni” naučiti i CSS (nova tehnologija). Nakon što smo naučili definirati CSSom fontove, backgrounde i ostale stvari moramo odbaciti primjenu HTML-a za izradu dizajna i naučiti primjeniti CSS za dizajn stranice bez tablica (novi način primjene tehnologije). Neki će tu stati. Ali onda ćete ubrzo shvatiti i da bez Photoshopa nema ništa – inače imate jednostavne plohe. Ako ništa, neki barem nauče napraviti gradient i staviti background-repeat u CSS-u pa da nije sve jednobojno. No, Photoshop treba savladati (nova tehnologija).

E sad, naučili smo osnove. Pazite, koliko već znamo, a to su samo osnove. Dalje, trebali bismo naučiti i JavaScript (opet nova tehnologija). Usput ćemo naučiti i jQuery za Javascript, ako zbog nečega, onda barem zbog onih animacija (nije komplicirano). Oni koji više idu na back-end trebali bi naučiti i AJAX (što je nova primjena stare tehnologije). Dakako, da ne zaboravimo, trebalo bi znati i napraviti osnovnu strukturu RSS XML dokumenta.

Ukoliko biste željeli raditi dinamičke stranice trebat ćete naučiti PHP. Vjerojatno ćete željeti odvojiti dizajn od logike, pa će vam trebati i neki template sustav (opet ponovno učenje). Da bi vaša stranica bila još dinamičnija tu vam treba i MySQL (opet nova tehnologija). Trebalo bi naučiti i povezati PHP sa MySQL-om (opet nova primjena postojeće tehnologije).

I kako pišem ovaj tekst zaboravio sam uz HTML spomenuti i optimizaciju za 500 browsera, nekoliko operacijskih sustava, pobrinuti se da site dobro izgleda bez CSS-a, dodati poseban CSS file za print, napraviti verziju za iPhone (dobro, ovo nije obavezno, ali lijepo je), također site treba barem nekako funkcionirati i bez Flasha i JavaScripta.

Optimizacija za 500 browsera i nije baš optimizacija za 500, ali ima ih. I još na različitim sustavima. Ipak, najveće probleme stvara IE6. Ostali su donekle podnošljivi.

Eh, sad, svi koji ovdje nabrojane tehnike znate činit će se kako ne morate ništa više učiti. Ali, pripremajte se za CSS 3 i HTML 5. Da budete spremni kada se budu šire koristili.

Niti jedno zanimanje nije toliko dinamično i zanimljivo kao što je web dizajn. I što je najbolje, opstaju samo oni koji stvarno vole web dizajn, jer ostali ne mogu pratiti sve trendove ako im je to opterećenje. ;)

Budućnost web dizajna (2)

Nakon napisanog teksta o budućnosti web dizajna u kojem sam zapravo htio govoriti samo o izgledu stranica, a dok sam pisao nešto me vuklo da idem i dalje od dizajna, pa su tako spomenuti i Silverlight, jQuery, HTML5 i još poneka sitnica.

Eto, sad mi je bilo dosadno, pa rekoh, ajde da napišem i drugi dio ovog teksta. Naslov copy-pastean i dodano u zagradi broj 2. Da se vidi da je drugi dio. Planiram editirati i prvi dio kako bih dodao na kraj link na ovaj drugi. No to kad završim pisanje ovog posta. :)

OK, nakon malo offtopica, ide pravi tekst.

Da vas prvo podsjetim. Rekao sam da se nadam kako će sa web stranica nestati i vertikalni scrollbar te će se sve moći prikazati bez potrebe za scrollanjem (onda možemo iščupati kotačiće iz miša :). Veliki portali koristit će auto scrollere (lijevo – desno npr.), tabove i sve to pomoću jQueryja ili sličnog Javascript frameworka. Na taj način može se donijeti mnogo informacija bez potrebe za scrollom. (Naravno, ukoliko krene taj trend, a ja tvrdim da hoće). Još sam rekao i kako će se web dizajnerima olakšati život dolaskom tehnologija HTML5 i CSS3. Poseban je tu CSS3 pomoću kojeg ćemo moći konačno napraviti opacity, shadow ili te zaobljene rubove bez potrebe za otvaranjem Photoshopa. No naravno, kad se CSS3 počne širiti i postane nam tako lagano napraviti npr. zaobljene rubove oni će izaći iz mode, a izmislit će se nešto novo. Onda ćemo ponovno Photoshopirati i kad nam najave da će nam olakšati izradu tog određenog efekta u CSS4 onda ćemo jedva čekati CSS4. Kad dođe CSS4 taj efekt zamijenit će se nekim za koji ćemo čekati CSS5, itd.

Zašto će se to događati? Zato jer kad nešto postane lako dostupno za izradu počet će se zloupotrebavljati i onda će postati iritantno (Marquee, anyone?). Mogu samo misliti koji će se kaos događati sa custom embedded fontovima. Počet će nam nabijati na nos hrpetinu jedva čitljivih i odvratnih fontova. Naravno, profesionalni web dizajneri znat će dobro iskoristiti tu opciju, te nam više neće biti potreban sIFR. No, zamislite ovo. Hrpetina stranica koje dizajniraju ljudi koji nemaju pojma o dizajnu. Svatko stavlja svoj neki ludi font. Ljude počinju živcirati ti custom fontovi. Razvija se Custom-Font Blocker (kao i pop-up blocker, samo za blokiranje custom fontova). Ljudi to počinju koristiti i mi koji ćemo to znati pametno iskoristiti nećemo moći jer su ljudi uključili Custom-Font blockere. Sjetite se samo, i pop-up je nekad trebao biti koristan, ali većina je pop-up prozore počela zloupotrebljavati i razvijeni su pop-up blockeri.

Postoji i jedna stvar koju bih htio povući. Nažalost, nakon određenog razmišljanja kažem da Silverlight neće uspjeti. Kad malo razmislim, ipak je to Microsoftova tehnologija, a kod njih uvijek nešto po zlu. Ne znam niti koliko ljudi ima instaliran Silverlight, samo znam da ga od mojih poznanika nema nitko. Meni dovoljno. Nisam razmišljao. Meni se svidio Silverlight i još uvijek mi se sviđa nakon što sam vidio onu izvedbu Bug TV-a u Silverlightu. Kada malo više istražim o Silverlightu onda ću početi o njemu govoriti sa sigurnošću.

OK. Idemo malo detaljnije na HTML5. On nam donosi nove tagove poput <audio> i <video> za umetanje audio i video elemenana na stranice bez upotrebe Flasha ili Silverlighta. Dalje, možemo zaboraviti na <div class=”header”>, <div class=”clanak left”>, itd. Zamijenit će ih novi elementi <header>, <content>, <article>, <aside> i <footer>. To bi ukratko bilo to o HTML5.

I za kraj, malo o browserima. Pokušajte pogoditi što će se dogoditi nakon što svi browseri prođu ACID 3. Da, bravo, pogodili ste. Počet će utrka browsera za ispravnim renderiranjem ACID 4 testa. Naravno, svi će raditi nešto, ali nitko neće postići ništa dok jedan od njih ne uspije prvi. Onda kreće utrka ovih ostalih. I tako će to uvijek biti. Kad svi “polože” ACID 4 doći će ACID 5. Baš kao i sa primjerima već navedenima u tekstu.

Oho, counter riječi već pokazuje veliku brojku. Mislim da je ovo kraj. Ukoliko se pitate postoji li mogućnost za treći dio ovog teksta, da postoji. Čim utvrdim o čemu ću pisati u trećem dijelu, koji će vjerojatno biti nadovezivanje na ovaj, drugi dio, baš kao što se ovaj nadovezuje na prvi.

Ajde sad, gotovo, kraj, nema više. Odite prosurfati po drugim postovima ovdje, valjda ima još nešto zanimljivo.

I najavljujem slijedeći post… uskoro (a samo ja znam kad je to ;)

Napomene:

  1. Trenutni broj draft postova mi je nula. Tak da… čekajte :)
  2. Nije mi se dalo prolaziti (čitati ponovno tekst) koji pokazuje tretnutno 740+ riječi.
  3. (Odnosi se na točku broj 2.) Zbog toga slobodno recite sve riječi koje su krivo napisane ili rečenice koje vam nemaju smisla. Da ih mogu ispraviti.
  4. Stvarno nisam pročitao cijeli tekst. Krenuo sam ga pisati prije možda pola sata do sat vremena i sad je gotov. Ne da mi se čitati.
  5. Komentirajte. Želim znati što vi mislite.

Budućnost web dizajna

Na webu postoje raznorazni stilovi kojih su se ljudi pridržavali i kopirali ih. Jedan od najpoznatijih je Web 2.0 stil koji je tako nazvan jer se nalazio na svim 2.0 sajtovima, što god to značilo, jer Web 2.0 kao pojam nikad nije definiran, postoje samo tekstovi i usporedbe. Kažu da je Web 2.0 “kad korisnici generiraju sadržaj”, ali to sad nije bitno.

Web 2.0 kao stil donio je mnogo dobrih stvari u dizajn. Ako pogledate neke stranice kako su izgledale prije (www.archive.org) uglavnom ćete vidjeti da su fontovi bili mali, da je sve bilo stisnuto i nepregledno, uglavnom. “Web 2.0”  je u dizajn uveo čitljivija i veća slova, više praznog prostora (whitespace), jasnu navigaciju i još mnogo toga. Donio je i one stvari koje zapravo nisu bile dobre jer se nije pokazivala kreativnost dizajnera. Tako su svi počeli slijediti trend shiny stranica. Imali ste logo koji je obavezno morao imati reflekciju (odsjaj), bedževe, beta oznaku, ako to niste imali, žalosno, nisu vas smatrali modernima, iako je vaš site imao sva obilježja weba 2.0 osim dizajna. U zadnje vrijeme događa se nešto drugo. Svima su izgleda dosadile sjajne stranice i konačno se počelo unositi malo kreativnosti u web dizajn. Naravno, sve dobre strane “Web 2.0” stila ostale su (whitespace, čitljivost, preglednost…). Neki su svoje webove sa “sjajne police” preselili u više prirodniji svijet prirodnih tekstura (drvo, papir…). U stranicama se sada vidi i osobnost (što je vrlo bitno kod osobnih stranica, blogova i npr. portfolia nekog dizajnera). Naravno, nisu sve stranice takve i taj stil trebao bi ostati kod navedenih osobnih stranica i blogova. Portali, korporativne stranice, socijalne mreže i raznorazni servisi trebali bi biti što “čišći”, ali naravno, uz dašak osobnosti same tvrtke (ukoliko je riječ o korporativnim stranicama). Dizajn loga treba otići dalje od refleksije i oznake beta. Sva sreća, to se počelo napuštati.

Slijedeća vrlo bitna promjena i prekretnica u web dizajnu je rezolucija. Trenutne širine web stranica su ispod 1000 px kako se ne bi pojavio horizontalni scrollbar u browseru. Rezolucije monitora postaju sve veće, a web stranice ostaju iste. Kada popularnost većih rezolucija (1920×1200) naraste do te mjere da je broj onih manjih zanemariv, moja pretpostavka je da će se web stranice širiti, te da će tako, uz horizontalni, i vertikalni scrollbar postati nepoželjan. Sve informacije prikazat će se bez potrebe za scrollanjem, a tu će biti korisna i mogućnost koja dolazi sa CSS3, a to je columns (stupci). Tekst će se razlamati u stupce radi lakše čitljivosti (baš kao i u novinama) jer bi tekst koji se proteže širinom od cca. 1900px bio jako težak za čitanje. Zbog toga bi trebao biti razlomljen u nekoliko stupaca. Što se tiče naslovnica portala koji moraju donijeti mnogo informacija, tu će poslužiti raznorazne tehnike autoscrollanja (poput onog horizontalnog Showtime na naslovnici T-Portala)

Što se tiče ostalog, stranice u čistom HTML-u potpuno će izumrijeti (zapravo već i jesu, ali postoji tu i tamo neka koja je samo HTML). Svaka stranica imat će neki backend pogonjen nekim server-side jezikom (npr. PHP, Ruby…). Što se tiče front-end dijela, koristit će se više tehnologija poput jQueryja za efekte na stranicama, a nadam se da će i Silverlightu popularnost porasti. Bez obzira što je to Microsoftova tehnologija, vrlo je dobra. Moglo bi se dogoditi da Silverlight i Flash u potpunosti izumru, a da nešto poput jQueryja dobije sve mogućnosti Silverlighta. HTML5 sve će se više koristiti i polako postajati standard. Postat će lakše imati zaobljene rubove, sjene i opacity zbog toga jer će se sve to definirati u CSS-u. Znači, nema više izrade zaobljenih rubova u Photoshopu. Konačno će se i fontovi korišteni na stranicama odmaknuti od Ariala, Verdane, Helvetice, Times New Romana i ponekad Georgie. Više će ljudi koristiti custom fontove (koji će se definirati u CSS-u, a korisnik ih ne mora imati instalirane), a nadam se i većem korištenju predivnog fonta Calibri, kojeg trenutno posjeduje svatko tko ima instaliranu Vistu ili Office 2007.

Sve u svemu, čeka nas jedna vrlo zanimljiva web budućnost. :)

UPDATE: Objavljen drugi dio članka. Pročitajte ga odmah. :)

Osnove HTML-a

HTML (Hypertext Markup Language) je jezik koji stoji iza svake web stranice koju pogledate (pokušajte na nekoj stranici kliknuti desnom tipkom miša pa onda na “View Page Source” i vidjet ćete. HTML je jako jednostavan jezik za naučiti i možete ga, donekle, savladati i u vremenu od tjedan do dva. Naravno, nećete biti savršeni, ali znat ćete nešto.

Prije svega, trebate znati da HTML nije programski jezik, znači kad ga naučite ne možete reći da znate programirati, jer to nije programiranje. :) HTML je opisni jezik kojeg interpretira browser (preglednik). Sastoji se od ključnih riječi (tagova) i svaki tag ima svoje značenje.

Ja vam neću pokazivati HTML na lakši način, već odmah na ispravan način, sa DOCTYPEom i da je napisan po XHTML standardu.

Svaki dokument započinje sa:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

To browseru govori da interpretira vaš HTML po XHTML standardu.

Osnovni dijelovi stranice nakon DOCTYPE-a su HTML, HEAD, BODY.

HTML je element u kojem se nalaze svi ostali elementi, HEAD je zaglavlje dokumenta, a BODY sadrži sve što će se prikazati u browseru.

Svaki element mora se zatvoriti. Znači ako imate <html> morate imati i </html>. Neki elementi se odmah zatvaraju, poput <br />.

U HEAD elementu nalaze se raznorazni podaci poput linkova na RSS feed, CSS datoteke, JavaScript dokumente i naziva stranice te metapodataka.

<head>
     <title>Naslov stranice</title>
     <meta http-equiv="Content-Type" 
           content="text/html;charset=utf-8" />
     <link rel="stylesheet" type="text/css" href="css/styles.css" />
</head>

U ovom headu stranice nalazimo podatke o nazivu stranice i putanju do datoteke sa stilovima (styles.css) o kojima ću govoriti neki drugi put, a definirali smo i znakovni set (character set, ima li koji bolji prijevod?) UTF-8.

Nakon HEAD-a dolazi BODY. U njemu se nalazi kompletan sadržaj vaše stranice. Naslovi, slike, linkovi i sve ostalo što vidite na web stranicama.

<body>
    <h1>Neki naslov</h1>
    <p>Ovo je odlomak teksta koji također sadrži i <a href
="put/do/necega.html" title="Put do nečega">link</a>
       <img src="put/do/slike.png" alt="Tu smo umetnuli sliku" />
    </p>
</body>

Naslovi bi se trebali stavljati u tagove od <h1> do <h6> ovisno o važnosti. H1 su najvažniji naslovi, H2 su manje važni od H1, itd. Ova stranica u browseru prikazat će jedan naslov, odlomak teksta i sliku. Svi elementi imat će predefiniran izgled koji dodjeljuje browser, a kako definirati stilove pisat ću neki drugi put.

Na kraju, za pregled, kompletan kod današnje lekcije.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
     <title>Naslov stranice</title>
     <meta http-equiv="Content-Type" 
           content="text/html;charset=utf-8" />
     <link rel="stylesheet" type="text/css" href="css/styles.css" />
</head>
<body>
    <h1>Neki naslov</h1>
    <p>Ovo je odlomak teksta koji također sadrži i <a href
="put/do/necega.html" title="Put do nečega">link</a>
       <img src="put/do/slike.png" alt="Tu smo umetnuli sliku" />
    </p>
</body>
</html>

Nadam se da sam vam pomogao sa ovim postom i nadam se da ste sve razumjeli. :D