• Rezultati Niso Bili Najdeni

s tokovi. Z njihovo uporabo si zelo poenostavimo delo in skrajšamo čas razvoja. Veliko knjižnic je odprtokodnih, za njihov razvoj skrbi skupnost izkušenih razvijalcev.

6. Robustnost in skalabilnost. Samodejno upravljanje s spominom in či-ščenje pomnilnika omogočajo visoko skalabilnost in hitro delovanje.

Java je strogo tipiziran jezik, saj moramo za vsako spremenljivko nave-sti njen tip. Ko je deklarirana, njenega tipa ne moremo več spremeniti.

To zmanjša število napak v času izvajanja, saj smo jih prisiljeni odpra-viti že med razvojem.

Spring Boot je ogrodje, ki omogoča enostaven razvoj samostojnih in pro-dukcijsko pripravljenih aplikacij. Ponuja fleksibilen način konfiguracije ja-vanskih zrn (angl. Java beans), XML konfiguracij in transakcij v podatkovni bazi. Omogoča obdelavo v svežnjih (angl. batch processing) in izpostavljanje REST končnih točk. Ponuja vstavljanje odvisnosti (angl. dependency inje-citon, DI), označevanje razredov in poenostavlja urejanje odvisnosti. Samo-dejno konfigurira aplikacijo glede na odvisnosti, ki smo jih dodali z anotacijo

@EnableAutoConfiguration. Vstopna točka v sistem je razred, ki je označen s@SpringBootApplication.

Tok podatkov v tipični Java Spring Boot aplikaciji je predstavljen na sliki 4.2. Odjemalec pošlje HTTPS zahtevo na strežnik, kjer jo najprej sprejme krmilnik. Ta preveri veljavnost modela in vrne morebitne HTTP napake. Če je zahteva veljavna, pokliče storitveni nivo, ki dostopa do podatkovne baze in izvede zahtevano operacijo – pridobivanje, dodajanje, brisanje ali urejanje entitete.

4.3 Čelni del

4.3.1 Uporabniški vmesnik – HTML, CSS in Bootstrap

Splet postaja vse bolj zmogljiva platforma z vsako novo različico spletnih brskalnikov. Nove funkcionalnosti so v začetni fazi na voljo le testnim

skupi-odjemalec krmilnik storitev

Slika 4.2: Potek HTTPS klica v klasični Spring Boot arhitekturi od odje-malca do podatkovne baze in nazaj.

nam uporabnikov in razvijalcem, stare pa postavljajo trdni temelj sodobnega spleta. Nabor orodij za razvoj spletnih strani, kot so HTML, CSS in Java-Script, stalno vpeljuje nove funkcionalnosti in ne kaže znakov zatona. Da bi izkoristili vse nove funkcionalnosti, moramo včasih poseči tudi po orodjih kot sta WebPack in Gulp [114].

HTML predstavlja osrednji gradnik vsake spletne strani, brez katerega ne bi mogla obstajati. Spletna stran lahko vsebuje povezave na druge spletne strani, slike, tabele, oštevilčene sezname, naslove, gumbe, polja za vnos in druge gradnike. Tim Berners-Lee je prvič javno omenil jezik HTML leta 1991 v članku [115], ki opisuje le 18 HTML značk (danes jih poznamo okoli 140). Dopolnjena uradna prva različica je izšla leta 1993. Zadnja različica nosi oznako HTML5. Vsebuje nove in učinkovite načine za delo z video in zvočnimi datotekami.

Kaskadne slogovne predloge (CSS) omogočajo razvijalcem oblikovanje spletnih strani. Ločujejo predstavitev od vsebine, kar pomeni, da s tem

4.3. ČELNI DEL 43

povečamo flekibilnost in nadzor nad slogi ter omogočimo deljenje stilov med različnimi stranmi. Moderni spletni brskalniki si lahko ob prvem obisku shra-nijo CSS datoteko v predpomnilnik, kar ob naslednjih obiskih zmanjša čas nalaganja strani. Izrazkaskadne izhaja iz prioritetne sheme, ki opisuje, kateri slog naj se uporabi, če več kot en predikat ustreza elementu.

Bootstrap je knjižnica za HTML, CSS in JavaScript, ki se osredotoča na poenostavitev razvoja spletnih strani. Ponuja olepšano oblikovanje za vse HTML elemente. Poleg tega lahko razvijalci izkoristijo CSS razrede, defini-rane znotraj knjižnice, da dodatno prilagodijo videz predstavljene vsebine.

Ponuja temne in svetle odtenke, izpostavljen naslov, ostranjevanje, enoten iz-gled gumbov, tabel in napreden sistem za razporejanje elementov. V osnovi imajo Bootstrapove strani 12 stolpcev. Glede na velikost zaslona lahko po-vemo, koliko stolpcev naj element zavzema. Običajno je, da na mobilnih napravah element zavzame več stolpcev, saj želimo da je lažje viden. Na namiznih računalnikih pa lahko v isti vrstici prikažemo več gradnikov, saj je več prostora za prikaz. Primer spletne strani, oblikovane z Bootstrapom, je na sliki 4.3.

4.3.2 Interaktivnost – Vue

Tehnologija hitro spreminja poslovne načrte organizacij. Potrebujejo vizu-alno privlačno in informativno spletno stran, ki jim lahko ponudi največjo možno vidljivost v poplavi konkurentov. Eden največjih izzivov je prite-gniti in zadržati pozornost uporabnikov, saj se le-ti zlahka naveličajo, če jim prikažemo preveč informacij na nepregleden način. V tem kontekstu je inte-raktivna spletna stran najboljši način za zagotavljanje smiselne in privlačne uporabniške izkušnje.

Interaktivna spletna stran je v osnovi spletna stran, ki uporablja sodobna programska orodja za ustvarjanje interaktivne in bogate izkušnje za uporab-nika, kar podjetjem omogoča večjo angažiranost uporabnika v proces. Kot primer lahko predstavimo spletno stran za vremensko napoved. Interaktiv-nost uporabniku omogoča vnos lokacije in prikaz vremenskega poročila za to

Slika 4.3: Spletna stran, ki uporablja knjižnico Bootstrap za postavitev gradnikov in privlačen izgled.

regijo. Prikazan je tudi zemljevid, ki ga lahko poveča ali pomanjša in se tako osredotoči na regijo, ki ga zanima. Lahko upravlja z globusom in tako dobi vpogled v vreme po celotnem svetu.

Vue je JavaScript knjižnica za gradnjo uporabniških vmesnikov. Za raz-liko od monolitnih ogrodij, je Vue že od začetka zasnovan kot zelo razširljiv in prilagodljiv. Ogrodje knjižnice je osredotočeno na predstavitveni nivo.

Enostavno ga je uporabljati sočasno z drugimi knjižnicami ali ga uvesti v že obstoječ projekt. Zmožen je poganjanja naprednih enostranskih aplikacij (angl. single-page application, SPA), predvsem z uporabo dodatnih knjižnic (Vuex – upravljanje z globalnim stanjem aplikacije, Vue Router – naviga-cija med stranmi). V spodnjem izseku je predstavljen primer preproste Vue aplikacije, ki izpiše nakupovalni seznam.

<div id="app">

<h1>Nakupovalni seznam</h1>

4.3. ČELNI DEL 45

<ol>

<li v-for="artikel in nakupovalniSeznam"

v-bind:key="artikel.id">

data: function () { return {

Direktiva v-for omogoča iteracijo po seznamu, definiranemu v data objektu znotraj Vue instance. Navesti moramo tudi enolični identifikator objekta (direktivav-bind:key) Na spletni strani se izpiše oštevilčen seznam, ki je prikazan na sliki 4.4.

4.3.3 Ethereum denarnica – MetaMask

Veliko uporabnikov ima težave pri interakciji z decentraliziranimi aplikacijami in žetoni v verigi blokov. MetaMask se ponuja kot obetavna rešitev, ki se osredotoča na zmanjševanje ovir za vstop na trg decentraliziranih aplikacij.

Je kripto denarnica in okno v svet decentraliziranih aplikacij. Na voljo je kot razširitev za spletna brskalnika Google Chrome in Mozilla Firefox.

Nakupovalni seznam

1. brokoli 2. kava 3. losos

Slika 4.4: Oštevilčen nakupovalni seznam, prikazan z iteracijo po seznamu s pomočjo direktive v-for.

Postopek namestitve denarnice je preprost. Najprej razširitev namestimo v spletni brskalnik, si ustvarimo denarnico in jo zaščitimo z geslom. Nato si na varno mesto shranimo varnostno frazo dolgo 12 besed, ki nam omogoča obnovitev denarnice, če izgubimo dostop do računalnika. MetaMask lahko uporabljamo na decentraliziranih spletnih aplikacijah za pošiljanje transakcij in interakcijo s pametno pogodbo. Ob prvem obisku take spletne strani nas bo MetaMask vprašal za dovoljenje za dostop. Potrditev transakcije z MetaMaskom je prikazana na sliki 4.5.

4.4 Tehnologija vsebnikov, namestitev in