Přijde k vám zákazník a zadá vám zakázku na e-shop. Jak si poradit s komplexitou takového projektu?
Přijde k vám zákazník a zadá vám zakázku na e-shop. Jak si poradit s komplexitou takového projektu? Jak si ho rozdělit na dílčí části? Většina softwarových firem rozdělí takový projekt na 2 části – frontend a backend. Přidáme si k tomu kvůli přehlednosti třetí část – datovou, která bývá normálně počítána pod backend část.
Frontend - prezentační vrstva
Ta část projektu, kterou vidí uživatel. Přes tuto část uživatel komunikuje s aplikací. Existuje několik základních typů frontendu:
- Webová – webové stránky dostupné přes prohlížeč (např. czechitas.cz)
- Mobilní – mobilní aplikace (např. Instagram)
- Desktopová – programy v počítači (např. Word)
- CLI – příkazová řádka
Backend (aplikační vrstva)
V této části je obsažené jádro aplikace, které zajišťuje, že vše funguje, tak jak má. Někdo musí na pozadí naprogramovat logiku, která zajistí objednání produktu, nebo registraci účtu. V backendu se může definovat i tzv. API.
API (Application Programming Interface) je rozhraní, které propojuje různé části systému (samostatné moduly) nebo umožňuje propojit samostatné služby, např. chci mít na e-shopu přihlašování pomocí facebooku, tak se musím přes API propojit s Facebookem a tuto funkcionalitu na svůj e-shop přidat.
Data (datová vrstva)
Žádná aplikace dnes nemůže dost dobře existovat bez dat. V našem případě (e-shop), potřebujeme uchovávat data o uživatelích, našich produktech nebo prodejích. Většinou se dnes využívají tzv. relační databáze, tzn. soustavy tabulek, které jsou mezi sebou propojené relační vazbou. Společně pak tvoří celek, kterému se dnes říká databáze. Takové databáze můžou mít klidně desítky až stovky tabulek. Jsou ale přesně daná pravidla, jak takové databáze tvořit.
Když budu chtít s databázemi komunikovat – vypisovat data, zadávat data apod., budu potřebovat znát dotazovací jazyk SQL.
Kontrolní otázky:
Jaké typy frontendu (prezentační vrstvy) znáš?
Co je to API?
Jaký jazyk použiji při komunikaci s databází?
Doporučené odkazy/materiály