Poslední modifikace: 2023-09-22 12:11:29 UTC
Vše důležité naleznete na adrese http://4iz268.github.io/
přehled technologií používaných na webu
principy jednotlivých technologií a možnosti jejich vzájemného kombinování
zaměřeno zejména na „frontendové“ technologie
na předmět navazuje kurz 4IZ278 – Webové aplikace
praktické zvládnutí nejpoužívanějších technologí:
HTML
kaskádové styly (CSS)
JavaScript
vytvoření HTML stránky a aplikace v JavaScriptu
hodnotí cvičící
max. 50 bodů
přesné požadavky se dozvíte na cvičení
test – termíny budou včas zveřejněny
hodnotí přednášející
max. 40 bodů
obsah testu: látka z přednášek a povinné četby
aktivita na cvičení
max. 10 bodů
každý dílčí požadavek je nutné splnit alespoň na 50 % bodů
Povinná:
„Téměř povinná:“
aktuální publikace o HTML, CSS, Web designu a JavaScript
Doplňková:
dokumentace k jednotlivým nástrojům (HTML editory, grafické programy apod.)
doporučení konsorcia W3C
další se dozvíte během výkladu
Nevěřte všemu, co se píše na internetu ;–)
Služba WWW vznikla na půdě CERNu v letech 1989-90 pod vedením Tima Berners-Leeho. Měla sloužit jako infrastruktura pro sdílení výsledků vědeckých výzkumů.
Je založena na třech technologiích
jazyk HTML
protokol HTTP
adresování objektů pomocí URL adres
značkovací jazyk pro popis struktury webových stránek
nezávislý na platformě
protokol pro přenos stránek mezi webovým serverem a prohlížečem
jednoduchý aplikační protokol vystavený nad protokolem TCP
bezstavový protokol modelu požadavek/odpověď – přináší problémy pro webové aplikace
URL je adresa, která jednoznačně identifikuje nějaký zdroj v Internetu.
URL nejsou omezena jen na službu WWW, ale pokrývají celé spektrum služeb (WWW, FTP, e-mail, telnet, ...).
http://www.kosek.cz/vyuka/izi228/programpr.html
Protože jsou všude a rychle se množí.
webové stránky a aplikace
pro mnoho platforem lze psát „nativní“ aplikace pomocí webových technologií
elektronické knihy (EPUB) jsou jen zabalené HTML+CSS
mnoho tištěných knih se dnes generuje přímo pomocí HTML+CSS
…
první formální specifikace
základní formátování a strukturování dokumentu, obrázky, formuláře
1995
ambiciózní návrh
matematické vzorce, tabulky, obtékání obrázků, styly dokumentů
HTML 3.0 nebylo nikdy přijato jako standard, protože bylo příliš složité a žádná firma nebyla schopna naprogramovat jeho podporu ve svém prohlížeči
1996
výrobci prohlížečů přidávají nestandardní rozšíření HTML
konsorcium W3C proto vybírá společnou podmnožinu rozšíření a schvaluje HTML 3.2
především lepší možnosti formátování dokumentu
1997
velký skok vpřed
podpora kaskádových stylů
skripty vložené do stránky
multimediální objekty
rozšířené možnosti tabulek
i18n (podpora více jazyků, tok textu zleva doprava)
rozšíření formulářů
rámy
některé z funkcí HTML 4.0 nepodporují prohlížeče dodnes
prosinec 1999
opravy drobných chyb ve specifikaci HTML 4.0
HTML 4.01 se striktnější syntaxí XML
XHTML dokumenty lze psát tak, aby jim rozuměly i prohlížeče bez podpory XML
snahou bylo opustit „tag-soup“ syntaxi spojenou s HTML a vynutit psaní syntakticky zcela korektního kódu
striktnější syntaxe byla motivována možností psát jednodušší parsery použitelné na málo výkonných zařízení (např. mobily v dané době)
XHTML bohužel nepřineslo nic nového z funkčního hlediska a tak se příliš neujalo
webové aplikace mají stále větší požadavky na interaktivitu
lze to vyřešit použitím proprietárních technologií jako je Flash nebo kombinací HTML + DOM + JavaScript + CSS
specifikace HTML + DOM + JavaScript + CSS a jejich vzájemná interakce nebyla dlouhou dobu přesně definována
některé věci nebyly specifikovány vůbec (XHR)
bylo obtížné psát aplikace, které fungují ve všech prohlížečích
HTML5 upřesňuje definici HTML a DOM tak, aby byla jednoznačná a odpovídala skutečnému chování prohlížečů
přidává do jazyka některá rozšíření prohlížečů, která jsou užitečná
přidává některé další nové užitečné funkce (validace formulářů, canvas, příma podpora multimédií, …)
rozdělení HTML a XHTML byla chyba a příliš revoluční krok, nadále bude jen jeden jazyk se dvěma alternativními syntaxemi
HTML5 je doporučení W3C od října 2014 a dnes nemá cenu používat jiné verze jazyka
Jednotlivé části HTML stránky se označují pomocí elementů. Každý element se skládá z počátečního tagu, obsahu elementu a ukončovacího tagu. Malý příklad:
<p>Pokusný odstavec a zároveň element.</p>
Ukázka obsahuje jeden element, počáteční tag <p>
a ukončovací tag </p>
.
Některé elementy (například <br>
a <hr>
) nemusí mít ukončovací tag:
<p>Jedna řádka<br>
druhá řádka</p>
Elementy se obvykle používají pro vyznačení struktury dokumentu. Pokud potřebujeme nějak podrobněji vymezit význam elementu, použijeme k tomu atribut. Atribut se zapisuje za počáteční tag.
Odkazy vás rázem přenesou úplně
<a href="nekam.html">jinam</a>
Atribut má vždy nějakou hodnotu, která se mu přiřazuje. Pokud hodnota obsahuje pouze písmena, číslice, pomlčku a tečku, nemusí se hodnota atributu uzavírat do uvozovek. V opačném případě musíme hodnotu atributu uzavřít do uvozovek nebo do apostrofů. U jednoho tagu můžeme samozřejmě použít více atributů.
Atributy se mohou používat pouze u počátečních tagů, nikoliv u ukončovacích.
V HTML mají znaky '<
' a
'>
' speciální význam. Pokud je potřebujeme zapsat
do stránky, musíme použít tzv. znakovou entitu. Znaková entita má tvar
&
.
název_entity
;
Znak | Entita |
---|---|
< | < |
> | > |
& | & |
" | " |
© | © |
nedělitelná mezera | |
až do verze HTML4.01 je syntaxe založena na SGML
prohlížeče nicméně pro čtení nepoužívají parser SGML
každá verze je formálně definována pomocí DTD – to vyjmenovává jaké elementy/atributy jsou v dokumentu použitelné
odkaz na příslušnou verzi DTD se dělá pomocí deklarace typu dokumentu (!DOCTYPE)
XHTML – syntaxe je založena na XML
HTML5 – syntaxe vychází z HTML4 a toho, jak prohlížeče reálně kód načítají
HTML5 stránky lze zapisovat i pomocí XML syntaxe podobně jako XHTML (tzv. XHTML5)
HTML 4.01 definuje tři DTD:
DTD obsahuje všechny elementy a atributy HTML kromě těch, které se používají pro rozdělení okna prohlížeče na rámy.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
DTD je již striktnější než Transitional. Neobsahuje žádné
elementy a atributy, které slouží pro definici vizuálního vzhledu
dokumentu (např. elementy font
,
center
a atributy jako align
a color
).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
DTD se používá na stránkách, které rozdělují okno prohlížeče do
několika rámů pomocí elementu frameset
.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
HTML5 nepoužívá DTD, nabízí jednu sadu elementů/atributů
<!DOCTYPE HTML>
!DOCTYPE se používá zejména pro přepnutí do zobrazovacího režimu respektujícího standard CSS
!DOCTYPE by na stránkách nemělo chybět. Identifikuje použitou verzi HTML, přepíná prohlížeč do správného vykreslovacího režimu CSS a umožňuje automaticky zkontrolovat syntaxi stránky pomocí validátoru.
Existuje několik specializovaných programů a služeb, které umožňují zkontrolovat správnou syntaxi HTML stránky.
On-line validační služby:
Tato služba je provozována konsorciem W3C. Pro validaci používá starší technologie, pro validaci HTML5 používá validator.nu.
Nově vyvíjený validátor, zaměřený zejména na podporu HTML5 a lepší chybová hlášení.
na cvičení a v literatuře
stažení HTML stránky
z URL se získá doménové jméno, to se pomocí DNS převede na IP adresu
na zjištěné IP adrese na naváže TCP spojení a pošle se požadavek HTTP
server pomocí protokolu HTTP vrátí obsah HTML stránky
zpracování HTML stránky
načítaný HTML kód se parsuje
průběžně se buduje objektový model elementů na stránce (DOM)
obsahuje-li stránka odkazy na další důležité objekty (obrázky, CSS, JS), tak se také začnou stahovat a zpracovávat
vykreslení HTML stránky
z načteného CSS se vybuduje rovněž objektový model (CSSOM)
DOM (co se má zobrazit) a CSSOM (jak se to má zobrazit) se zkombinují a vykreslí
interaktivita
stránka může obsahovat i programový kód (JavaScript), který zajišťuje interakci s uživatelem
tím, kdy a jak se tak děje, si prozatím nebudeme kazit den 😊
Dive Into HTML5 – elektronická verze knihy o HTML5 (český překlad)
Relaxed – nový validátor XHTML kódu – pojednání o tom, co je to validita stránek a co shoda s normou HTML
XHTML je mrtvé! Ať žije HTML5! Nebo ne? – článek o vývoji syntaxe HTML/XHTML