tiistai 16. maaliskuuta 2010

Mobiili kehitysympäristöt

Windows Phone 7 Serieksen kehitystyökalujen julkistamisen kunniaksi päätin koota yhteen kaikki ne kehitysympäristöt joita olen hieman katsastanut. Uskoakseni olemme tällä hetkellä murrosvaiheessa jossa perinteisten työpöytä käyttöjärjestelmien paino-arvo pienenee ja ns. mobiilialustojen merkitys nousee. Tämähän on kuten Nokialta ennustettiin jo vuosikymmen sitten, tosin mielestäni Nokia ei ole tällä hetkellä relevenatti peluri tulevaisuuden uudelleen jaossa. Edellinen ei kuitenkaan tarkoita sitä, että työpöytä käyttöjärjestelmät mihinkään katoaisivat. Laitteiden ja käyttöjärjestelmien kirjo kasvaa, eli kaikelle elävälle tyypillisesti entropia lisääntyy. Uskoisin tulevaisuuden ohjelmistojen olevan kasvavassa määrin verkossa olevia ns pilviohjelmistoja, joihin räätälöidään kunkin alustan sovelluskehitysympärisöillä käyttöliittymä. Käyttöliittymä tehdään natiivisti jotta käyttöliittymä toteuttaisi maksimaalisesti alustan käyttökokemuksen ja nopeuden.

Windows Phone 7 Serieksen sovelluskehitys jakaantuu karkeasti kahtia: pelehin ja normaaliin sovelluskehitykseen. Pelejä varten sovelluskehitys tehdään XNA:n päällä. Samalla frameworkillä kehitetään XBOX360 ja Windows pelejä. Tämä lupailee varsin mielenkiintoisia näkymiä pelien kehittämiseen. Muut sovellukset tehdään Silverlight 4 päälle. Mielestäni Silverlight tarjoaa ilmaisuvoimaisen ja voimakkaan työkalun sovelluskehitykseen. Kehitystehdään Visual Studio 2010, josta on aikaa myöten kehittynyt erittäin tehokastykalu. Windows Phone simulator tarjoaa miellyttävän ympäristön debuggaukseen. Kaikki tämä yhdistettynä Windows Phone 7 Serieksen innovatiivisiin käyttöliittymä piirteisiin tarjoaa sovelluskehittäjille erittäin mielenkiintoisia näkymiä. Varsinaisen julkaisun yhteydessä ainakin silverlight osuus tultaneen julkaisemaan Express versiona, joka on ilmainen.
Windows Phone 7 Series työkalut saa täältä: http://developer.windowsphone.com/

Android työkalut perustuvat Javaan. Työympäristöksi tarjotaan Eclipseä, tämä on Open Source projekti. Eclipse on suuren käyttäjämääränsä vuoksi kehittynyt vakaa ja laajennetavissa oleva kehitysympäristö. Varsin paljon toiminnallisuudesta on automatisoitu mukavasti. Android on voimakkaan kehityksen kohteena, joten uusia versioita SDK:sta tulee varsin usein. Dokumentaatio on pääosin loistavaa, mutta välillä tuntuu jäävän jälkeen julkaisujen tahdista. Asentaminen ei ehkä yhtä helppoa kuin kilpailijoiden ja ihan kaikki ei ole aivan yhtä hiottua. Mutta innostusta yhteisössä riittä, eli kaikki on varsin kuvaavaa itse Androidiinkin. Työkalut ovat ilmaisia. http://developer.android.com/index.html

IPhone kehitys tapahtuu objective-c:llä. Kyseinen kieli oli minulle uusi tuttavuus, johon minulle on kehittynyt jonkinlainen viha-rakkaus-suhde. Toisaalta vihaan kieleen liittyvää alatason näpertämistä ála c ja esimerkiksi metodien kutsu notaatio saa minut masentumaan. Mutta toisaalta Applen SDK on loistavasti dokumentoitu ja ajatuksella toteutettu. IPhonelle kehittäminen on tehty johdn mukaiseksi. XCode on ympäristönä viimestelty ja se on erittäin tehokas työkalu. Käytännössä kehittäminen vaatii kuulumisen IPhone Developer Program:iin. Tämä maksaa 99$ vuodessa. Hinnalla saa myös uusimmat beta versiot puhelinten käyttöjärjestelmistä. http://developer.apple.com/iphone/index.action