FI:PV292 Vývoj Flutter aplikací - Informace o předmětu
PV292 Multiplatformní vývoj Flutter aplikací
Fakulta informatikypodzim 2023
- Rozsah
- 2/1/1. 4 kr. (plus ukončení). Ukončení: k.
- Vyučující
- doc. Ing. RNDr. Barbora Bühnová, Ph.D. (přednášejí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) - Poskytovatelé Specifické podpory výuky
- Zbyněk Cincibus (přepisovatel)
- 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:00–19:50 A217
- Rozvrh seminárních/paralelních skupin:
PV292/02: Út 18:00–19:50 A319, P. Jakubec
PV292/03: Čt 18:00–19:50 A320, P. Jakubec
PV292/04: Út 16:00–17:50 A319, J. Bateľ - 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 Moderní 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: 56/80, pouze zareg.: 0/80, pouze zareg. s předností (mateřské obory): 0/80 - Mateřské obory/plány
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Digitální lingvistika (program FI, N-DL)
- Diskrétní algoritmy a modely (program FI, N-TEI)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Informační bezpečnost (program FI, N-PSKB)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Nasazení a provoz softwarových systémů (program FI, N-SWE)
- Návrh a vývoj softwarových systémů (program FI, N-SWE)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Principy programovacích jazyků (program FI, N-TEI)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- 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
- Studijní materiály
Předmět je vyučován každoročně.
- Statistika zápisu (podzim 2023, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2023/PV292