tiistai 13. huhtikuuta 2010

Iphone SDK 4.0

IPhonen kehitysympäristön uusin versio julkistettiin muutaman kohun kanssa 8.4.2010.

Ensimmäiseksi on hieman pakko ihmetellä seitsämän peruspilarin valintaa. IBook, ohjelma joka pitää ladata  itunesista ja jota suuri osa käyttäjistä ei tule käyttämään. Ihanko tosiaan yksi tärkeimmistä uudistuksista.

IPhone saa siis vihdoin moniajon uudessa versiossa. Tai tarkalleen ottaen ominaisuuksia jotka muistuttavat moniajoa. Eli ohjelmisto voi saada käyttöjärjestelmältä esimerkiksi äänen taustalla tapahtuvaan lataukseen netistä tai paikannuspalveluihin. Tausta-ajo on siis rajattu tiukasti muutamaan tiettyyn tapaukseen ja käyttöjärjestelmä toteuttaa ja valvoo niitä. Periaatteessa mielestäni tämä tapa toteuttaa moniajo on jakaa ohjelma käyttöliittymä osaan ja tietynlaiseen palveluosaan. Toisaalta ko rakenne on muutenkin normaali ja hyvä tapa rakentaa sovellus. Perinteisessä mielessä applen ratkaisu ei kuitenkaan ole moniajoa. Mutta ratkaisu on minusta toimiva ja simulaattorissa ajettuna intuitiivinen ja ratkaisee kaikki itselläni mielessä käyneet moniajo tilanteet.

Itse en ole hirveästi ole kaivannut sinänsä moniajoa, eikä työpöydiltä voi mielestäni tuoda niiden moniajo toiminnallisuutta pieniruutuiseen laitteeseen. Kuitenkin applen ratkaisu on hienompi tapa ratkaista nopea applikaatioiden välillä "loikkiminen", silti useamman applikaation käyttäminen on edelleen hieman mutkikasta.

Toisesta isosta muutoksesta ei ollut puhetta lainkaan tilaisuudessa. Apple muutti sovelluskehitys sopimuksen kohtaa 3.1.3 muotoa. Uusi sopimuskohta estää sovelluskehityksen millään muulla kuin c, objective-c ja c++ kielillä. Kohdan muotoilu on yksiselitteinen ja selkeä.

Kyseisen kohdan muotoilulla on kaksi selkeää maalia: Adoben Flash ja cross-platform kehitys.

Tärkeämpi näistä on selkeästi cross-platform kehitys. Käyttäjän kannalta positiivista linjauksessa on se, että kaikki iPhone sovellukset tulevat olemaan iPhonelle tehtyjä ja niiden käyttöliittymät ovat johdonmukaisia, toteuttaen iPhonen käyttöliittymä logiikkaa. Jokainen työpöydällä java-ohjelmia ajanut tietää millaisia sotkuja cross-platform ohjelmat ovat.

Kuitenkin edellinen johtaa kilpailun rajoittamiseen. Applen huolehtii näppärästi siitä että samasta ohjelmasta on oltava kaksi eri koodihaaraa. Ja niiiden ylläpitäminen on työlästä. Apple laskeskelee, että koska iPhone ympäristössä on nyt aktiivisin kuhina,  tulevat sovelluskehittäjät valitsemaan iphone kehityksen ja hylkäämään muut ympäristöt kun resurssit loppuvat kesken.

Adoben kohdalla kyseessä oli selkeä ilmaus, nyrkillä suoraan nenään. Adobe julkisti maanantaina uuden verson kehittimestään (flash), joka kykeni tekemään konversion flashistä iPhone sovellukseksi. No kaikki tuo työ adobelta on nyt turhaa. Voidaan sanoa että apple ei piilotellut mielipidettään aikaisemminkaan, joten Adoben konvertterin kohtalo on aina ollut selvä.

Adoben konvertterin kieltämiselle tuli varmaan myös kiire koska SDK:ssa on myös tuki mainoksille sovelluksille, iAd. Olettaisin että, ilman adoben konvertterin kieltoa mainokset olisivat olleet suurmmaksi osaksi Flash konversioita. Mainosmaailmahan on flashin suurin tukija ja sen suurin ongelma.

IPhone 4.0 SDK:ssa mielenkiintoisena sivupiirteenä on Googlen nimen hävittäminen näkyvistä. Ennen hakunäppäin oli google, nyt se on search. Myös spotlightin kohdalla on google hieman siirtynyt taka-alalle. Eli askel eteenpäin Googlen ja Applen yhteenotossa. Toinen vastaava seikka löytyy edellämainitussa sovelluskehityssopimuksessa, siinä kielletään laitetietojen siirtäminen kolmannelle osapuolelle esimerkiksi haussa. Tällä estetään tietojen siirtyminen googlelle näppärästi. Koska google on maailman suurin mainosalan yritys on koko iAd suunnattu kohti Googlea. Todellinen kilpailu mobiilimainonnasta alkakoon.