Webové Technologie Flashcards
CSS metodiky
Adaptivní webdesign
CSS preprocesory a postprocesory
AMP
HTML API
Pokročilé možnosti JS
JS frameworky
JS aplikace
Šablonovací a ORM systémy
- šablon systémy se používají pro rychlou tvorbu webových aplikací, u kterých odděluje aplikační a prezentační vrstvu, neboli odděluje kód a vzhled, takže programátoři a designéři mohou pracovat zvlášť nezávisle na sobě
- usnadňuje generování dynamického HTML na základě statických šablon a dynamických dat databáze
- renderování šablon probíhá na straně serveru, klientovi odesílán hotový kód HTML
- populární zejména při vývoji webových aplikací, kde je potřeba generovat obsah na základě serverové logiky (server-side rendering)
- zjednodušení vývoje, údržby a čitelnosti kódu
+ jednoduchá syntax, zvýšení bezpečnosti, možnost dědičnosti šablon
př. Twig - populární šablonovací systém pro PHP, čistá a čitelná syntax
Jinja2 - Python
Mustache - minimalistický, univerzální
Blade - PHP Laravel
Smarty - PHP
Razor - C#
ORM - technika umožňující mpřevod dat mezi OO jazyky a relačními databázemi
- pomáhá řešit problém rozdílnosti OO objektů a dat, aby spolu korespondovaly
ORM poskytuje vrstvu, která mapuje objekty aplikace na řádky v DB tabulkách
- umožňuje práci s těmito objekty přímo bez nutnosti psaní složitého SQL, neboli eliminuje potřebu psaní SQL pro běžné CRUD operace
Doctrie2 - knihovna pro PHP
- podporuje různé databáze - MySql, PostgreSQL, SQLite
- silná podpora transakcí - více operací v rámci jedné transakce
- podp. lazy loading
- migrace pro updatování modelů či databází
- dědičnost - mapování dědičných vztahů objektů na DB tables
př. dalších:
Eloquent - PHP Laravel
Mongoose - JS MongoDB
SQLAlchemy - Python
node.js
- runtime prostředí umožňující spouštět javascript přímo na serveru namísto v prohlížeči, jak tomu bylo zpočátku
- běží na V8 enginu od Googlu, open source, platformově nezávislé
- pro fullstack vývoj webových aplikací - nabízí nástroje pokrývající celý proces vývoje webových aplikací
- Asynchronní událostmi řízený přístup zpracovávání požadavků na jednom vlákně. Non-blocking I/O - operace jsou zpracovávány asynchronně, bez blokování hlavního vlákna, které může pokračovat ve své práci. Event loop - stará se o zpracovávání požadavků pro jednoduchost a rychlost
- cyklus událostí spouští I/O operace asynchronně, ty po skončení signalizují Callback či Promise pro zpracování výsledků
- optimalizovaný výkon díky V8 enginu
- integruje NPM - node package manager - správce balíčků pro nodeJS - jedním z nejdůležitějších nástrojů v ekosystému nodeJS, výrazně usnadňuje vytváření webových aplikací, poskytuje přístup k obrovské knihovně open-source balíčků
populární nodeJS frameworky jsou ExpressJS a NestJS.
ExpressJS - minimalistický framework, cílí na jednoduchost a flexibilitu
NestJS - pokročilejší framework, inspirovaný Angularem, používá typescript
- obsáhlý, nabízí více funkcí - pro některé případy až příliš
- v praxi ExpressJS často s MongoDB
Při psaní článku na blog, odešleme požadavek POST na server, server (nodeJS) požadavek zpracuje a uloží data do databáze. Pokud chce uživatel článek zobrazit, pošle požadavek GET na server, načtou se data z DB, odešlou se ve formě json či html a návštěvník článek zobrazí.
SEO