| Anotācija |
React ir viena no visplašāk izmantotajām JavaScript bibliotēkām mūsdienīgu tīmekļa lietojumprogrammu izstrādei. Lietojumprogrammām kļūstot apjomīgākām, tās saskaras ar veiktspējas problēmām, piemēram, lēnu sākotnējo ielādi, nevajadzīgu komponentu atkārtotu renderēšanu un lielām klienta puses JavaScript pakotnēm. Lai gan React piedāvā vairākas optimizācijas metodes šo problēmu risināšanai, lielākajā daļā esošo pētījumu katra metode tiek izvērtēta atsevišķi un atšķirīgos apstākļos, tādējādi apgrūtinot to efektivitātes salīdzināšanu vai izpratni par to mijiedarbību, ja tās tiek piemērotas kopā. Šajā bakalaura darbā tiek sniegts kontrolēts empīrisks salīdzinājums starp trim izplatītām React veiktspējas optimizācijas metodēm — memoization (React.memo, useMemo, useCallback), lazy loading (React.lazy ar Suspense) un list virtualization (react-window), kuras tika testētas gan atsevišķi, gan kā kombinēta konfigurācija vienā eksperimentālā lietojumprogrammā, kas renderē 5000 produktu vienību. Tika izmērītas piecas konfigurācijas, izmantojot astoņus rādītājus, kas aptver ielādes veiktspēju, interaktivitāti, komponentu līmeņa renderēšanu un sākotnējo pakotnes izmēru, izmantojot Google Lighthouse, Chrome DevTools, React Profiler un Vite build izvadi. Katrs scenārijs tika atkārtots piecas reizes un validēts, izmantojot standarta novirzes analīzi ar kļūdas robežas pārklāšanās metodi. Rezultāti liecina, ka list virtualization nodrošina vislielākos apstiprinātos uzlabojumus visās metriku kategorijās, savukārt memoization, kas tika piemērota bez komponenta interfeisa pārstrukturēšanas, nesniedza apstiprinātus uzlabojumus, jo koplietots “prop” neļāva React.memo efektīvi darboties visā sarakstā. Kombinētā konfigurācija parādīja, ka, šīs metodes piemērojot kopā, tās var atklāt viena otras slēptās priekšrocības. Pamatojoties uz šiem secinājumiem, tiek ierosinātas piecas praktiskas vadlīnijas optimizācijas metožu izvēlei un apvienošanai, kas demonstrētas trīs izplatītos React lietojumprogrammu scenārijos.
Bakalaura darbs ir rakstīts angļu valodā. Tas sastāv no 77 lapām, 1 formula, 12 attēliem, 12 tabulām un 60 atsaucēm. |