To read all comments associated with this story, please click here.
This is the totally absurd part, because as you point out the language restriction really does almost nothing to prevent cross-platform programming, it is just penalizing LANGUAGES which may be easier to program with, even for SOLELY Cocoa-focused apps (e.g. using MacRuby, Haskell, etc).
I think what Apple wants is for people to be targetting it's libraries, rather than using 'converters' like Adobe is promoting which just reconstruct designs to fit Apple's libraries rather than target them from the get-go, but they're really taking a shot-gun approach here by banning people using alternative langauges who may very well be directly designing with Cocoa in mind. (Not to downplay the fascism of restricting non-Apple libraries in the first place)
Not to mention that nobody can seriously expect them to consistently implement this, given OpenGL game engines and their own MacRuby project(!).
Seriously, the platform I see with the most promise at this point besides OSXTouch is MeeGo using... C++ and QTScript (Javascript). So this move is effectively going to help MeeGo by making MeeGo the only platform with language compatability with Apple's licence...




Member since:
2006-01-17
This move shows that Apple is very afraid of Android, WinMo7 and Blackberry app markets. It's a full blown platform war for world dominance (also a disaster for Adobe). But the move (revoking some memories of evil Microsoft) can be dealt with.
First, you need to write applications in C/C++ or even Obj-C.
Keep all platform interfaces encased with ifdefs. By using a text preprocessor, you can strip suspecting ifdefs before submitting to Apple.
Of course, one also needs something to translate to language (or VM bytecode) used by other platforms. This is the hard part as iPhone's apps use native language, so it won't work with some features of C/C++/Obj-C. I wouldn't be surprised if Google is already working on something like this. Yes, it requires extra work to do your app this way instead of using cross-platform libs, but it's worth it if you manage to support iPhone+ other platforms while competition can't.
If in any scenario Apple starts to loose the mobile platform war, this will loose them many developers and they will have to revert the decision.