Bachelor's Thesis

DotVVM Integration into .NET MAUI

Final Thesis 3.95 MB

Author of thesis: Bc. Tomáš Mikeš

Acad. year: 2022/2023

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

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

Abstract:

The goal of this bachelor thesis is to integrate DotVVM and .NET MAUI technologies to enable their mutual communication and the ability to render web pages developed in DotVVM within a multiplatform .NET MAUI application. Part of the thesis describes the implementation of the solution based on WebView component, as well as sample application demonstrating hybrid development approach. The practical part is preceded by analysis of mobile application development approaches, the DotVVM and .NET MAUI frameworks. The results of this thesis allow applications developed using DotVVM to run within multiplatform application and access the native functionalities of the platforms.

Keywords:

DotVVM, .NET MAUI, .NET, MVVM, WebView, Hybrid application

Date of defence

15.06.2023

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

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.

Topics for thesis defence

  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?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

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)

Supervisor’s report
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.

Evaluation criteria Verbal classification
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.

Points proposed by supervisor: 95
Display more

Grade proposed by supervisor: A

Reviewer’s report
Ing. Vladimír Bartík, Ph.D.

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).

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: 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í

Evaluation level: zadání splněno

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

Rozsah technické zprávy

Evaluation level: 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.

Topics for thesis defence:
  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?
Points proposed by reviewer: 90
Display more

Grade proposed by reviewer: A