Objavljeno: 26.10.2010 | Avtor: Uroš Mesojedec | Monitor Oktober 2010 | Teme: android

Z bloki nad robota

Programska oprema je ključ uspeha novih mobilnih naprav. Eden od razlogov za veliko priljubljenost sistema Android je ravno dokaj preprosta pot do uspešnega razvoja in objave lastnih programov, ki pa zahteva poznavanje jave in ne ponuja veliko vizualnih orodij. Vse to lahko spremeni AppInventor, ki želi programiranje približati vsakomur.

Vpliva razvijalcev na uspeh določene strojne naprave ne gre podcenjevati. Še posebej, če gre za naprave, namenjene širokim množicam. Sodobni pametni telefoni in druge majhne mobilne naprave so prav takšne "igračke", namenjene skoraj vsakomur, po drugi strani pa odprte številnim možnostim najrazličnejše rabe, ali kot računalnikarji radi rečemo: aplikacijam. Razvoj aplikacij za mobilne naprave pa ni vedno najbolj preprosto opravilo. Ker gre za (vedno) povezano napravo, ki uporablja številne plačljive storitve, ni pametno dovoliti neomejenega poseganja v drobovje. V preteklosti smo tako morali sprejeti številne slabe kompromise, zato pravega izbruha neodvisnih aplikacij dolgo nismo dočakali. Celo revolucionarni iPhone sprva ni dovoljeval drugačnega programiranja aplikacij kakor skozi spletne strani in javascript. Danes sodobne podlage za mobilne naprave kar tekmujejo, katera bo bolj prijazna do razvijalcev. V tej tekmi je Google nedavno začel razkrivati novo orodje, AppInventor, ki programiranje mobilnih naprav preslika v vizualno sestavljanje blokov. S tem se razvoj drastično poenostavlja, koncepti programiranja pa se predstavljajo najširšim množicam. Prav zanimivo, kaj vse je mogoče tako sestaviti. AppInventor je trenutno še v fazi preizkušanja. Lahko zaprosimo za dostop, za to potrebujemo Googlov (Gmail) račun. Zadnje čase se je število odobrenih prošenj začelo povečevati, kmalu pa naj bi bilo orodje dostopno vsem.

AppInventor je v marsičem drugačen. Že samo orodje ni namizni program, temveč kombinacija spletne aplikacije in javanskega urejevalnika sestavnih blokov. Za preizkus (poleg odobrenega dostopa) tako potrebujemo najmanj operacijski sistem Windows XP, MacOS 10.5 ali Linux (npr. Ubuntu 8.x) oziroma katero od njihovih kasnejših različic, vanj pa moramo namestiti še Javo 6. Potem bomo potrebovali dovolj sodoben brskalnik, kot so Firefox 3.6, IE 6, Chrome 4, Safari 5 ali katera od kasnejših različic navedenih. To so minimalne zahteve, delo pa bo dosti bolj zabavno, če imamo še ustrezno mobilno napravo s sistemom Android, ki jo je treba prek sistemskih nastavitev pripraviti za delo z AppInventorjem, kar je zelo podrobno opisano v navodilih na spletni strani. Naprava sicer za rabo orodja ni nujna, saj lahko uporabimo tudi ustrezen posnemovalnik, a bomo pravi občutek o delovanju dobili le s preizkusom na dejanski napravi, da ne govorimo o tem, da nekaterih stvari posnemovalnik preprosto ne more ponuditi (npr. stresanja, ki je pogosto v uporabi kot krmilna kretnja za določeno akcijo v programu).

AppInventor poženemo prek spletne strani na naslovu appinventor.googlelabs.com. Kot rečeno, bomo za rabo potrebovali Googlov račun, ki pa mora biti v času tega pisanja še posebej odobren. Kmalu naj bi bilo orodje na voljo brez te dodatne omejitve. Po prijavi se nam odpre spletni vizualni urejevalnik uporabniškega vmesnika, ki je soroden sodobnim vizualnim razvojnim okoljem, le da je tu vse skupaj na voljo kar v spletnem brskalniku. Za najudobnejše delo se izplača uporabiti katerega od najnovejših; ker gre za Googlovo orodje, verjetno Chrome ni najslabša izbira. Sam urejevalnik namreč precej uporablja javascript, zato je hitro izvajanje te kode še kako pomembno za udobno delo.

Vizualni urejevalnik in urejevalnik blokov orodja AppInventor. V ozadju je zaslonska slika iste aplikacije z naprave.

Orodje združuje osnovno projektno vodenje, vizualni urejevalnik in izdatno pomoč. Delo začnemo z odpiranjem novega projekta, za kar zadošča vnos njegovega imena. Zelo priročna zmožnost AppInventorja je shranjevanje vmesnih posnetkov projekta (project checkpoint), kar nam omogoča, da se lahko vrnemo na poljubno shranjeno različico. Po odpiranju projekta se preselimo v vizualni urejevalnik. Urejevalnik je razdeljen na orodno vrstico zgoraj in štiri stolpce za delo z vmesnikom. V prvem stolpcu so palete z gradniki, ki jih s tehniko povleci in izpusti postavljamo v drugi stolpec, ki ponuja vizualni predogled vmesnika, v tretjem je hierarhično drevo uporabljenih gradnikov, v zadnjem pa je mogoče nastavljati lastnosti izbranega gradnika. V orodjarni zgoraj pa najdemo gumbe za shranjevanje, med katerimi je tudi "Checkpoint", s katerim lahko shranimo katerokoli vmesno fazo v razvoju projekta; te se bodo kopičile v projektnem upravniku, ki smo ga spoznali na začetku dela. Desno v orodjarni sta še dva gumba: zagon urejevalnika blokov in priprava izdelanega programa za mobilno napravo.

Izdelava vmesnika je šele prvi korak k izgradnji koristnega programa, za dodajanje logike programa moramo pognati javanski urejevalnik blokov (Blocks Editor). Če imamo nameščeno Javo 6, bomo z ustreznim gumbom v brskalniku "pognali" povezavo .jnlp, ki prenese in aktivira ustrezen javanski program. Po prenosu moramo zaradi varnosti še odobriti izvajanje podpisane kode in odpre se novo okno, "Blocks Editor". Blocks Editor komunicira s spletno aplikacijo, v kateri smo postavili vmesnik, zato že vsebuje seznam uporabljenih gradnikov. Če izberemo katerega od njih, se odpre izbirnik blokov za različne akcije ali stanja, ki jih gradnik podpira. Bloki so prikazani kot koščki sestavljanke različnih oblik in jih dejansko tako tudi sestavljamo v logiko delovanja programa. Tako npr. za izbirni seznam lahko najdemo blok "po izbiri s seznama", na katerega postavimo naslednji blok "nastavi vrednost v seznamu", v tega pa spet vtaknemo košček "izbrana vsebina v seznamu". Preprosta logika, ki na seznamu vedno prikaže trenutno izbrano vrednost, je tako nared.

Pripravljeni program lahko takoj preizkusimo v posnemovalniku (emulator, tudi ta je javanska aplikacija), če pa imamo mobilno napravo s sistemom Android, jo lahko povežemo na računalnik in ob ustreznih gonilnikih in vključenem razhroščevalnem načinu (Android Debug mode) zadošča klik na gumb "Connect to phone" v urejevalniku blokov in že lahko program preizkusimo neposredno na napravi. Med našim preizkušanjem nismo imeli prav nikakršnih težav, je pa seveda zelo koristno, da natančno sledimo navodilom za vzpostavitev ustrezne programske opreme na našem namiznem računalniku in nastavitev mobilne naprave, ki so zelo dobro opisane na spletnih straneh, povezava do njih pa je vedno na voljo v vizualnem urejevalniku (appinventor.googlelabs.com/learn/setup/).

Ko si malo ogrejemo prste in miško, se izplača prav s temi navodili izdelati katerega od zgledov. Spet lahko pohvalimo zares jasno in natančno opisane postopke, ki nas hitro pripeljejo do delujočega zgleda. Tako lahko med drugim najdemo podrobna navodila za izdelavo aplikacije "Android, kje je moj avto?", ki omogoča beleženje trenutnega položaja in kasnejše usmerjanje do shranjenega položaja. Podoben program je bil še nedavno prava prodajna uspešnica, s katero je avtor kljub nizki ceni zaradi številnih prodanih izvodov zaslužil kar lepe denarce.

No, aplikacij, razvitih z orodjem AppInventor, trenutno še ne moremo objavljati na tržnici programov za Android, kar je povsem pravilna odločitev, saj bi se tako hitro znašli v poplavi najrazličnejših trivialnih ali povsem neuporabnih "aplikacij", ki bi jih številni navdušenci brez ustrezne samokritike hitro objavljali. No, Android je seveda odprt, to pa pomeni, da lahko na večini naprav zgolj s preklopom stikala nameščamo tudi programe, ki ne izvirajo s tržnice. Tako je seveda mnogim omogočeno, da si iz spleta ali kakšnega drugega vira prenesli, karkoli želijo, in namestili na svojo napravo. No, kljub temu se Google pripravlja, da bo vzpostavil ustrezne postopke, po katerih bodo tudi programi, razviti z AppInventorjem, ob ustrezno izpolnjenih kakovostnih kriterijih lahko postali del vse bolj bogate tržnice aplikacij.

Za tiste, ki jih zanima ozadje, omenimo, da je AppInventor pravzaprav spletna manifestacija že dolgo znanega orodja Open Blocks Java, ki omogoča vizualno programiranje s sestavljanjem blokov, to pa je tesno povezano s programskim jezikom scratch, nekakšnim novodobnim logom. Večina teh tehnologij je bila razvitih na slavnem bostonskem MIT in so prosto na voljo. Del AppInventorja pa je tudi prevajalnik, ki vizualne bloke pretvori v kodo za Android ob pomoči ogrodja kawa, ki temelji na narečju jezika scheme.

Kakorkoli že, številne zanimive zmožnosti mobilnih in drugih naprav, ki jih krmili Android, so skozi AppInventor izpostavljene na tako preprost način, da jih v resnici lahko uporablja tudi otrok. Potrebnega je le nekaj znanja angleščine in morda nekaj pomoči pri vzpostavitvi celotne programske infrastrukture, ki omogoča uspešen zagon in uporabo orodja. Zatem vse teče gladko in silno zabavno, saj lahko rezultate svojega dela, če imamo ustrezno napravo, takoj preizkusimo. Morda tako res ni mogoče razviti čisto vsega in povsem mogoče je, da zgolj s pomočjo AppInventorja še dolgo ne bomo dočakali zares inovativnih in zanimivih aplikacij. A pravi čar orodja se skriva povsem drugje - trenutno najbolj vroče programiranje za mobilne naprave povsem demistificira in ga približa najširšim množicam. Iz kvantitete pa se rodi tudi kvaliteta in kogar bo programiranje Androida na tak način zadosti vzpodbudilo, si bo hitro omislil napredna razvojna orodja in v njih nadaljeval z delom.

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

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji