Studijní materiály pro DA Web na kodim.cz
Část první
- Základní koncepty a účely HTML
- První skoro-prázdná HTML stránka
- Co je to syntaxe a sémantika
- Značky
<p>, <h1>, <h2>, <a>, <img>, <ol>, <ul>, <li>
- Atributy
src
,href
Část druhá
- Koncept jazyka CSS a jeho vazba na HTML
- Základy selektorového jazyka: názvy značek, zkratky pro třídy
- CSS vlastnosti pro práci s textem -
color
,background-color
,font-size
,font-weight
,font-family
, ...
Část první
- HTML značky pro layout stránky:
<div>, <header>, <footer>, <main>, <nav>, ...
- Box model -
box-sizing
,margin
,padding
,border
,width/height
- CSS jednotky -
px
,procenta
,rem
,em
Část druhá
- CSS vlastnost
display
- Pozicování elementů -
static
,relative
,absolute
Část první
- Úvod do Flexboxu - co to je a jak to funguje
- Nastavení velikosti prvků uvnitř flexboxu pomocí flex-grow, flex-shrink, flex-basis
- Směr hlavní osy flexboxu - flex-direction
Část druhá
- Základní layouty pomocí flexboxu (prvky vedle sebe)
-
Flexbox - pokračování
-
Zarovnání prvků ve flexboxu pomocí justify-content a align-items
-
Zalomení prvků uvnitř flexboxu - flex-wrap
-
Komplexnější layouty pomocí flexboxu - 1+3, holy grail, …
-
Vnořování flexboxů do sebe
- Responzivní webdesign, testování responzivity v prohlížeči
- Media query - změna CSS v závislosti na šířce viewportu
- Mobile first přístup
- Co je breakpoint a existují pevně stanovené pro mobil/tablet/počítač?
- Další techniky pro responzivní design: device orientation, viewport-relative units
- Skrývání/zobrazování prvků v breakpointech
- Změna velikosti nebo rozložení (vedle sebe/pod sebou) v breakpointech
- Aplikace responzivního webdesignu na dříve vyrobené flexbox layouty (3+1, holy grail)
- Responzivní webdesign - pokračování, viewport
- Pokročilé responzivní layouty a změna rozložení stránky
- CSS Transitions / Animations
- Pokročilejší CSS selectory - first/last/nth child, adjacent sibling, apod.
- CSS specificita
- formuláře v HTML - input, textarea, checkbox, radio, select, apod,
- validátory
- stylování formulářů v CSS - valid, invalid, apod.
- Float - obtékání obrázků textem, zastavení obtékání, clearfi
- HTML značky pro tabulky:
<table>, <thead>, <tbody>, <tr>, <td>, <th>
- Principy verzování
- Základní combo: init, clone, add, commit, push, pull
- GitHub, GitLab
- Základní Práce s větvemi
- merge
- co je to konflikt a jak jej řešit
Část první
- Úvod do programování - problém spolubydlení
- Čísla a aritmetika
- Textové řetězce a práce s nimi (spojování)
- Proměnné
Část druhá
- Voláni funkcí (náhodná čísla, zaokrouhlování, apod)
Čtení na doma
- Deklarace proměnných pomocí var/let/const
Část první
- První programy
- Vstup výstup, document.write, console.log, prompt
- Konverze hodnot, Number, String
Část druhá
- Booleovské hodnoty
- Podmínky - if/else if/else
- Porovnávací operátory = vs. ===
Čtení na doma
- Logické operátory
Část první
- Vyhledávání prvků na stránce - querySelector
- Změna vlastností prvku
- CSS vlastnosti element.style.xxxx
- textový obsah prvku textContent
- atributy prvku - src, href, apod.
Část druhá
- Vlastní funkce
- Předávání parametrů do funkce a vracení hodnoty
Čtení na doma
- CSS třídy - přidat/odebrat/přepnout
Část první
- Funkce jako hodnoty
- Předávání funkcí funkcím
- setTimer, setInterval
Část druhá
- Události
- přidávání událostí pomocí addEventListener
- událost onClick, onKeyDown a event.key
Čtení na doma
- vlastnosti události předané v event objektu
Část první
- Scope, globální proměnné
- Closures
Část druhá
- Programátorské best practices - DRY, členění kódu do funkcí
- Drobnosti - template strings, destrukturing...
- delegování událostí - událost přidaná na rodiče se vykoná i při kliku na potomky
Čtení na doma
Zásady psaní hezkého kódu
Část první
- Vytvoření pole
- Přístup k hodnotám v poli
- Metody pole pro vkládání/odebírání hodnot - push, pop, shift, unshift, slice, splice
Část druhá
- Vyhledávání v poli - indexOf, includes, …
- Procházení pole pomocí cyklu forEach
- querySelectorAll
- Cyklus for - předem známý počet opakování
- Funkcionální iterace (map, filter, some, …)
- Cyklus while - cyklus s předem neurčeným počtem opakování
- Práce s náhodnými čísly - házení kostkou, dokud nepadne 6, apod.
Část první
- Vytvoření objektu pomocí object literal
- Vlastnosti objektu
- Tečková konvence vs. přístup k vlastnostem jako k prvkům pole
- Objekty v poli = zdroj dat, “databáze”
Část druhá
- tvorba vlastních DOM elementů
- innerHTML
- Procházení pole objektů a generování HTML
Část první
- Serverová API - REST
- Data ve formátu JSON
- Čtení dat pomocí fetch
Část druhá
- Práce s Google Sheets API
Část první
- Funkce jako prvky objektů
function
athis
- prototypy, vlastnost
__proto__
- vlastnost
constructor
aObject.create
Část druhá
- Základy objektového myšlení
- Objekty jako samostatné jednotky
Část první
- Komponenty pomoci objektů
render
,mount
aupdate
Část druhá
- Zpracování událostí v komponentách
- Rozdělení kódu na menší funkční celky
- ES6 Moduly, výhody a nevýhody
- Otázka zpětné kompatibility (až do ES5?)
- Tři techniky pro podporu:
- Transpilace
- Polyfilly
- Bundling
- Příklady na práci s komponentami