PV292 Multiplatformní vývoj Flutter aplikací

Fakulta informatiky
podzim 2024
Rozsah
2/1/1. 4 kr. (plus ukončení). Ukončení: k.
Vyučováno kontaktně
Vyučující
Mgr. Rastislav Mirek (přednášející)
Bc. Pavel Jakubec (cvičící)
Bc. Vladimír Korenčik (cvičící)
Bc. Nina Rybárová (cvičící)
Bc. Alžbeta Hajná (cvičící)
Richard Červený (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 25. 9. až St 18. 12. St 18:00–19:50 A217
  • Rozvrh seminárních/paralelních skupin:
PV292/01: St 25. 9. až St 20. 11. St 16:00–17:50 C511, St 27. 11. až St 18. 12. St 16:00–17:50 S209, V. Korenčik
PV292/02: Po 23. 9. až Po 16. 12. Po 16:00–17:50 A320, A. Hajná
PV292/03: Út 24. 9. až Út 17. 12. Út 18:00–19:50 A320, N. Rybárová
PV292/04: Po 23. 9. až Po 16. 12. Po 18:00–19:50 A320, P. Jakubec
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: 68/80, pouze zareg.: 1/80, pouze zareg. s předností (mateřské obory): 1/80
Mateřské obory/plány
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. Pro absolvování předmětu je potřeba vlastní notebook.
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích podzim 2023.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2024/PV292