Skip to content

Apple ban on intermediary frameworks

So I’ve decided to try writing here again. I’ve been busy and haven’t had time or motivation to post here in a while. I did, however, feel that some happenings of late warrant me giving this another try. I’d like to write my two cents about Apple’s recent decision to not allow any applications into their App Store that did not originate in Objective-C,C,C++, or JS.

So, now, in order to submit an app for approval and have it accepted, it must be written in (presumably) XCode and be implemented in Obj-C, C, or C++ and link only to Apple’s own frameworks or other frameworks written in native code and linking against Apple’s frameworks. No intermediary linking or abstraction layer is allowed. This, effectively, means no more Monotouch, no more compile-to-iPhone in Flash CS5, and no more of the few other intermediary tools available to write iPhone apps in other languages.

This has a few people upset.

My initial reaction to this from a native iPhone developer’s viewpoint was summed up in one word. “Okay.” I really didn’t care. I don’t use any of the aforementioned tools and don’t plan or have any desire to. Therefore, I certainly didn’t think other people were seriously developing apps with these tools either. I see now that I was wrong about that, and I should probably spend a few minutes looking at some of these tools just to be aware of what’s out there.

However, even after being enlightened to the fact that serious developers wanted and relied upon these tools, I still didn’t care much that Apple is banning them. Once again, it doesn’t affect me directly. If it has any effect on me at all, it would be a good one. In that, people with my skill set are now in higher demand. At least until all of the defected intermediary-developers learn and become proficient with native Cocoa-Touch.

So, why is Apple doing this? I think it’s simple. Because they can. There are many reasons, genuine or otherwise, to cut out this type of code. the Human Interface Guideline that Apple promotes so strongly, app performance, experience uniformity. Not to mention, if one of these intermediary frameworks becomes so popular that more people are developing using it than native Cocoa-Touch, then Apple has lost all control over apps on their platform. If they introduce new API’s, they must wait for the intermediary framework to supply it’s own usage of these API’s before those features will make it into apps. Not to mention it’s a big middle finger to Adobe.

So that’s my two cents.