Uroš Mesojedec: Ajas

Uroš Mesojedec: Ajas
Objavljeno: 27.6.2006 15:10 | Avtor: Uroš Mesojedec | Kategorija: Mnenja | Revija: Junij 2006

V računalništvu je pogosto pogrevanje starih idej. Z osebnimi računalniki npr. počasi znova odkrivamo vse, kar so veliki sistemi imeli že pred desetletji: večopravilnost, večuporabniško delo, virtualizacija...

Še več, počasi se skozi globalno telekomunikacijsko omrežje, storitveno usmerjene arhitekture in programske gradnike spet selimo v svet zmogljivih strežnikov in bolj ali manj preprostih odjemalcev, "terminalov". Hja, znani "citat", da je na svetovnem trgu prostora za vsega pet računalnikov, ki ga je ali pa ni izrekel IBMov Thomas Watson v štiridesetih letih minulega stoletja, bi znal biti kar resničen. Vse kaže, da je idealno, če je na svetu le en sam "računalnik", ki pa je po drugi, že malo pozabljeni podjetniški viziji, v resnici omrežje.

Omrežje je torej ključni element računalniške izkušnje, ki precej spreminja uveljavljene načine rabe strojne in programske opreme. Uveljavljenim monopolistom je sicer skoraj desetletje in pol uspevalo zavlačevati to revolucijo, a je kljub temu na nezaustavljivem pohodu. Da je prihodnost programske opreme v storitvah, je danes že povsem jasno.

Še starejša modrost računalništva pa je, da uspeh vsake podlage odločujoče krojijo njene aplikacije. In tu so ključni člen razvijalci. Zato se je eden najpomembnejših mož programske industrije tudi tako mučil s kričanjem: "Razvijalci, razvijalci, razvijalci...". Še posebej presenetljivo pa je to, da razvijalce v množicah pritegne predvsem poenostavitev pri izgradnji uporabniških vmesnikov. Zdi se nenavadno, toda dokazov imamo na pretek. Najbolj priljubljeno razvojno okolje je še vedno Visual Basic. Predvsem zato, ker je ponudil učinkovit, vizualni urejevalnik za izdelavo uporabniškega vmesnika. Po njem so postali "vizualni" bolj ali manj vsi danes priljubljeni programski jeziki. Drug, značilen primer pomembnosti preproste izgradnje uporabniškega vmesnika so spletne strani. V resnici niso nič drugega kot nekoliko daljše besedilo. Kaj vse je mogoče z njimi početi, pa ne terja posebne razlage.

Učinkoviti uporabniški vmesniki, ki jih je mogoče izgraditi na čim lažji način, so tudi ključ do uspeha preglednic. Ta prototipna ubijalska aplikacija je še danes eno najbolj priljubljenih računalniških orodij in v sodobnih različicah omogoča izdelavo zelo zapletenih, a hkrati zelo vizualnih programov. Zato ne čudi, da se ravno po modelu preglednice zgledujejo številni raziskovalci, ki želijo spremeniti način razvoja programske opreme tudi za druge "problemske prostore", ne le za računovodje, ki z veščim obvladovanjem preglednic lahko sami, brez vmešavanja programerjev, rešijo marsikateri problem.

Pomen uporabniškega vmesnika se še povečuje z vedno večjo "komponentizacijo" programja. Programerska ogrodja so ves bolj zmogljiva in vseobsegajoča in dejanski izziv je izbrati prave gradnike, jih med seboj povezati in ponuditi uporabniku skozi čim bolj učinkovit uporabniški vmesnik. Seveda, ključ je v storitvah. Toda v vsakem primeru jih bo treba ponuditi končnim uporabnikom.

Lahko bi razglabljali, kako uporabniški vmesniki danes že desetletja zamujajo za obljubami pete generacije, ki je obljubljala umetno inteligenco, da o nekoliko manj fantastičnih idejah, kot je prepoznavanje glasu in slike, sploh ne razglabljamo. Odločilen preboj bi znale narediti prenosne napravice, ki zaradi svoje miniaturizacije kar kričijo po inovativnih pristopih k njihovi rabi, a kaj dlje od glasovnega izbiranja telefonskih številk in nekaterih omejenih poizkusov narekovanja sporočil še nismo prišli. Ostanimo zato pri poglavitnem uporabniškem vmesniku današnjega časa: spletni strani.

Enostavnost priprave spletnih strani, ki jih lahko gradimo že s preprostimi urejevalniki besedila, in prizanesljivost spletnih brskalnikov, ki odpuščajo številne malomarnosti v "programu", so za priljubljenost spleta naredili skoraj toliko kot preprosto kombiniranje oblikovanega besedila in grafike v poenostavljenem označevalnem jeziku. Vendar je splet trpel za pomanjkljivostjo, ki je pri običajni, namizni programski opremi nismo opazili. Spletne strani so za vsako posodobitev vsebine morale na posvet k strežniku in ta je pripravil novo stran in jo poslal nazaj odjemalcu. Spletni programi so zato vezani na odzivnost omrežja in kot takšni neprimerni za marsikatero dejavnost. Dokler ni nekdo odkril, da je spletni brskalnik v resnici precej več kot členitelj označenega besedila. Vnovično odkritje skriptnega jezika, ki zna krmiliti vsak drobec spletne strani, je rodilo Ajax.

Glavna čarovnija Ajaxa je mogoča že od predstavitve javascripta tam daljnega leta 1995. Skriptni jezik kot del spletne strani je namreč omogočal, da smo vsebino strani izgradili tudi brez vnovičnega posvetovanja s strežnikom, celo brez kakršnegakoli povezovanja prek omrežja. To je ključni del zgodbe o uspehu. Seveda je današnji Ajax povzel še vrsto sodobnih tehnologij, vgrajenih v brskalnik. Spletne strani ni več treba spreminjati v celoti, od vrha do tal, temveč se lahko s pomočjo DOMa sklicujemo na vsako, še tako majhno podrobnost. Tudi pri oblikovanju elementov imamo veliko bolj proste roke, saj videz določajo slogi CSS, ki jih je mogoče dinamično spreminjati. Potem pa je tu še majhen gradnik, ki omogoča povezovanje s strežnikom, ne da bi bilo za to treba osvežiti celotno stran. Spet v resnici nič novega, saj podobno izmenjavo sporočil, brez vnovičnega nalaganja celotne strani, prav tako poznamo še več kot deset let, odkar imamo na voljo okvire (frames). Res pa je, da so ti od takrat že precej iz mode in je poseben gradnik, ki omogoča komunikacijo s strežnikom brez njihove rabe, precej dobrodošel.

Ajaks je torej predvsem priljubljena kratica, ki obljublja učinkovito prenovo poglavitnega uporabniškega vmesnika današnjih dni. To pa nas znova pripelje do razvijalcev, ki morajo takšne uporabniške vmesnike pripraviti. Tako ne sme nikogar presenetiti neverjetna odzivnost glavnih ponudnikov programskih ogrodij, ki so drug drugega prehitevali v "ajaksifikaciji" spletnih gradnikov. Atlas iz Microsofta in JSF 1.2 iz javanskega tabora sta le dve najbolj sveži napovedi.

Ob vsem pompu, ki ju je pospremil, pa bi lahko skoraj spregledali še bolj revolucionaren pristop k razvoju za splet, ki ga je nedavno pripravil - kdo drug kot - Google. Njihov GWT (Google Web Toolkit) je nekaj povsem drugačnega. V resnici ni zgolj ogrodje, temveč skupek orodij, ki se "ajaksifikacije" loteva z drugega konca. Namesto da bi s sposobnostjo asinhrone izmenjave sporočil med spletno stranjo in strežnikom opremili obstoječe gradnike, so z GWT ponudili poseben prevajalnik, ki obstoječo, a ustrezno označeno kodo v javi prevede v skupek javascripta in HTML. Ob tem ohranja strnjen zapis in visoko neodvisnost od izbranega spletnega brskalnika. A to sta le podrobnosti iz opisa zmožnosti GWT, njegova poglavitna prednost pa je obravnava spletnega vmesnika kot le ene izmed možnosti komunikacije programskih postopkov z uporabnikom. Nobenega posebnega "žičenja", vmesnikov, pomožnih razredov, prilagoditev... V ideji nekaj zelo podobnega, kot je z EJB 3.0 java že spoznala pri poslovnih gradnikih. Zakaj komplicirati, če gre bolj preprosto. Uporabimo obstoječe predmete in jih zgolj odprimo v nov svet prek oznake ali dveh.

GWT je delno razkrita skrivnost številnih novih storitev, ki jih skozi inovativne vmesnike ponuja Google. Zdaj imamo tudi drugi razvijalci možnost, da se z njim pobliže spoznamo in ga uporabimo. Predvsem pa upam, da bo navdihnil tudi vso preostalo "konkurenco".

Razvijalce v množicah pritegne predvsem poenostavitev pri izgradnji uporabniških vmesnikov.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

Komentirajo lahko le prijavljeni uporabniki