Spletna aplikacija je program oziroma storitev, ki jo uporabljamo prek spletnega brskalnika. Deluje s pomočjo spletnih tehnologij, kot so HTML, CSS, JavaScript, strežniški jeziki in podatkovne baze. Uporabnik do nje dostopa prek spleta, pogosto brez namestitve klasičnega namiznega programa.
Spletne aplikacije so danes zelo razširjene, ker lahko delujejo na različnih napravah in operacijskih sistemih. Pomembno je, da so pregledne, varne, odzivne, dostopne in dovolj zanesljive tudi pri večjem številu uporabnikov.
Pomni: Spletna aplikacija ni samo spletna stran z nekaj povezavami. Uporabniku omogoča opravljanje nalog, na primer prijavo, iskanje, oddajo obrazca, nakup, urejanje podatkov ali sodelovanje z drugimi uporabniki.
Osnovna pravila
- Spletna aplikacija deluje prek spletnega brskalnika.
- Odjemalski del se izvaja v brskalniku in običajno uporablja HTML, CSS ter JavaScript.
- Strežniški del obdeluje zahteve, preverja podatke, dostopa do podatkovne baze in vrača odgovore.
- Uporabnik aplikacijo uporablja za izvedbo konkretnih nalog, ne le za branje vsebine.
- Pri spletnih aplikacijah so pomembni varnost, dostopnost, odzivnost, hitrost in vzdrževanje.
Pozor: Interaktivnost v brskalniku ne pomeni nujno, da je celotna aplikacija varna. Podatke, ki jih uporabnik pošlje, mora preveriti tudi strežnik.
Primeri spletnih aplikacij
Primeri spletnih aplikacij so:
- spletna pošta,
- spletne učilnice in izobraževalni sistemi,
- spletne trgovine,
- bančne in plačilne aplikacije,
- aplikacije za izdajanje računov,
- orodja za sodelovanje in skupinsko delo,
- družbena omrežja,
- spletni urejevalniki besedil in preglednic,
- koledarji, obrazci in sistemi za rezervacije,
- napredne spletne aplikacije, ki jih je mogoče namestiti na napravo.
Razvoj spletnih aplikacij
Spletne aplikacije so se razvijale postopoma. Sprva je bil splet namenjen predvsem prikazu dokumentov, pozneje pa so se pojavile vedno bolj interaktivne in zahtevne storitve.
- Informacijske strani imajo poudarek na prikazu vsebine.
- Interaktivne aplikacije omogočajo vnos podatkov, obrazce, izbiro možnosti in odzive na dogodke.
- Transakcijske aplikacije omogočajo nakupe, prijave, rezervacije, plačila in podobne postopke.
- Sodelovalne aplikacije omogočajo skupinsko delo, izmenjavo dokumentov in komunikacijo.
- Napredne spletne aplikacije uporabljajo sodobne spletne vmesnike, lokalno shrambo, obvestila, delo brez povezave in namestitev na napravo.
V starejši literaturi se pogosto omenjajo izrazi, kot so Web 2.0, bogate internetne aplikacije in semantični splet. Danes je bolj uporabno govoriti o sodobnih spletnih aplikacijah, ki temeljijo na odprtih spletnih standardih, dostopnosti, odzivnosti, varnosti in dobri uporabniški izkušnji.
Pomni: Dobra spletna aplikacija ni določena samo s tehnologijo, ampak tudi s tem, kako razumljivo, varno in zanesljivo uporabniku pomaga opraviti nalogo.
Sodobne spletne aplikacije
Med pomembne lastnosti sodobnih spletnih aplikacij sodijo:
- odzivna postavitev za telefone, tablice in računalnike,
- delovanje v različnih sodobnih brskalnikih,
- dostopnost za različne skupine uporabnikov,
- varna komunikacija prek HTTPS,
- uporaba JavaScripta in spletnih vmesnikov za interaktivnost,
- povezava s strežnikom, podatkovno bazo ali zunanjimi storitvami,
- jasna struktura, razumljiv uporabniški vmesnik in dobro obvladovanje napak,
- možnost namestitve in dela brez povezave pri nekaterih aplikacijah.
Odjemalski in strežniški del
Spletno aplikacijo pogosto razdelimo na dva glavna dela:
| Del aplikacije | Kje se izvaja? | Tipične naloge |
|---|---|---|
| odjemalski del | v brskalniku | prikaz vmesnika, odziv na klik, preverjanje obrazca, pošiljanje zahtevkov |
| strežniški del | na strežniku | preverjanje podatkov, prijava, dostop do podatkovne baze, priprava odgovorov |
| podatkovna baza | na strežniku ali v ločeni storitvi | shranjevanje uporabnikov, naročil, izdelkov, objav in drugih podatkov |
Pozor: Gesel, zasebnih podatkov in pomembne poslovne logike ne shranjujemo samo v kodi, ki se izvaja v brskalniku. Takšna koda je uporabniku dostopna in jo je mogoče pregledati.
Napredne spletne aplikacije PWA
Progressive Web App oziroma PWA je spletna aplikacija, ki je zgrajena s spletnimi tehnologijami, vendar lahko uporabniku ponudi izkušnjo, podobno aplikaciji na napravi. Takšna aplikacija je lahko namestljiva, lahko deluje tudi ob slabši povezavi ali brez nje, uporablja obvestila in druge zmogljivosti sodobnih brskalnikov.
Pri PWA se pogosto uporabljata:
- manifest spletne aplikacije, ki opiše ime aplikacije, ikone, barve in način prikaza,
- service worker, ki lahko omogoča predpomnjenje, delo brez povezave in posebne načine obdelave zahtevkov.
Pomni: PWA je še vedno spletna aplikacija. Njena prednost je, da lahko uporabniku ponudi nekatere lastnosti, ki jih običajno povezujemo z nameščenimi aplikacijami.
Izdelava spletnih aplikacij
Izdelava spletne aplikacije običajno vključuje več korakov:
- načrtovanje ciljev, uporabnikov, funkcij in strukture,
- načrtovanje uporabniškega vmesnika in uporabniške izkušnje,
- izdelavo odjemalskega dela z HTML, CSS in JavaScriptom,
- izdelavo strežniškega dela, kadar aplikacija potrebuje prijavo, obdelavo podatkov ali povezavo z bazo,
- povezavo s podatki, podatkovno bazo ali zunanjimi storitvami,
- testiranje delovanja, varnosti, odzivnosti in dostopnosti,
- objavo in kasnejše vzdrževanje aplikacije.
Pri sodobnem razvoju spletnih aplikacij je pomembno, da aplikacija deluje zanesljivo, varno in razumljivo na različnih napravah ter da sledi odprtim spletnim standardom.
Primerjava: spletna stran in spletna aplikacija
| Vrsta | Glavni namen | Tipičen primer |
|---|---|---|
| spletna stran | predstavitev in branje vsebine | predstavitev podjetja, novica, učna razlaga |
| spletna aplikacija | opravljanje nalog in obdelava podatkov | spletna trgovina, spletna pošta, učilnica, sistem za rezervacije |
Priporočila
- Najprej določi, katere naloge mora uporabnik opraviti v aplikaciji.
- Uporabniški vmesnik naj bo jasen, pregleden in prilagojen različnim napravam.
- Pomembne podatke vedno preveri na strežniku.
- Za prijave, plačila in osebne podatke uporabi varno povezavo HTTPS.
- Pri razvoju upoštevaj dostopnost, hitrost nalaganja in razumljiva sporočila ob napakah.
- Za večje projekte načrtuj tudi vzdrževanje, varnostne posodobitve in varnostne kopije podatkov.