Symbiatch - maailma on rikki

"Ei WP7-kehittäjiä Suomessa" / "No WP7 Developers In Finland"

13.02.2011 15.17 - IT-ala mobiili ohjelmointi 

Nokian WP7-julkistusta seuranneessa hölinässä on tullut useammankin kerran esille huoli suomalaisesta ohjelmistotuotannosta. Symbian ja Qt kun selvästikin olivat vahvasti täällä osattuna, mutta kukaan ei kuulemma tee WP7-kehitystä. Mielenkiintoinen väite, mutta asiaa voi tarkastella hieman järkevämminkin. Meinaan kauanko menee, että on?

Symbianin oppimiskäyrä on aina ollut hyvin jyrkkä. Sitä on yritetty laskea tuomalla ties mitä virityksiä avuksi, mutta apua ei ole ollut. Viimeisin repäisy oli Qt. Se ostettiin kolme vuotta sitten Nokialle. Kolme vuotta. Ja siinä ajassa ei ole vieläkään saatu kaikkea tehtyä, vaikka luvattiin jo kaksi vuotta sitten tulevaksi.

Ei kuitenkaan takerruta siihen, vaan tarkastellaan Qt-kehitystä. Qt on vähäisellä kokemuksellani ja muiden kertomuksia lukeneena reippaasti parempi kuin Symbian. Se ei ole vaikeaa. Mutta kehittäjät ovat yleensä olleet muita kuin mobiilikehittäjiä. Ja jos kehitetään mobiiliin, pitää tehdä käyttöliittymät eri tavalla, mobility API pitäisi saada käyttöön jne jne jne. Eli opettelemista on. Mutta taustalla kuitenkin jotain osaamista.

Qt ratkaisee sitten Maemo/Meego-kehityksenkin. Kunhan siis teet todennäköisesti uudet käyttöliittymät jne. Mutta silti se Qt pitää opetella. Henkilökohtaisesti en ole edes törmännyt moneenkaan taloon, jotka tekevät kehitystä Qt:lla. Mutta kai niitä on, kun kerran nettikommentoijat niin sanovat. Minähän uskon.

Entäs se WP7? Moniko oikeasti tietää millä sille kehitetään sovelluksia? Tätä lukevista ehkä useakin, mutta yleisesti nettikommentoijista hyvin harva. Voin sen tässä paljastaa, kera selityksen miksi ei ole ongelma, vaikka juuri tällä sekunnilla ei olisikaan montaa WP7-kehittäjää.

Jos haluat kehittää OEM:nä WP7-sovelluksia (kuten vaikka Nokia haluaa, esimerkiksi Ovi Mapsin jne), sitä ei tehdä millään ihmeellisellä WP7-APIlla. Alustana WP7:ssa on Windows CE, jota ohjelmoidaan Win32APIn kautta. Kyllä, se sama Win32API, jota on käytetty jo yli 15 vuotta työpöytäsovellusten tekemiseen. Moniko Suomessa ohjelmoi sillä? Moni.

Jos haluat tehdä muuten sovelluksia WP7:lle, kehitysalusta on Silverlight for Windows Phone. Se on alijoukko itse Silverlightin ominaisuuksista lisättynä tietysti mobiiliominaisuuksilla. Moniko täällä on tehnyt Silverlightille jotain? Ei välttämättä kauhean moni, mutta se ei ole ongelma. Miksikö? Koska Silverlight taas on alijoukko .NETistä, mukaanlukien WPF, WCF jne. Moniko ohjelmoi .NETillä? Aika hiton moni. Moniko tekee käyttöliittymät WPF:llä? Yhä kasvava joukko. Moniko käyttää WCF:ää juttelemaan bisneslogiikoille ja servereille? Hyvin moni.

Entäs pelit? Niitä voi sitten tehdä XNA:lla, joka on myös .NET-ympäristö ja jolla voi tehdä pelejä niin työpöydälle, Xboxille kuin kännyynkin. Moniko tätä täällä osaa? Ei varmasti niin moni, mutta eipä ole pelintekijöitäkään. Ja pelintekijöistä moni.

Eli kysymys kuuluukin: moniko suomalainen voisi olla WP7-kehittäjä ensi viikolla? Aika hiton moni. Moniko Qt/Symbian-kehittäjä voisi opiskella WP7-kehityksen? Kaikki varmasti. Eikä vaatisi edes kauheita ponnisteluja.

Joten itse en todellakaan näe ongelmaa siinä, että "Suomessa ei ole WP7-kehittäjiä." Koska Windows-kehittäjiä on ja paljon. Ja se riittää.

Ja vielä yksi asia: Symbian ei katoa huomenna. Eikä ensi kuussa. Eikä ensi vuonna. Ei kannata huolestua nyt niin kauheasti.

Nokia's decision to use WP7 in their devices has gotten several people to declar their concern about Finnish software development. Symbian and Qt development seem to be quite strongly available here, but seems that nobody is doing any WP7 development. Interesting claim but the situation can be appraised more rationally. Meaning: how long will it take for there to be developers?

The learning curve for Symbian has always been very steep. They've tried to lower it with this'n'that-kinda stuff many times, but to no avail. The latest attempt was Qt. It was bought three years ago. Three years. And it still isn't what it was supposed to be two years ago.

I won't get caught on that but rather consider Qt development. With my little experience and by reading things from other developers Qt is a lot better than Symbian. But that's not saying much. Qt developers, on the other hand, have been something else than mobile developers. And if you are doing mobile development, the UIs have to be done differently, mobility API should be usable etc etc. So there's a lot to learn. But there's still much knowledge about Qt to be used.

Qt solves the problem for Maemo/Meego, as long as you (probably) create the separate UIs etc. But you still have to learn Qt. I haven't met that many companies doing Qt but there must be lots of them since people on the net are saying so. And of course I believe them.

What about WP7 then? How many people really know what is used to develop for it? From those reading this I guess several, but for the laypeople probably not many. I can reveal it for all with an explanation why there is no problem with there not being any WP7 developers at this second.

If you want to develop OEM software for WP7 (as I suspect Nokia will want to, Ovi Maps etc) you don't use any esoteric WP7 API. WP7 runs on Windows CE which uses Win32API for development. Yes, the same Win32API that has been used for over 15 years in desktop development. How many people in Finland are using Win32API? Many.

If you want to develop other applications for WP7 you use Silverlight for Windows Phone. It's a subset of the actual Silverlight plus mobile APIs. How many people in Finland have done Silverlight development? Probably not that many but even that's not a problem. Because Silverlight itself is a subset of .NET including WPF, WCF etc. How many people develop with .NET? Lots of people. How many people are using WPF for the UIs? Ever growing. How many use WCF when talking to business logic and servers? Many.

Games, then. That's where XNA comes in. It's also a .NET environment that can be used to develop games for desktop, Xbox and mobile devices. How many have experience about it here? I don't suppose that many, but there aren't that many gamemakers. Of them I suspect very many know it.

So the real question is: how many Finnish developers could be WP7 developers next week? Very damn many. How many Qt/Symbian developers could learn WP7 development? Everyone I'm sure. And it wouldn't even take that much work.

That's why I don't see any problem with there "not being any WP7 developers in Finland." Because there are lots of Windows developers. And that's enough.

Oh, and another thing: Symbian isn't going away tomorrow. Not even next month. And not next year. Don't worry so much.

Kommentoi

Lisää kommentti

Nimi:
Email:
Kotisivu:
Kotisivu:
Kommentti:

Kommentit

ml (anon, 13.02.2011 17.56)

Juurikin näin. Hysteria kiteytyy nimenomaan tietämättömyyteen.

Pera (anon, 13.02.2011 19.11)

No miten Win32:lla tehdään koodia WP7 alustalle. En nyt tarkoita mitään hankalia kiemuroita Win CE:n kautta ja platform buildereitä.

Siis, onko olemassa joku erityinen SDK WP7:lle - muillekin kuin vain OEM valmistajille.

Jotain Express versiota plus Silverlightia on tarjolla WP7:lle, mutta kun tulisi tehdä LAN-sovelluksia omaan verkkoon jossa toisena osapuolean on WP7-luuri, niin kuinka socketin saisi käyttöön jollakin SDK:lla WP7-luuriin, kun nykyinen Visual Studio 2010 Express for Windows Phone ei sockettia tarjoa System.Net.Sockets namespacessa.

Siis onko olemassa ja ladattavissa ilmaiseksi erityinen WP7 SDK jolla saa tehtyä Win32 koodia luuriin. Vai tuleeko olla yritys takanaan ja maksaa rahaa siitä, että saa käsiinsä WP7 SDK:n.

Olen kyllä googletellut mutta en ainakaan vielä ole löytänyt WP7 SDK:ta Visual Studioon.

Pera (anon, 13.02.2011 19.39)

Edelliseen viestiini vielä.

No täältä löytyi vinkkiä sen verran, että PInvokella (en täysin tunne tekniikkaa) on mahdollista
käyttää natiivia WP7-"kirjastoa" C#:n kautta. Jos asiaa oikein tulkitsen ja jos WP7 firmwaressa on
tarvittavat kirjastot paikallaan (minun tapuksessa System.Net.Socket socket luokka). Siis omia
ohjelmiani ei ole tarkoitus julkaista missää market pleisissä kuin omassa verkossani omiin tarpeisiini.

http://go.microsoft.com/?linkid=9730558

#
4.2.2 The application must not invoke native code via PInvoke or COM interoperability. If it does, it will fail the certification process.
#

Mutta vielä edelliseen viestiini, että onko WP7 SDK ladattavissa jostain johonkin Visual Studio 2010
versioon?

Ville (anon, 16.02.2011 09.23)

Montakos kertaa tässäkin blogissa kommentteineen on aiemmin puitu sitä Symbian Signediä ja capabilities-systeemiä kaikkine naurettavuuksineen?

Onnea vain alustan kanssa missä omalla laitteellaan ei saa testata/ajaa MITÄÄN koodia ilman allekirjoitusta mitä et tietenkään saa ilmaiseksi, käsittääkseni kun jos haluaa WP7-ohjelmia testisignailla niin tarvii Apple-tyyliin sellaisen vuosimaksullisen tilauksen. Aiemmissa Windows Mobile -käyttiksissähän näin ei ollut, mutta tässä WPSeiskassa on.

Tietenkin tämä tullaan haksaamaan (itse asiassa jonkinlainen viritys taisi olla ja ja mennä jo, Googleen chevron wp7), mutta itse olisin mieluiten ostanut seuraavaksi puhelimeksi Nokialta sellaisen Linux-pohjaisen luurin mikä ei luule tietävänsä käyttäjää paremmin haluaako hän kenties ajaa jotain koodia joillain oikeuksilla vaiko ei. (N900:han on käsittääkseni täysin avoin, vaikka tietenkään mitään takeita ei olisi ollut näiden Maemo/Meego-laitteiden pysymisestä jatkossakin samaan tapaan täysin avoimina.)

Symbiatch (anon, 16.02.2011 13.18)

Pera: Kuten tuossa mainitsin, vain OEM:t voivat käytännössä tehdä Win32 APIlla sovelluksia WP7:aan tällä hetkellä. Muut käyttävät sitten Silverlight for Windows Phonea. Ja siinä ei Socket-luokkaa ole.

P/Invoken käyttöä en ole tutkinut WP7:n päällä, kuten huomasitkin sitä ei hyväksytä marketplaceen laitettavilta sovelluksilta ollenkaan. Joissain tapauksissa ratkaisu on sitten käyttää esimerkiksi HTTP-yhteyttä, mutta jos tarvitaan oikeaa kaksisuuntaisuutta niin on aika heikkoa...

Leho Kraav (anon, 16.02.2011 13.41) kotisivu

+1 n900-lle täältä. olisko forking nokia the company mikään strategia? http://gitorious.org/community-ssu ftw?

Symbiatch (anon, 16.02.2011 13.47)

Tekisi kyllä mieli piikittää OSS-väkeä tässä, että kovastihan ne Maemot ja Meegot on OSS-alustoja, että siitä vaan tekemään. Kyllähän varmaan kaikki työkalut löytyy, ettei tarvitse ihmetellä miten N900:aan voi kehittää ihan mitä tahansa. Eikä Nokia voi estää mitenkään. Eri asia vaan löytyykö osaavaa/haluavaa väkeä.

(Olisi kyllä kiva nähdä moinen, ihan liikaa OSS-touhussa sitä tappelua ja forkkailua kolmeensataan suuntaan)

Ville (anon, 17.02.2011 05.20)

Totta sinänsä, että N900 ja se ainoaksi jäävä (jos sitä nyt tulee laisinkaan) Nokian MeeGo-puhelin todennäköisesti säilyvät käyttökelpoisina Nokian ja muiden kaupallisten toimijoiden tuesta täysin riippumatta vielä pitkään ainakin sellaiselle käyttäjälle, joka ei pelkää pientä "virittelyä".

Jossain vaiheessa kuitenkin vanha rauta alkaa käymään turhan hitaaksi (sekä tehojen että verkkopuolen siirtonopeuksien suhteen) tai ns. lahoaa käsiin. Mistä uutta avointa rautaa tilalle jos Nokiaa ei enää kiinnosta? Openmoko-projektikin taisi vähän mennä puihin. Noh, ehkä jokin helposti haksattavissa oleva Android-luuri on yksi varteenotettava vaihtoehto.

Nokian tai muiden firmojen WP7-luureja voisi harkita, jos niistä ChevronWP7-tiimin kertomista MS:n suunnitelmista todella tulee totta (ja se pakollinen warez-esto on toteutettu jotenkin muuten kuin rajoittamalla allekirjoittamattoman softan oikeuksia minkä pitäisi olla teknisesti täysin mahdollista), mutta uskon vasta kun näen.

Jutut.fi  |  Omat jutut  |  Muiden jutut  |  Kategoriat  |  kirjaudu