Uncategorized

Papa docs: Windows phone 8 sovelluskehitys

From: papapapa

To: lukijat

Subject: kuinka koodata Windows Phone 8 sovellus

No terve!

Symbianin kohdalla en koskaan jaksanut kahlata läpi kehitystyökaluja, joita tulisi kehityskoneelle asennettavaksi käsittääkseni vähintään 7-8 erilaista, jotta yksinkertaisen softan olisi voinut kääntää lähdekoodista puhelimelle. Rest in pieces, Symbian.On uuden avoimemman aikakauden vuoro. Nokian kohdalla riippuminen Symbianissa saattoi olla yksi keskeisiä syitä, miksi muutamat kilpailijat painoivat ohi ja lujaa. Mutta peli ei suinkaan ole vielä kokonaan pelattu.

Mietin, että asioita opetellessani tekisin 3- tai 4-osaisen kirjoitussarjan Windows Phone -kehityksestä. Julkaisun aikataulu on vielä kysymysmerkki, ja erityisesti tuo 2. osan ilmestyminen on varmaankin se isompi haaste. Nyt tässä ensimmäisessä osassa käyn läpi hieman WP8 taustoja ja erityisesti sitä lähtökohtaa, jolta itse ponnistan asian suhteen. Huom! En kirjoita tätä artikkelisarjaa asiantuntija-näkökulmasta, vaan nimenomaan uteliaana amatöörinä. Jos löydät asiavirheitä tai parannettavaa, pistä ihmeessä joko kommentti blogiin tai suoraan sähköpostia.

Windows Phone on mennyt mielestäni Symbianiin verrattuna hyvään suuntaan; nyt tuo oma pieni sovellusprojekti vaikuttaa jo “doable” -tasolta. Toisaalta ohjelmointitaustassani on jonkin verran (ei-natiivi) Windows koodaamista, lähinnä VisualBasic:lla, joten osa Windows Phonen sisältämistä teknologioista ovat tuttuja. Samoin ylläpitäjänä monet Microsoftin konseptit ovat tulleet vuosien mittaan kohtuullisen tutuiksi.

Kirjastosta löytyi varsin kelpo opas, Moonsoftin ohjelmistokonsultin Jani Järvisen (junassa kirjoittama!) uusi “Windows Phone 8 sovelluskehitys”. Painelin sitä eteenpäin ensi-istumalta 40 sivua. Innostuin aihepiiristä aika lailla, ja uskon, että tässä on se kipinä, joka johtaa lopulta ihka oikean WP8 sovelluksen valmistumiseen. Mutta eipä nuolaista aivan vielä.

Järvisen opas lähtee reippaasti käyntiin, jonka jälkeen jumitutaan hieman aikaa Microsoftin muiden tuotteiden ja lisenssoinnin parissa, mutta ko. firman kohdalla näistä on hyvä / pakollista tietää vaikka haluaisikin “vain” kehittää mobiilisoftaa. Lyhyesti sanottuna on hyvä tietää, että ainakaan tällä hetkellä WP8 alustalle ei ole mahdollista kehittää ilmaiseksi ohjelmia. Kehittäjälisenssi maksaa 99 USD per vuosi, ja sen saa Microsoftin Windows Phone Developer -sivulta. Kannattaa lukea aika tarkkaan kehittäjälisenssiin liittyvät julkaisuehdot ja kehittäjän vastuu ohjelmansa hyväntahtoisuudesta sekä kriittisten virheiden käsittely.

Ohjelmoinnissahan on mielenkiintoinen paradoksi historian valossa: ennen se oli helpompaa! Kun aloittelin itse ohjelmoinnin vuonna 1983, riitti, kun kirjoitin pari riviä (tai vain yhden rivin), ja sen jälkeen ajoin ohjelman RUN -komennolla. Tulos oli välitöntä, ja prosessi oli hyvin yksinkertainen. Koko hela hoito tapahtui pikkuriikkisessä muistimäärässä, hyvin heppoisilla resursseilla, armoitetun Commodore 64 -kotitietokoneen uumenissa.  Nykypäivänä edelleen on olemassa teknologioita, joissa pääsee hyvin nopeasti käyntiin ja kokeilemaan (mieleen tulevat erityisesti web-kehityksessä suosituksi noussut Javascript ja monet Linux/Unix maailman kielet kuten Perl, PHP ja Python). Toisessa päässä on sitten tällainen “raskas” sovelluskehitys, johon Windows Phone 8 -kehitys lukeutuu myös.
Microsoftin kohdallahan kehitystyökalujen pino on usein hyvin määritelty (“well defined”), mutta vastapainoksi se on aika proprietary
ja hinnakas (Järvisen kirjassa olevien suositusten mukaan peruskokoonpano jolla kehitystyötä voi tehdä maksaisi kone mukaanlukien
suurinpiirtein tuossa 1300-1500 euron tienoilla – jos mukaan laitetaan yksi Windows-palvelin, hinta noussee jonnekin 3000 euron tienoille). Microsoft on muuttunut vuosien mittaan hyvinkin paljon avoimemman ohjelmistokehitysmallin suuntaan. Silti koska kyseessä on suhteellisen perinteisellä liiketoimintamallilla toimiva yritys, se ei voi antaa kaikkea ulos ilmaiseksi.

Tuotteet on usein nivelletty keskenään “sopivasti” niin että Järvinenkin mainitsee kirjassaan, että vaikka kyse on puhelinkoodin
kehittämisestä, yllättäen kuitenkin mm. Office-, Azure-, jne palvelut tulevat usein käytännössä vastaan ja niiden osaamisesta
on hyötyä. Hieman MS-pakkosyöttöä toisin sanoen tiedossa, mutta en ole varma, onko tuo aivan absoluuttinen vaatimus vai nice-to-know. Käyn tulevissa osissa läpi erityisesti myös näitä, sikäli kun katson että kehittäjälle niistä on hyötyä. Toistaiseksi en voi sanoa juuta enkä jaata asian suhteen, kokemattomuuttani.

Microsoft tuntee sen, miten opittuja asioita kannattaa kierrättää järkevästi uusissa asiayhteyksissä. Toisaalta firma on myös tunnettu toisinaan varsin karskeista epäjatkuvuuskohdista, esimerkiksi nyt WP7 ja WP8 käyttöjärjestelmiin ei kannata haaveilla vanhan .NET koodin kääntämisestä. Asialla on myös hyviä puolia. Yllättäen nimittäin kun perheeseemme tulia Lumia 920 -puhelin, etsin melkein ensimmäisten asennettavien ohjelmien joukossa virusturvaa. Kävi ilmi, että virusten elosta tällä alustalla on tehty hyvin vaikeaa. Ensinnäkin jokainen puhelimessa ajettava app elää omassa eristetyssä hiekkalaatikossaan (‘sandboxing‘) ja lisäksi jokainen markkinoille hyväksyttävä ohjelma käy läpi Microsoftin testauksen.

Seuraavassa osassa: ensimmäinen toimiva ohjelma!

Uncategorized

Ferriss ja 4 tunnin keho – johdantoni

On kirjoja joista yksinkertaisesti vain haistan, että ne kiinnostavat ja inspiroivat. Timothy Ferriksen “4 hour body” (suom. 4 tunnin keho) on sellainen. Miehen oma tarina, taustat ja ajatukset ovat kiehtoneet pidemmän aikaakin, taustalla. Olen katsonut silloin tällöin Youtubesta esitelmiä ja löyhästi sanoen self-help / lifestyle design -aihepiirin videoita.

Ferriss on omien sanojensa mukaan ihmiskoekaniini, toimiakseen meidän muiden esitaistelijana ja myöskin suunnannäyttäjänä. Ferriss on kirjoittanut aiemmin menestysteoksen “The Four Hour Work Week”, jossa fokus on ajanhallinta ja – menestys!

4TK on itse asiassa aika erikoinen sillisalaatti. Kirjaan on olemassa alussa muutamia eri polkuja; sen voi hyvin lukea selailemalla. Kappaleet ovat noin suurinpiirtein sopivia kiireisen perheenisän iltalukuhetken mittaisia, tai ehkäpä jopa hieman pidempiä (riippuu lapsistasi!) Kirjan 500 sivua saattavat aluksi kummastuttaa; ei kannata huolestua. Teksti on hyvin nopealukuista.

Aloitin tutustumisen kirjaan aika satunnaisesti. Kirjasin kuitenkin heti alkuun rinnalle oman suunnitelmani kolkyt-ja-risat -rapautumisen estoksi. Lyhyesti sanottuna olin mielestäni päässyt uhkaavasti löysistymisen tielle, jolta ei enää 40 ikävuoden tapahtumahorisontin ylittämisen jälkeen välttämättä olisi paluuta, vaan kohtalona oli – ainakin omassa mielikuvituksessani – raaka paloiksivenyminen oman massakeskipisteeni ympärillä. No, siis painoa oli päässyt tulemaan 90 kiloon saakka, kun nuorna miehenä olin aina sen 73-74 kg. Armeija tosin “toi” noin 7 kiloa lisää (munkit ja liikunta? Mene ja tiedä! Ainakin tein sotilaskodissa ikipieksemättömän ennätykseni eräässä flipperissä). 80 kg:n rajapyykin jälkeen kävin jossain vaiheessa 90 kg:ssa, mistä tulin suurinpiirtein nykyiselle tasolle 86 kg:n pintaan puolessavälissä vuotta 2013.

Itse asiassa eräs mieltäni pidemmän aikaa kutkuttanut kysymys olikin, paljonko ihannepainoni olisi, ja mistä se oikeastaan riippuisi. Ihannepaino on siinä mielessä ilmeisesti aika epämääräinen käsite, että se ei riipu vain yksinkertaisesti muutamasta muusta asiasta, kuten iästä ja pituudesta, vaan myös siitä, mistä tuo massa on tehty, paljonko luut painavat, minkälaiseen käyttötarkoitukseen kehonsa haluaa, ja niin poispäin.

Ferriss tippuu sopivasti omaan tajuntaani varmasti myös siksi, että uskon vankasti tieteelliseen lähestymistapaan. Numerot, suunnitelmat ja eksaktit yhteydet asioiden välillä voivat tuntua tylsiltä, mutta usein matemaattinen luonnehdinta oikeastaan toimii jonkinlaisena nuotistona. Jokainen meistä soi eri tavalla; ja tie omaan hyvään oloon on varmasti persoonallinen. Ferriss silti painottaa 80-20 periaatetta kunnonkohotuksessa: usein pienellä osalla (20%) oikeita asioita saavuttaa suurimman osan hyödystä (80%). Ongelma on tietysti vain se, että tavallinen pulliainen ei tiedä, mikä 20% on kullan arvoista.

Matka jatkuu, lisää tiedossa!