Objavljeno: 21.9.2011 15:17 | Avtor: Boris Šavc | Monitor Posebna 2011 | Teme: android

V iskanju zlate žile

Človeštvo je v zgodovini preživelo kar nekaj zlatih mrzlic, začenši s kalifornijsko sredi devetnajstega stoletja. Zadnja v svetu računalništva je programiranje za mobilne naprave.

Znanje programiranja za priljubljene mobilne operacijske sisteme omogoča izdelavo programov, ki jih lahko prodamo v namenskih trgovinah, ki rastejo kot gobe po dežju. S takim početjem lahko obogatimo, saj smo na tem trgu enaki velikim in si z njimi delimo enake možnosti za uspeh. Poleg tega je veliko podjetij pripravljeno dobro plačati za razvoj specifične programske opreme, namenjene samo njim. V pričujočem članku vam recepta za uspeh žal ne moremo razodeti, potrudili pa se bomo, da v njem dobite osnovne smernice o tem, kako začeti. Pri tem ne bomo izpostavljali določenega sistema, marveč bomo končno odločitev o platformi prepustili vam.

Najlaže je začeti programirati za naprave podjetja Apple. Potrebujemo le računalnik Mac in razvojno okolje XCode, ki je v zameno za registracijo na voljo brezplačno. Brez prijave ga lahko kupimo v Mac App Store za slabe štiri evre.

Apple iOS

Pol milijona različnih aplikacij in krepko več kot deset milijard prenosov so razlog, da izberemo razvoj za iOS platformo. Od leta 2008 do danes trg programov za naprave podjetja Apple strmo raste in nič ne kaže, da bi strahoviti uspeh jenjal. Napravama iPod Touch in iPhone se je lani pridružila še tablica iPad, zato je jabolčna kura še naprej nosila zlata jajca. Uporabnik operacijskega sistema iOS za časa uporabe svoje naprave povprečno kupi kar šestdeset ali več aplikacij in to sistem nedvomno uvršča v vrh izplačljivosti razvoja programske opreme. Če na primer napišemo program za iPhone, bomo kljub temu, da je v rokah uporabnikov več naprav s sistemom Android, imeli boljše možnosti za prodajo svojega izdelka kot konkurenca, ki kodira za Googlovo platformo.

Za razvoj potrebujemo računalnik Mac z razvojnim okoljem XCode, ki ga dobimo na Applovih spletnih dverih za razvijalce. Za prenos XCode IDE se je treba vanj zgolj včlaniti, za preizkus svoje kode na dejanski napravi pa je treba plačati 99 dolarjev na leto. Z uporabniškim računom dobimo dostop do odlične zbirke praktičnih primerov in navodil za programiranje. Ko je izdelek končan, ga moramo poslati Applu v pregled. Postopek odobritve lahko traja celo več kot tri tedne in kaj lahko se zgodi, da naš program zavrnejo, če ni napisan v skladu s smernicami, objavljenimi na omenjenih dverih.

Operacijski sistem iOS razume programe, napisane v jeziku Objective C. Slednji za programerje ni bistveno težji od drugih tovrstnih jezikov in nadarjen programer ga osvoji v nekaj tednih. Nekoliko več težav bi znalcem iz tujih taborov (.NET, java ...) lahko povzročilo upravljanje pomnilnika in kazalci, saj na teh dveh področjih drugi jeziki programerju stojijo ob strani, Objective C pa tega ne počne in se mora programer znajti sam. Za začetnike bo učenje večji korak, a ne zahtevnejši od hoje po poti, ki jo sestavljako drugi predmetno naravnani jeziki. Obe skupini bi znali imeti malce težav pri samem orodju, ki vsekakor ima nekaj posebnosti. Zalo pomaga, če je učenec seznanjen s pravili okolja iOS in mu njegovi gradniki niso tuji. Bližnjic za učenje kodiranja v Objective Cju ni. V roke je treba vzeti nekaj knjig na to temo in se potopiti v razvojno okolje. Praksa dela mojstra!

Android

Druga možna izbira je številka ena med mobilnimi operacijskimi sistemi. Android je po množičnosti predstavnikov že prehitel Applove naprave in le vprašanje časa je, kdaj jih bo tudi pri programski opremi. Prednost sistema podjetja Google je v njegovi odprtosti. Kot pravi alter ego iOSa se rad pobaha s tem, kako se v popolnosti razdaja programerjem, ki pišejo zanj. Morebiti nas bo ravno tak način vodil v večjo inovativnost pri razvoju lastnih izdelkov? Že od leta 2008 ponuja Google razvojno platformo, za katero ni treba plačati niti centa, tako da se razvoj aplikacij za Android strmo povečuje. Manjši stroški pomenijo manj ovir, zato lahko programerji hitreje delajo. Za pisanje aplikacij potrebujemo razvojno okolje Eclipse in vtičnik Android Development Tools (ADT). Programira se v javi in tisti, ki že imate izkušnje z njo, ne boste dodatno osiveli. Preostali bomo morali večkrat pokukati v zglede, priložene skupku orodij ADT. Google se spozna na svoj posel, zato je razvoj tekoč in prehod na mobilno programiranje neproblematičen. Kljub temu se nam zna zaradi mladosti platforme in razpršenosti ciljnih naprav občasno zatakniti. Možnost izbire, fleksibilnost in mavričnost izdelkov so tehtni razlogi za nakup naprave, pri izbiri platforme za programiranje pa pomenijo prej slabost kot prednost. Razvijalec mora izdelke dodatno testirati, da zagotovi enako kakovost kot v drugem okolju. Prihaja do težav z združljivostjo, kakršnih konkurenti ne poznajo. Izdelovalci naprav še dodatno zapletajo z dodajanjem lastnih vmesnikov. Na srečo se stvari izboljšujejo in za manj zahtevne je na voljo bližnjica, imenovana App Inventor. Gre za eksperimentalno orodje izpod prstov Google Labs, ki omogoča manj izkušenim programerjem lažje izdelovanje mobilnih aplikacij za naprave z Androidom.

Za vsako različico operacijskega sistema Android potrebujemo lasten API (programski vmesnik). Na sliki so prikazani nameščeni APIji znotraj orodij Android SDK.

Ker App Inventor za Android omogoča le izdelavo ozko usmerjenih pripomočkov za izkoriščanje zmogljivosti mobilnih naprav, bo treba za uresničitev inovativnih idej poseči po uradnem SDKju podjetja Google. Brezplačno si ga prenesemo iz spleta in namestimo. Nato moramo usposobiti še razvojno okolje Eclipse (www.eclipse.org/downloads/). Izberemo različico z javo in se po končani namestitvi odpravimo v njene nastavitve. Tam z uporabo Help/Install New Software dodamo vir, kjer je ADT plugin. Če nastanejo težave z uradnim spletnim naslovom https://dl-ssl.google.com/android/eclipse/, poskusimo različico brez zaščite (http namesto https). Ostane nam še, da pokažemo ADT pluginu, kje bo našel Android SDK. V Window/Preferences izberemo Android in poiščemo kraj na disku, kjer je SDK nameščen (navadno pod Program Files/Android). Pripravljeni smo za delo, zato preletimo priložene priročnike in navodila ter se lotimo starošolskega kodiranja. Skupku orodij je priložen še posnemovalnik mobilne naprave, tako da se nam vsaj na začetku razvoja ni treba ukvarjati s specifičnostmi ciljne strojne opreme. Odprtost platforme in uporaba proste oziroma odprte programske kode tvorita široko skupnost razvijalcev, zato je moč v spletu najti silno veliko strani, ki obravnavajo pričujočo tematiko in so prva postaja ob morebitnih težavah.

Blackberry

Za telefone Blackberry morda ni pisano toliko aplikacij, a se ponašajo z občudovanja vrednimi prodajnimi rezultati. Naprave podjetja RIM (Research in Motion) merijo predvsem na poslovne uporabnike, to pa pomeni, da pisci izdelkov zanje dobijo trg, ki rad razveže mošnjiček, če se mu obeta produktivno izplačljiv pripomoček.

Osrednji razvojni jezik programiranja za naprave Blackberry je java. Kljub temu da podjetje RIM ponuja programerjem svoje razvojno okolje (IDE), priporočamo uporabo uveljavljenega Eclipse, ki je z ustreznim vtičnikom znalcem omogoča najhitrejši razvoj aplikacij za Robidnice. Najteže pri tem razvoju je zagotavljanje konsistentnosti delovanja, saj so na trgu strojno različne naprave. Komuniciranje z njimi se lahko od modela do modela razlikuje. Treba je dobro razmisliti o uporabniških vmesnikih in poenotiti način vnosa. Drugače se moramo lotiti razvoja vmesnika za napravo, ki je občutljiva za dotik, kot tistega pri telefonu z drsno ploščico. Kljub temu morata biti ob koncu dneva oba vsaj podobna, če ne kar enaka, oziroma se tako vesti. Dodatne težave ustvarjata še potreba po podpisovanju programske kode in uporaba različnih ločljivosti. Prvo zahteva RIM zaradi varnostne politike podjetja, drugo širok nabor naprav z različnimi zasloni. Več informacij o programiranju za naprave Blackberry najdemo na spletnem naslovu us.blackberry.com/developers/started/. Objava programov na App World je najdražja med tržnicami. Stane 200 dolarjev in je omejena na deset objavljenih aplikacij.

Priljubljeni mesečnik Wired je zgled aplikacije, izdelane po tehnologiji Adobe AIR. Od navadnih publikacij se razlikuje po povečani interaktivnosti in povezanosti v splet (na sliki gumb Buy Now in dinamičen okvirček s podrobnostmi o izdelku).

Windows Phone 7

Najmlajši izmed mobilnih velikanov je hkrati tudi najmanjši po številu uporabnikov. To naj bi se zaradi naprednosti sistema in ugleda podjetja, ki stoji za njim, kmalu spremenilo. Tudi Microsoft je ustvaril svojo spletno trgovino, kjer so novi razvijalci več kot dobrodošli. Na Microsoft Phone Marketplace resda ne najdemo toliko aplikacij kot na Googlovi ali Applovi tržnici, a je vse pripravljeno na pričakovano širitev. Z Windows Phone 7 je Microsoft pretrgal vezi s starim sistemom Windows Mobile, zato boste te aplikacije zaman iskali v njihovi tržnici. Z WP7 so pri podjetju začeli znova, zgradili so nov mobilni operacijski sistem iz nič in ga opremili z nekaterimi res naprednimi funkcijami, kot so na primer Dinamične ploščice (ang. Tiles). Svežina nam obljublja inovativno platformo, ki kar kliče po uresničitvi naših najbolj norih zamisli.

Za razvoj aplikacij potrebujemo PC, opremljen z Windows 7 ali vsaj z osovraženo Visto, in razvojna orodja Visual Studio 2010. Druga specifična orodja (Silverlight, XNA Game studio, Emulator, Expression Blend ...) najdemo na spletnem naslovu create.msdn.com/en-US/ in so brezplačna. Razvojni poti, ki ju ponuja Microsoft, sta dve. Silverlight, flashu podobna tehnologija, je primernejša za aplikacije, XNA pa je namenjena razvoju iger. V obeh primerih je glavni razvojni jezik programiranje v C#. Izkušeni v .NET okolju ne bodo imeli večjih težav, za druge pa je na voljo silno veliko gradiva na temo, kako začeti. Za objavo dokončanega izdelka na tržnici zahteva Microsoft podobno kot Apple letno članarino slabih sto dolarjev.

Kako začeti

Navedli smo osnovne smernice za štiri največje mobilne platforme na trgu. Poleg njih ne smemo pozabiti na naprave, ki jih poganja Symbian oziroma kateri izmed vzhajajočih mobilnih operacijskih sistemov (npr. Maemo, webOS, MeeGo ...). Programiranje, kakršnega smo si zamislili, mi je vsekakor najosnovnejše, kar pomeni, da za rezultate zahteva znanje vseh temeljev izbrane platforme. Seveda so tudi druge poti. Ustvarimo lahko na primer spletno aplikacijo, ki bo videti kot naravni program na ciljnem telefonu, a bo v bistvu le prilagojena internetna stran (npr. m.youtube.com). Za razvoj je moč uporabiti bližnjice v obliki namenskih orodij, kot sta platformi Adobe Air ali Titanium Appcelerator, ki omogočata izvoz flash aplikacij v mobilno obliko, primerno izbrani platformi, ali razvoj za več operacijskih sistemov hkrati. Karkoli izberemo, je še vedno najpomembnejša ideja.

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