bakalářská práce

Integrace DotVVM do .NET MAUI

Text práce 3.95 MB

Autor práce: Bc. Tomáš Mikeš

Ak. rok: 2022/2023

Vedoucí: Ing. Jiří Hynek, Ph.D.

Oponent: Ing. Vladimír Bartík, Ph.D.

Abstrakt:

Cílem této práce je integrace technologií DotVVM a .NET MAUI, která má umožnit jejich vzájemnou komunikaci a možnost vykreslení webových stránek vyvinutých v DotVVM uvnitř multiplatformní aplikaci .NET MAUI. Součástí je popis implementovaného řešení založeného na komponentě WebView a také vzorové aplikace demonstrující hybridní způsob vývoje. Praktická část zahrnuje analýzu způsobů vývoje mobilních aplikací, aplikačního rámce DotVVM a .NET MAUI. Výsledky této práce umožňují aplikacím vyvinutým v DotVVM fungovat uvnitř multiplatformní aplikace a přistupovat tak k nativním funkcionalitám daných platforem.

Klíčová slova:

DotVVM, .NET MAUI, .NET, MVVM, WebView, Hybridní aplikace

Termín obhajoby

15.06.2023

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Otázky k obhajobě

  1. Mohl byste stručně shrnout, co bude potřeba v budoucnu ve vašem řešení rozšířit, aby bylo použitelné pro složitější řešení než je vaše ukázková aplikace?
  2. Jaký nejtěžší problém jste při integraci řešil?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

prof. Ing. Tomáš Vojnar, Ph.D. (předseda)
doc. Ing. Petr Matoušek, Ph.D., M.A. (člen)
Ing. František Grézl, Ph.D. (člen)
doc. Ing. Tomáš Martínek, Ph.D. (člen)
Ing. Matěj Grégr, Ph.D. (člen)

Posudek vedoucího
Ing. Jiří Hynek, Ph.D.

Student ke své práci přistupoval svědomitě, dokázal pracovat samostatně a vytvořil použitelné řešení, díky kterému výrazně přispěl k využitelnosti a konkurenceschopnosti knihovny DotVVM firmy Riganti. Výsledky byly publikovány. Navrhuji hodnocení stupněm A.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Zadání vzniklo ve spolupráci s firmou Riganti. Cílem bylo integrovat webový rámec DotVVM do platformy .NET MAUI určené pro vývoj multiplatformních aplikací. Jelikož se jedná o poměrně nové a progresivní technologie, student musel většinu problematiky nastudovat přímo ze zdrojových kódů technologií. Zadání hodnotím jako obtížné. Bylo splněno ve všech jeho bodech.

Práce s literaturou

Student prostudoval doporučenou literaturu a aktivně dohledával další zdroje týkající se technologie .NET MAUI, DotVVM a přidružených technologií.

Aktivita během řešení, konzultace, komunikace

Student komunikoval během celého akademického roku. Konzultace probíhaly online s vedoucím práce a prezenčně ve firmě Riganti. Student řádně plnil zadané úkoly a práce postupovala dobrým tempem.

Aktivita při dokončování

Práce byla dokončena v předstihu a mohla být dostatečně konzultována.

Publikační činnost, ocenění

Výsledky byly publikovány formou posteru na konferenci Excel@FIT 2023.

Výsledný počet bodů navržený vedoucím: 95

Známka navržená vedoucím: A

Jde o nadprůměrně složité zadání, které bylo kvalitně splněno. Jak jsem již uvedl, přestože jde o bakalářskou práci, jde o poměrně kvalitní inženýrské dílo. Proto navrhuji nadprůměrné hodnocení výborně (A).

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: obtížnější zadání

Zadání práce hodnotím jako obtížnější, bylo nutné podrobně prostudovat framework DotVVM a technologii .NET MAUI, a dále navrhnout řešení, které by umožnilo propojit obě technologie tak, aby bylo možné vyvíjet hybridní aplikace fungující na různých platformách. Právě návrh tohoto řešení se mi jeví jako netriviální záležitost. Hlavní přínos vidím právě v návrhu tohoto řešení, jehož funkčnost student demonstroval na jednoduché multipatformní aplikaci.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Všechny body zadání byly zcela splněny.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Rozsah technické zprávy bez problémů splňuje předepsané požadavky.

Prezentační úroveň technické zprávy

Prezentační úroveň technické zprávy je kvalitní. Všechny kroky od teoretické části, přes analýzu a návrh až k implementaci jsou popsány srozumitelně a dostatečně. Velmi přehledná je teoretická kapitola 3 popisující využívané technologie, a ani k praktické části nemám větší výhrady. Po obsahové stránce mi chybí snad jen diskuse k tomu, zda navržené řešení je již plně použitelné pro tvorbu složitějších multiplatformních aplikací a informačních systémů nebo zda je pro tyto účely ještě potřeba něco dodělat.

87
Formální úprava technické zprávy

Po formální stránce je technické zpráva také na velmi dobré úrovni a hodnotím ji jako nadprůměrnou. Po jazykové stráne je zcela bezchybná a překlepů je minimální množství. Také typografických nedostatků je v práci zcela zanedbatelné množství.

90
Práce s literaturou

Množství použitých studijních pramenů svědčí o podrobném nastudování potřebné problematiky. Tyto prameny jsou také v práci pečlivě odkazovány, převzaté části práce lze tedy jasně identifikovat. Také k formátu odkazů nemám výhrady, vše je v souladu s normou. K porušení citační etiky nedošlo.

95
Realizační výstup

Realizačním výstupem je implementace navrženého řešení pro integraci DotVVM a .NET MAUI. Funkčnost celého řešení je demonstrována na ukázkové, relativně jednoduché multiplatformní aplikaci. Vše je plně funkční. Celkově to na mě působí jako kvalitní inženýrské dílo. Jediným otazníkem je již zmíněná otázka nutnosti rozšířit celé řešení pro účely tvorby rozsáhlejších aplikací. I v tomto případě ale lze konstatovat, že vytvořené řešení je velmi kvalitním základem pro další rozšiřování.

88
Využitelnost výsledků

Student navrhl a implementoval prakticky využitelné řešení pro integraci frameworku DotVVM a technologie .NET MAUI, které zcela jistě najde své využití u zadavatele.

Otázky k obhajobě:
  1. Mohl byste stručně shrnout, co bude potřeba v budoucnu ve vašem řešení rozšířit, aby bylo použitelné pro složitější řešení než je vaše ukázková aplikace?
Výsledný počet bodů navržený oponentem: 90

Známka navržená oponentem: A

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová