FI:PV292 Vývoj Flutter aplikací - Informace o předmětu
PV292 Multiplatformní vývoj Flutter aplikací
Fakulta informatikypodzim 2024
- Rozsah
- 2/1/1. 4 kr. (plus ukončení). Ukončení: k.
- Vyučující
- Mgr. Rastislav Mirek (přednášející)
Bc. Pavel Jakubec (cvičící)
Mgr. Jakub Bateľ (cvičící)
Bc. Alžbeta Hajná (pomocník)
Bc. Matěj Gorgol (pomocník)
doc. Ing. RNDr. Barbora Bühnová, Ph.D. (přednášející) - Garance
- doc. Ing. RNDr. Barbora Bühnová, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- St 18. 9. až St 11. 12. St 18:00–19:50 A217
- Rozvrh seminárních/paralelních skupin:
PV292/02: Po 16. 9. až Po 9. 12. Po 16:00–17:50 A320, P. Jakubec
PV292/03: Út 17. 9. až Út 10. 12. Út 18:00–19:50 A320, R. Mirek
PV292/04: Po 16. 9. až Po 9. 12. Po 18:00–19:50 A320 - Předpoklady
- PB162 Programování Java || PV168 Seminář programování Java || PA165 Java Enterprise Applications || PV178 Úvod do vývoje v C#/.NET || PV256 Úvod do vývoje pro Android || PB138 Web vývoj a značkovací jazyky || SOUHLAS
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 80 stud.
Momentální stav registrace a zápisu: zapsáno: 0/80, pouze zareg.: 109/80, pouze zareg. s předností (mateřské obory): 84/80 - Mateřské obory/plány
- Nasazení a provoz softwarových systémů (program FI, N-SWE)
- Návrh a vývoj softwarových systémů (program FI, N-SWE)
- Cíle předmětu
- Kurz se zaměřuje na koncepty a moderní trendy ve vývoji frontendových aplikací jako je declarative UI a multiplatformní vývoj. Představuje framework Flutter podporující kompilaci jednoho zdrojového kódu UI pro platformy Android, iOS, Windows, Linux, MacOS i webové prohlížeče. V rámci kurzu je kladen důraz na architekturu, objektový návrh a best-practices vývoje deklarativního UI, s ohledem na konvence a principy vývoje ve frameworku Flutter. Diskutována budou i specifika mobilních, desktopových a webových uživatelských rozhraní a přizpůsobení Flutter aplikace na ně. Ve druhé polovině kurzu studenti vypracují týmový projekt, na kterém si vyzkouší návrh a vývoj aplikace pomocí technologie Flutter. Cílem kurzu je také prodat studentům praktické znalosti a zkušenosti s vývojem aplikací (nejen) pomocí této technologie.
- Výstupy z učení
- Po absolvování tohoto kurzu student bude: - znát principy, nástroje, vzory a techniky doprovázející vývoj Flutter aplikací - schopen/na samostatně nebo v týmu navrhnout a naprogramovat komplexní Flutter aplikaci spustitelnou na platformě podporované frameworkem, případně na všech těchto platformách - rozumět specifikům vývoje deklarativních uživatelských rozhraní - znát konvence, best-practices a nejběžnější řešení správy globálního stavu Flutter aplikací - ovládat prostředí Android Studio nebo Visual Studio Code (podle volby studenta) v jeho aspektech podstatných pro vývoj Flutter aplikací - znát specifika mobilních, desktopových a webových platforem a multiplatformních responzivních uživatelských rozhraní
- Osnova
- Úvod do jazyka Dart a SDK frameworku Flutter, widget jako stavební prvek UI, StatelessWidget, zaklady layotu widgetů na obrazovce, motivace a porovnání s vybranými frontend frameworky StatefullWidget, postupy dekompozice UI na widgety, znovupoužitelnost widgetů, konvenence jazyka Dart a základy architektury Flutter aplikací Navigace, pokročilý layout widgetů, principy Flutter layoutu, postup vývoje multiplatformního UI, responzivní UI, základy asynchronního programování v Dartu Ekosystém Flutter balíčků, správa stavu aplikace v declarative UI frameworcích, koncept a možnosti správy (globálního) stavu ve frameworku Flutter, správa stavu aplikace pomocí techniky ChangeNotifier with Provider Dependency injection ve Flutteru, pokročilá architektura a správa stavu Flutter aplikací, Stream, StreamBuilder, RxDart, koncept UI jako funkce stavu InheritedWidget, správa stavu aplikace pomocí vzoru Bloc, tématování Flutter aplikací Vybrané aspekty architektury a vývoje moderních, komerčních Flutter aplikací, BaaS koncept, Firebase a Flutter Firestore SDK, vztah widget tree k element tree Týmový projekt
- Výukové metody
- seminární forma, povinná docházka, týmový projekt
- Metody hodnocení
- Kurz je založen na aktivní participaci studentů. Jako výstup studenti vypracují v samostatných týmech o 2-3 lidech závěrečný projekt a připraví jeho prezentaci (v rozsahu 5 minut) pro ostatní účastníky kurzu. Pro úspěšné absolvování je třeba aktivní particiapace na přednáškách a seminářích, vypracování tří domácích úloh, úspěšné vypracování a odprezentování projektu a splnění případných náležitostí uvedených cvičícím.
- Další komentáře
- Předmět je vyučován každoročně.
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2024/PV292