<?xml version="1.0"?>
<metadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:title>Optimiranje spletnih aplikacij v brskalniku</dc:title><dc:creator>Pirnat,	Uroš	(Avtor)
	</dc:creator><dc:creator>Jakus,	Grega	(Mentor)
	</dc:creator><dc:subject>optimiranje</dc:subject><dc:subject>uporabniška izkušnja</dc:subject><dc:subject>brskalnik</dc:subject><dc:subject>splet</dc:subject><dc:subject>RAIL</dc:subject><dc:subject>hiperbesedilo</dc:subject><dc:subject>JavaScript</dc:subject><dc:description>Diplomska naloga obravnava načine optimiranja spletnih aplikacij v brskalniku. Poudarek je na optimiranju njihovih elementov, ki posredno ali neposredno vplivajo na uporabniško izkušnjo, ki postaja ena izmed ključnih konkurenčnih prednosti na trgu programske opreme. Razvijalci so prve brskalnike zasnovali kot bralnike enostavnih dokumentov in niso predvideli, da se bodo nekoč v njih izvajale tudi aplikacije z bogatim uporabniškim vmesnikom. Kljub temu, da brskalniki niso bili zasnovani za razvoj tovrstnih aplikacij, pa lahko s poznavanjem nekaterih metod in razumevanjem arhitekture brskalnika uporabnikom zagotovimo prijetno izkušnjo.

Pomemben del vsakega optimiranja je merjenje uporabniške izkušnje, saj tako empirično preverimo učinek optimiranja. Preden pa se lotimo merjenja uporabniške izkušnje, je potrebno izbrati nabor količin, ki najbolj verodostojno odražajo uporabnikovo dojemanje aplikacije. V tem diplomskem delu sem na podlagi modela RAIL (ang. response, animation, idle, load), ki ga je razvilo ameriško podjetje Google, meril čas odziva vmesnika na uporabnikova dejanja (klik, tipkanje), hitrost izvajanja animacij in čas nalaganja.  

V prvem delu teoretičnega dela sem predstavil sodobne spletne aplikacije in okolje, v katerem delujejo. Poseben poudarek sem dal na osnovno nalogo vsakega brskalnika, to je upodabljanje spletnih dokumentov. Sodobne aplikacije so postale grafično bogate, saj tekmujejo z uporabniško izkušnjo, ki jim jo lahko zagotovijo klasične aplikacije z neposredno podporo operacijskega sistema. To pomeni, da moramo poskrbeti za številne animacije, prehode, slike, video vsebine itd. Razumevanje načina obravnave spletnih dokumentov je ključno, v kolikor se želimo izogniti pastem v obliki neučinkovite izrabe strojnih zmožnosti in posledično slabši uporabniški izkušnji.

V drugem delu sem se posvetil optimiranju. Pri razvoju programske opreme so tipični cilji optimiranja zmanjšanje potrebnega števila strojnih virov, izboljšanje uporabniške izkušnje, zmanjšanje količine prenesenih podatkov, izboljševanje razširljivosti itd. Ti cilji se lahko med seboj prepletajo. Zmanjšanje količine prenesenih podatkov, na primer, pozitivno vpliva na uporabniško izkušnjo, saj se manjše količine podatkov prenesejo hitreje. Po drugi strani pa se nekatera optimiranja izključujejo. Tako stiskanje podatkov bistveno zmanjša količino podatkov, potrebnih za prenos, a po drugi strani poveča potrebo po procesni moči. Zato je zelo pomembno, da vemo, kaj želimo z optimiranjem doseči. V tem diplomskem delu sem vsa optimiranja presojal po tem, koliko, če sploh, so izboljšala vrednosti parametrov, ki vplivajo na uporabniško izkušnjo.

V praktičnem delu sem izboljšave, opisane v teoretičnem delu, preizkusil v aplikaciji. Rezultati so bili dobri, se je pa jasno pokazalo, da imajo spletne tehnologije določene omejitve, ki so večinoma posledica odločitev iz začetnih let razvoja brskalnika. Takšnih primerov je veliko, eden izmed njih pa je dejstvo, da se HTML (hiperbesedilo, ang. hypertext markup language), CSS (prekrivni slogi, ang. cascading style sheets) in JavaScript koda spletne aplikacije tolmačijo in ne prevajajo v binarno kodo, kar se odraža v počasnejšem delovanju, saj se tolmačenje izvaja ob vsaki zahtevi po spletnem dokumentu, prevajanje pa je enkratno. Tudi zaradi omenjenega je zelo težko zagotoviti podobno uporabniško izkušnjo, kot jo ponujajo aplikacije, ki delujejo z neposredno podporo operacijskega sistema. Kljub temu pa prednosti v obliki enostavnosti razvoja, podpore na različnih operacijskih sistemih in napravah ipd. večinoma odtehtajo nekoliko slabšo odzivnost in počasnejše delovanje.</dc:description><dc:date>2016</dc:date><dc:date>2016-07-11 14:00:07</dc:date><dc:type>Diplomsko delo</dc:type><dc:identifier>84119</dc:identifier><dc:identifier>VisID: 33681</dc:identifier><dc:language>sl</dc:language></metadata>
