Teppo Pihlajamäki logo
Esittely 
Kirjoituksia 
Valokuvia 
Haikueditori 
Taidegalleria 
Hauvapeli 
Videoita 
Näyttelytila 
Linkkejä 
Yhteystiedot 

Työkaluja mobiililaitteiden cross-platform ohjelmointiin

Matkapuhelimille on jo muutaman vuoden ajan voinut tehdä ohjelmia web-tekniikoilla (HTML, CSS, JavaScript). Ne eivät silti toimi selaimen kautta, vaan ne ovat oikeita ohjelmia: niitä voi myydä ohjelmakaupoissa ja ne voivat käyttää ainakin osaa laitteiden API:sta. Luettelen alla joitain työkaluja, joilla voi tehdä ohjelmia mobiililaitteille. Olen laatinut listan omista lähtökohdistani, joten olen suosinut seuraavia ominaisuuksia:

  • Voi tehdä ohjelmia useille alustoille. Ainakin iPhonelle ja Androidille, mutta on plussaa, jos voi tehdä myös webiin, desktopiin ja pelikonsoleille.
  • Voi tehdä ohjelmia webtekniikoilla.
  • Perusversio ilmainen tai halpa.
  • Soveltuu peliohjelmointiin.
  • Toimii Macintoshissa

Taulukon kaikki työkalut eivät täytä kaikkia ehtoja, ja ne ovat muutenkin aika erilaisia; jotkut ovat pelkästään kirjastoja, joissain tulee mukana IDE. Jotkut toimivat selaimessa, toiset toimivat seminatiivisti WebViewssä. Aika monet kehitysympäristöt ovat saatavilla Macintoshille. Se johtunee siitä, että iPhonen SDK emulaattoreineen on Macille, ja melkein kaikki valmistajat haluavat tukea ainakin iPhonea.

Taulukko on viimeksi päivitetty 2012-11-10 (pintapuolisesti) ja lupaan että se vanhenee nopeasti. Informaation puoliintumisaika on tässä noin vuosi. Taulukossa on nytkin varmasti virheitä, eniten ehkä kohdassa kehitysympäristö. Useiden valmistajien nettisivut ovat nimittäin melko kryptisiä. Tutkikaa itse tarkemmin kiinnostavat ohjelmistot.


Nimi Kehitysympäristö Kielet Perushinta iPhone Android Nokia Muut Huomioita
Unity3D Win, Mac JavaScript, C#, Boo 0 x x - Windows, Mac, web 3D-peleihin keskittynyt. Pro-versio $1500, iPhone- ja Android-kehitys perusversio $400. 4.0 beta-vaiheessa.
Cocos2d 0 x x - katso tiedot taulukon alta
Marmalade Win, Mac C++, JavaScript $150 ylöspäin x x - Blackberry, Bada, Win ja Mac desktopit
Corona Mac Lua ilmainen hankkia, julkaistessa ohjelmia $199/vuosi x x tulossa iPad Resoluutiovapaus helppoa, 2D-fysiikanmallinnus
Titanium Win, Mac, Linux JavaScript (Python, Ruby ja PHP desktop-ohjelmille) 0 x x - Windows, Mac, Linux, iPad
PhoneGap Mac JavaScript 0 x x Symbian Blackberry, Palm wiki.phonegap.com
QuickConnect Mac JavaScript 0 x x Tulossa Blackberry, Palm http://quickconnect.pbworks.com/
appMobi JavaScript 0 harrastelijalle x x - Win8, open web *) huom.
CocoonJS JavaScript 0 vuoden 2012 loppun asti x x - *) huom.
ImpactJS JavaScript $99 x x - *) huom.
Ejecta JavaScript x - - *) huom.
Rhodes Mac? Ruby (JavaScript UI-ohjelmointiin) 0? x x Symbian Windows Mobile, RIM MVC-malli
MoSync Win C, C++ 0 - x S60 Windows Mobile, Java ME, Moblin 2 iPhone, Blackberry ja Meego tulossa
Elips Win, Mac ActionScript 199€/vuosi x x Symbian Windows Mobile Plugin Adoben Flex Builderiin
Ramp ? Java? 0 (academic) tulossa x Symbian MIDP, Windows Mobile, Blackberry
EdgeLib ? C++ 0? x - Symbian Windows Mobile, Windows, Linux 2D- ja 3D-pelien tekoon
Phonsai Selain, JavaSE ei mitään provisio x ? x Saitilla luetellaan satoja puhelinmalleja lelu, ei ohjelmointikieltä
Kendo UI JavaScript $199-$999 x x - Blackberry
Construct2 Win - 79 puntaa x x Facebook, Windows, web Ei ohjelmointikieltä
DragonFireSDK Win C, C++ $50 x - - -
WidgetPad Selain JavaScript ? x x - Palm Pre
Whoop Selain? ei mitään provisio? x x J2ME Windows Mobile, Blackberry lelu, ei ohjelmointikieltä
Sencha Touch ? JavaScript 0 open sourcelle x x - iPad Vaatii erillisen kehitysympäristön (Eclipse?). Resoluutiovapaa.
Grapple Mobile ? JavaScript ? x x x Java, Blackberry Avustaa julkaisemisessa eri sovelluskauppoihin.
AirPlaySDK Win, Mac C++ ? x x Symbian BREW, Windows Mobile, Bada http://www.ideaworkslabs.com/en/
J2ME Polish Java Java 999€ x x MIDP Windows Mobile, Blackberry, Palm, DoJa, WIPI

Game Developer -lehden tutkimuksen mukaan viisi suosituinta pelinkehityksen työkalua ovat:
Unity3d 53,1%
Oma engine 39,8%
Cocos2d 17,7%
Marmalade 5,3%
Corona 5,3%

Laitoinkin nuo taulukkoon ensimmäisiksi.

*) Huom., appMobissa, CocoonJS:ssä, Impactissa ja Ejectassa on jonkinlainen hardwarella(?) kiihdytetty canvas-elementti, joka korvaa selaimen oman canvas-elementin.

Cocos2d:stä on useita portteja:
Alkuperäinen Cocos2d (python)
Cocos2d-iPhone (objective-c)
Cocos2d-android (java)
Cocos2d-x (Javascript, lua, c++, c#) iOS, Android, WindowsPhone 7-8, Windows, Mac OS, Linux, HTML5
Cocos2d-HTML5 (JavaScript) Desktop selaimet
Cocos2d-JavaScript

Muiden kirjoittamia vertailuita: Directi.com, Mfabrik.com, Wikipedia.org, Wikipedia.org, Infoworld.com, Infoworld.com.

Taulukon ulkopuolelta voisi luetella muutamia, jotka eivät ole cross-platform tai ovat pelkkiä fysiikkamoottoreita tai tietoja puuttuu. Niitä kannattaa kuitenkin seurata tulevaisuudessa: iWebkit, RunRev, ModelBaker, Sio2, Big5, Mobile distillery, MobileReflex, iPFaces, JMango, Eclipse Pulsar, iTorque 2D, Shiva3D, Pyxis Mobile ja Smartface.