[citation][nom]cyprod[/nom]hey matt87_50...huh? iPhone, android and every other smartphone porting is a lot easier because same languages? Where did you hear this?Android, Java is the official supported, though linux apps can be written in C and C++ with a bit of know how.iPhone, Objective C. Period. (yey for languages that nobody uses! Way to support interobability. Require complete re-writes for apps to be ported, and primarily only because of your damn EULA.)Most every other smartphone, well, I believe blackberry is C++ with its own unique API which isn't compatible with android... Don't know of any other smartphones with fairly open APIs.[/citation]
trust me, I make iphone games, objective c is built ON TOP OF c++, all you have to do is wrap all the objective C libraries (just input and music, audio and graphics, via openAL and openGL are already in C) something you would have to do anyway, in order to have a common api between platforms (an "Engine" if you like). I agree objective C is horrible. I still barely know what any of it means, but that hasn't stopped my writing full games, completely in c++.
I hear that android's NDK is acceptable for making games in, it is android's new c++ SDK (n for 'native'). this is something they released FOR THE SPECIFIC PURPOSE of making it easy for people to port their existing c++ code to the platform. I haven't done it my self, but I have heard from the maker of a big game that it takes literally a couple of days to port from iphone to android, using the NDK. its not ideal - if you were targeting android only from scratch, you should use java - but it will do.
many other smart phone makers, and their OSs, like symbian and Palms web os I believe also have changed from using obscure languages to using c++ and openGL, to make life easy for developers.
it is fine to have completely different APIs for each phone, as long as the language is the same. different APIs can just be wrapped around a common wrapper ONCE, so that no game code needs to be changed between platform. writing in a different language means THE WHOLE 10'000s of lines of game code need to be re-written, AND MAINTAINED, with any updates needing to manually be brought across to the other code base too!
I mean, I do hate Apple, and their dodgy attitude towards developers, culminating in that STUPID EULA rule (that unity seems to be magically immune to) but facts is facts: you can use c++ and openGL, thus portability is alot easier.