Tuesday 13 December 2011

Kännykät

Tässä seuraa nyt hieman naapuribloginkin alueilla käyvä blogiteksti Androidin ja WP7:n subjektiivisesta vertailusta.

Kuten aiemmin hehkutin, hankin tosiaan tuollaisen android-puhelimen leikkikaluksi. Olen hieman tutustunut sen ohjelmointiin ja saanut jotain pieni toiminnallisuuksia aikaiseksi. Kiireellisemmät projektit ovat kuitenkin häirinneet hänen kanssaan leikkimistä, joten en ole näitä toiminnallisuuksia yhdistänyt vielä isommaksi kokonaisuudeksi, mutta se hetki on vielä tulossa. Hehkutan jommassakummassa blogissa kun saan jotain valmista julkaistuksi.

Tänään osallistuin Windows Phone 7 "kehittäjäseminaariin", jossa sain hyvän kuvan siitä-toisesta kännyalustasta. Allekirjoittaneen mielipide on, että C# on kuin Java, mutta se on toteutettu paremmin. Hieman samantyyppinen olo tuli kun vertasi WP7:n kehitystyökaluja Droidin vastaaviin (Netbeans + android-plugin). Tuolla Metropoliassa luennoitsija demonstroi paikannusta, joka on niitä toimintoja, joilla olen omalla puhelimellani leikkinyt. En tiedä johtuiko se Javan ihmeellisestä event-mallista, Droidikirjastojen hassusta suunnittelusta vai mistä, mutta yksinkertainen koordinaattien hakeminen, joka vaati droidilla 2 sottaista luokkaa ja xml-tiedoston joka kuvasi UI:ta, meni .NETillä muutamaan riviin (ja tietysti xaml-tiedostoon).

Alustoista tein sellaisia havaintoja, että jos WP7-kehitykseen jaksaa syytää rahaa (IDE non-studentille ei ole mikään halpa, mikäli VC# Express ei riitä, kehittäjälisenssi on non-studentille 100$ vuodessa, testivehkeet ovat niin kalliita että niitä ei osteta ihan leikkikaluiksi, toisin kuin 83€ Samsung Gioni), voi siitä tullakin jotain. WP7-kehitystä puolustavat ne faktat, että XNA on ehdottomasti parempi grafiikkaympäristö kuin mikään mitä olen droidille löytänyt (tässä kohtaa kyllä ongelmana on se, että kun pelit eivät ole se ensimmäinen mitä suunnittelin toteuttavani droidille, en ole kovin aktiivisesti opiskellut droidin grafiikka-apeja), mobiili Silverlight on melko helppo ja kiva asiaohjelmistoalusta jos on koskaan nähnytkään WPF:n käyttöä (Droidin UI-kirjasto on aivan erilainen otus kuin Swing tai AWT) ja C# on mieleeni paremman event-mallin (ja sen mahdollistavien ominaisuuksien, kuten anonyymien funktioiden :P) vuoksi. Lisäksi Visual Studio riitelee kanssani vähemmän kuin java-idet (NB ja Eclipse), jotka mm. sisentävät koodin aivan oman mielensä mukaan, ja ainakin Netbeansin code-completeristä on enemmän haittaa kuin hyötyä, toisinkuin Visual Studion intellisense, joka tehostaa koodin kirjoitusta.

Droidia puolustaa juuri kaiken ilmaisuus/halpuus. Hyvän puhelimen saa testialustaksi halvalla (Giosta taitaa olla juuri nyt Elisalla joululahjatarjous 99€), ja kehitystyökalut ovat täysin ilmaisia, riippumatta valitseeko Netbeansin vai Eclipsen. En ole varmistanut seuraavia, mutta tietääkseni Android Marketiin saa julkaistua tuotoksia täysin ilmaiseksi, julkaistavien ohjelmien määrää ei mitenkään ole rajoitettu (Windows Marketplacella julkaistavien ilmaisten ohjelmien määrä on rajoitettu) ja omat android-paketit saa käsinasentaa (kopioida .apk kännykälle ja asentaa se tiedostonhallinnassa) niin monelle kännykälle kuin haluaa, siinä missä WP7-paketit saa käsinasentaa kolmelle kännykälle (opiskelijat yhdelle).

Kun WP7:n metro-liittymää esiteltiin, ymmärsin, että kyseessä on kännykkätasolla nerokas konsepti. En ole varma miten se tulee Win8ssa toimimaan pöytäkoneella, mutta kännyllä abstraktiot (käyttäjä haluaa lähettää viestin toiselle käyttäjälle, käyttäjä ei halua lähettää tekstiviestiä/facebookchat-viestiä/meseviestiä toiselle käyttäjälle), tilet (pikakuvakkeiden ja widget-pikkuohjelmien toiminnallisuuksia yhdistelevät oliot) ja vain tärkeimmän tiedon esilläpitämisen periaate ovat toimivia. Tarkempaa tietoa metrosta löytyy vaikka täältä

Lopuksi täytyy vielä todeta, että jos aikoo kännykoodauksella tehdä rahaa, on WP7 paljon parempi kohde kuin Android. En muista miten tuotot jaetaan droidilla googlen ja ohjelmoijan välillä, mutta windowsilla tekijä saa 70% tuotoista. Lisäksi WP7 - ekosysteemi rohkaisee tekemään rahaa olemalla kallis valinta ohjelmoijalle ja rajoittamalla ilmaisten ohjelmien julkaisua. Androidista olen saanut sellaisen kuvan, että se suosisi ilmaisi ohjelmia, mainoksellisia ohjelmia, mikä on käyttäjille loistava juttu, mutta tuo suurimmat tulot Googlelle. Ilmeisesti ohjelmoijakin saa mainoksista jotain käteensä (miksi Angry Birds olisi droidilla ilmainen, jos ei saisi?), mutta WP7n uskoisin olevan tuottavampi alusta kuin Androidin.

No comments:

Post a Comment