Přeskočit na hlavní obsah
Přeskočit hlavičku

Programování webových aplikací

Typ studia bakalářské
Jazyk výuky čeština
Kód 157-1330/01
Zkratka PWA
Název předmětu česky Programování webových aplikací
Název předmětu anglicky Web Application Development
Kreditů 4
Garantující katedra Katedra systémového inženýrství a informatiky
Garant předmětu Ing. Vítězslav Novák, Ph.D.

Osnova předmětu

1. Základní principy architektury webových aplikací. Klient–server modely, role webového serveru, request–response cyklus, protokoly a síťový model.
2. Vlastnosti protokolu HTTP a jejich význam pro návrh aplikací. HTTP metody, stavové kódy, hlavičky, práce se stavem aplikace.
3. Aplikační framework Django a jeho role ve webové aplikaci. Struktura projektu, odpovědnosti frameworku, základní konvence.
4. Životní cyklus webového požadavku v prostředí Django. Routing, views, middleware, generování odpovědi.
5. Generování dynamických webových stránek na straně serveru. Prezentační vrstva aplikace, šablonový systém, přenos dat do UI.
6. Struktura a opakovatelnost prezentační vrstvy. Dědičnost šablon, komponenty UI, práce s formuláři.
7. Datový model aplikace a perzistence dat. Návrh doménového modelu, ORM, migrace databázového schématu.
8. Práce s databází a databázové operace v aplikační logice. CRUD operace, filtrování, práce s vazbami mezi entitami.
9. Databázové transakce a zajištění integrity dat. Konzistence dat, atomické operace, chybové stavy.
10. Vícevrstvá architektura webových aplikací a oddělení odpovědností. Oddělení prezentační, aplikační a datové vrstvy, principy SOLID.
11. Práce se soubory a serverovými prostředky. Upload souborů, jejich správa, vazba na aplikační data, bezpečnostní aspekty.
12. Návrh a implementace aplikačních rozhraní typu REST API. JSON komunikace, HTTP metody, oddělení webového UI a API.
13. Základní principy autentizace, autorizace a zabezpečení aplikací. Řízení přístupu, uživatelské účty, ochrana aplikačních rozhraní.

E-learning

Studenti mají k dispozici v LMS Moodle prezentace jednotlivých přednášek, zadání a data pro cvičení.

Povinná literatura

PECINOVSKÝ, Rudolf (2024). Začínáme programovat v jazyku Python, 3. vyd. Praha: Grada. ISBN 978-80-271-5467-8.
DAUZON, Samuel, BENDORAITIS, Aidas a RAVINDRAN, Arun (2016). Django: Web Development with Python. Birmingham: Packt Publishing. ISBN 978-1787121386 .
MELÉ, Antonio (2022). Django 4 By Example: Build Powerful and Reliable Python Web Applications from Scratch. Birmingham: Packt Publishing. ISBN 978-1801813051 .

Doporučená literatura

VINCENT, William S. (2025). Django for APIs: Build Web APIs with Python and Django, 5. vyd. Still River Press. ISBN 978-1735467283 .
VINCENT, William S. (2024). Django for Beginners, 5th Edition: Build Modern Web Applications with Python and Django, 5. vyd. Still River Press. ISBN 978-173546726X .
MARTIN, Robert C. (2017). Clean Architecture: A Craftsman’s Guide to Software Structure and Design. New York: Prentice Hall. ISBN-13: 978-0134494166.