bakalářská práce

Aplikace pro vytváření rozšířených uživatelských rozhraní pomocí plovoucích oken

Text práce 1.08 MB

Autor práce: Bc. Jakub Šediba

Ak. rok: 2023/2024

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

Oponent: Ing. Kristýna Zaklová

Abstrakt:

Táto práca rieši problémy spojené s potrebou prepínania aktívnych okien pri práci vyžadujúcej informácie z externých zdrojov. Tieto problémy sú adresované vytvorením modulárnej multiplatformovej aplikácie pre operačné systémy Windows a Linux, ktorá umožňuje používateľom vytvárať rozšírené používateľské rozhrania zobrazené v plávajúcich oknách. Používatelia aplikácie potom môžu použiť kombináciu týchto modulov na vytvorenie rozšíreného používateľského rozhrania. Vytvorená aplikácia ponúka možnosť vytvárať moduly pozostávajúce z niekoľkých okien, v ktorých sú zobrazené požadované informácie. Okrem tejto funkcionality vytvorená aplikácia ponúka úroveň automatizácie dosiahnutú podporou vytvárania globálnych klávesových skratiek, monitorovania súborového systému a možnosti simulovať vstupy myši a klávesnice. Vyvinutá aplikácie používa aplikačný rámec Tauri a kombináciu webových technológií s programovacím jazykom Rust.

Klíčová slova:

Multiplatformová aplikácia, rozšírené používateľské rozhrania, modulárna aplikácia, desktopová webová aplikácia, plávajúce okná, automatizácia, webové technológie, Tauri, Rust

Termín obhajoby

11.06.2024

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. V sekci 4.1 uvádíte jako uživatele aplikace běžné uživatele a vývojáře modulů. Mohl byste upřesnit, o jaké skupiny lidí se jedná a doplnit nějaké konkrétní případy použití?
  2. V závěru práce uvádíte jako nedostatek nemožnost přidání nových modulů do aplikace po instalaci. Jakým způsobem by bylo řešitelné přidávání modulů bez nutnosti překladu?
  3. Jak je možné dostat se do existující aplikace?

Jazyk práce

slovenština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Ing. František Zbořil, Ph.D. (předseda)
Ing. Libor Polčák, Ph.D. (člen)
doc. Mgr. Lukáš Holík, Ph.D. (člen)
doc. Ing. Vítězslav Beran, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)

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

Student k práci přistupoval svědomitě. Výstupy byly publikovány. Navrhuji hodnocení stupněm A.

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

Práce vznikla jako nápad studenta vytvořit multiplatformní aplikaci poskytující možnost tvorby vlastních plovoucích oken umožnujících interakci s externími zdroji informací (čtení/zápis z/do souborů, reakce na události operačního systému apod.). Pro tyto účely student prostudoval problematiku zobrazovacích systémů a správců oken, principy tvorby multiplatformních aplikací (Tauri, Rust) a webové technologie (TypeScript, React, CSS, HTML). Zadání považuji za obtížnější. Bylo splněno ve všech jeho bodech.

Práce s literaturou

Student si aktivně dohledával odbornou literaturu týkající se problematiky plovoucích oken a použitých technologií.

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

Student komunikoval během celého akademického roku formou pravidelných online konzultací. Byl schopen samostatně řešit netriviální problémy.

Aktivita při dokončování

Technická zpráva byla dokončována na poslední chvíli. Praktické výstupy byly dokončeny s předstihem a testovány.

Publikační činnost, ocenění

Výstupy byly prezentovány na studentské konferenci Excel@FIT 2024 a zdrojové kódy uveřejněny na platformě Github.

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

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

Posudek oponenta
Ing. Kristýna Zaklová

Student důkladně prostudoval vybranou problematiku a navrhl, implementoval i otestoval aplikaci, pro niž si vybral zajímavé technologie (Tauri, Rust a webové technologie). Výstupy studenta hodnotím jako nadprůměrné a navrhuji celkové hodnocení stupněm 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ší. Student musel prostudovat problematiku tvorby multiplatformních desktopových aplikací, odchytávání událostí na jednotlivých operačních systémech a technologie k tomu určené.

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

Struktura technické zprávy se skládá z osmi kapitol. Zpráva má logické členění a její obsah je vhodně rozdělen. V textu práce jsou často poznámky pod čarou s odkazy na zmiňované projekty, technologie apod. Jako mírně problematickou hodnotím kapitolu 6, která místy zabředává až do přílišných detailů (např. popis datových typů, funkcí a jejich parametrů).

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

Po jazykové stránce je technická zpráva na dobré úrovni, text je srozumitelný a bez zjevných chyb. Z typografického hlediska je práce standardní, v některých částech zprávy se vyskytují krátké odstavce, bílá místa nebo chybí nedělitelné mezery. Schémata byla přeložena do slovenštiny a jsou řádně odkazována z textu.

90
Realizační výstup

Realizačním výstupem je multiplatformní aplikace, která umožňuje vytváření modulů uživatelského rozhraní, jejichž cílem je zobrazování externích zdrojů v plovoucích oknech nad primární aplikací. Vytvořená aplikace řeší nutnost častého přepínání aktivních oken a dále poskytuje možnost automatizace založené např. na podpoře globálních klávesových zkratek pro zavolání funkcí. Funkcionalita aplikace byla demonstrována pěti moduly, které byly řádně otestovány.

95
Využitelnost výsledků

Řešení obsahuje několik modulů uživatelského rozhraní demonstrujících použití aplikace. V případě rozšíření aplikace mezi cílové uživatele si umím představit její rozšiřování o další moduly pro různé účely. Zdrojové kódy práce jsou součástí veřejného repozitáře a práce byla prezentována na studentské konferenci Excel@FIT 2024.

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

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

Zadání považuji za splněné. Textová část práce obsahuje informace, které pokrývají všechny body zadání. Z osnovy i samotných kapitol je znát mírná nevyváženost mezi teoretickou a praktickou částí, druhá je podrobnější. Uživatelské rozhraní aplikace je ukázáno pouze na obrázku 6.8, v kapitole s návrhem mohly být rozepsány jednotlivé části a jejich funkce.

Rozsah technické zprávy

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

Práce má 52 stran včetně seznamu literatury, rozsah technické zprávy splňuje předepsané požadavky.

Práce s literaturou

Práce se odkazuje celkem na 19 zdrojů, z toho 6 zdrojů pochází ze dvou webových dokumentací (tj. byla by možná citace webového sídla místo webové stránky). Kontrola originality textu systémem theses.cz uvádí podobnost méně než 1 %.

90
Otázky k obhajobě:
  1. V sekci 4.1 uvádíte jako uživatele aplikace běžné uživatele a vývojáře modulů. Mohl byste upřesnit, o jaké skupiny lidí se jedná a doplnit nějaké konkrétní případy použití?
  2. V závěru práce uvádíte jako nedostatek nemožnost přidání nových modulů do aplikace po instalaci. Jakým způsobem by bylo řešitelné přidávání modulů bez nutnosti překladu?
Výsledný počet bodů navržený oponentem: 90

Známka navržená oponentem: A

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