BARTOŇ, J. Optimalizace spouštění single page aplikace [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2020.

Posudky

Posudek vedoucího

Ilgner, Petr

Bakalářská práce pana Bartoně se zabývá optimalizačními technikami pro zajištění zrychlení spuštění webové aplikace v jazyce Javascript. V rámci práce byly analyzovány výkonnostní problémy aplikace Kentico Kontent, navrženy a implementovány vhodné optimalizace. Obtížnost zadání zvyšovalo zasazení do komplexní aplikace, což vyžadovalo úpravu procesu vydávání zdrojových souborů a úpravy architektury hostování a doručení aplikace. Teoretická část má dobrou prezentační úroveň, kapitoly na sebe logicky navazují. Vliv navržených optimalizacích byl ověřen měřením v různých scénářích. Bohužel není vyzkoušena další optimalizační technologie. Chybí přehledné vzájemné srovnání optimalizačních scénářů, například formou grafu. Po formální stránce je práce na dobré úrovni, avšak některé věty, například v závěru, neodpovídají charakteru bakalářské práce. Student k řešení práce přistupoval příkladně, pravidelně konzultoval postup práce. Informace dokázal samostatně vyhledat v aktuální literatuře a dalších zdrojích. Tyto zdroje jsou v práci korektně citovány. I přes uvedené nedostatky hodnotím práci jako přínosnou, student se dokázal samostatně zorientovat v problematice a jím navržené optimalizace již byly nasazeny do produkční verze. Práci proto doporučuji k obhajobě s hodnocením C/79 b. Posudek zahrnuje i vyjádření konzultanta práce Richarda Juchelky ze společnosti Kentico Software.

Navrhovaná známka
C
Body
79

Posudek oponenta

Švikruha, Patrik

Študent sa v svojej bakalárskej práci zaoberá optimalizáciou distribúcie zdrojových súborov proprietárnej časti aplikácie Kentico Kontent ktorá používa SPA framework React. Tie zdrojové súbory su pri kompilácii transformované z JSX/TSX formátu do JavaScriptu. Výsledok práce je optimalizácia výstupov tejto kompilácie pomocou nástroja Webpack. V teoretickej časti študent popisuje JavaScript, spôsob jeho štandardizácie a fungovanie JavaScriptového enginu pri spracovávaní JavaScriptového kódu. Výhrady mám ku kapitole React.js ktorá popisuje framework React, DOM, virtual DOM a TypeScript. Tieto témy su pre neznalého čitateľa vysvetlené veľmi povrchne, TypeScript iba jednou vetou. Teoretická časť tiež neobsahuje vysvetlenie rozdielu medzi dynamickým a statickým ES6 importom a ani vysvetlenie React komponenty Suspense a metódy lazy na ktorej je založený výsledok tejto práce popísaný v kapitole 3.6. Praktická časť obsahuje jednotlivé merania pri zmenách konfigurácie Webpacku. Výhrady mám k reprezentácii výsledkov meraní, ktoré mohli byť v porovnávajúcej tabuľke alebo grafe. Kapitola 3.6 obsahuje aj teoretické vysvetlenie asynchrónneho načítania častí aplikácie, ktoré nie je dostatočne vysvetlené. Praktická časť neobsahuje špecifikáciu verzii frameworku React, TypeScript a Webpack. Súbory ktoré boli optimalizované obsahujú proprietárny kód a preto ich nebolo možné pridať do prílohy. Príloha obsahuje konfiguračné súbory Webpacku a vzorový súbor Project.tsx z ktorých nie je možné zreplikovať jednotlivé merania práce. Z formálneho hľadiska práca splnila zadanie. Výhrady mam k štruktúre práce, kde sa miešajú teoretické poznatky s praktickými výstupmi. Teoretická časť neobsahuje vysvetlené niektoré základné poznatky na ktoré nadväzujú praktické výstupy. Skratky CSS, LESS, NOSQL a SSL sú nesprávne rozvinuté.

Navrhovaná známka
D
Body
65

Otázky

eVSKP id 123911