3.3.1 | Apple’s iPhone Developer Program License Agreement

After last Thursday’s announcement of iPhone OS4 an update to the iPhone Developer Program License Agreement was found on the Apple developer website that prohibited the use of any third party cross compilers and/or language wrappers/converters for the use of making iPhone applications.  This is described in the update to section 3.3.1:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

There’s a middleware community of folks that have invested tons of time and effort (and money) into writing a layer of tools that allow other developer folks that aren’t savvy with the native iPhone development platform (which consists of Cocoa Touch and Obj-C) to still be effective at creating Apps using their language/platform of choice.  Apple is now stating that these solutions are no longer acceptable and will not be approved for distribution in the App Store.  Apple has always recommended that people use the native tools, and has never supported the middleware community.

So now there’s a huge uproar of folks saying that Apple has made a terrible move and that Apple doesn’t realize what they’ve done.  They’ve ruined the community and are going to lose revenue in the App Store, etc…

Really?  It’s Apple.  They know exactly what they’ve done, and they did it for a reason.

Yes, it sucks for all those people that invested time to create these middleware solutions that empower developers of other “faiths” to create iPhone apps.  I feel bad for all these “wasted” hours (hopefully we can figure out a way to repurpose all of this spent energy).  However, I think this is a great move on Apple’s part from a business perspective.  They’re ensuring the success of their platform by ensuring that people learn how to use it, and not some other middleware solution that could one day not exist or be 100% compatible with the Cocoa Touch tools.  They’re removing any dependency on third party solutions that could stifle their success.

There have been a lot of angry remarks out there about Apple’s decision (*cough cough Lee Brimelow cough*).  These remarks are coming mainly from the people who are currently using middleware solutions or who were going to use CS5 to create iPhone apps.

But y’know what?  Cocoa Touch isn’t THAT difficult for a developer to learn (specifically a .NET developer), and neither is Obj-C.  Yea, it’s not C#, but it’s not assembly for Christ’s sake.  If Apple had this TERRIBLE platform that was hardly usable and difficult to learn then it wouldn’t be in their best interest to force people to use their platform – the quality of the apps would suffer and the iPhone App Model would fail – but that’s not the case.  They have a very decent developer experience. I made the switch from .NET (WPF and Silverlight) to Cocoa and it wasn’t the end of the world, nor was it a huge time suck.  I’m thoroughly enjoying the entire Cocoa Touch experience now, and the more people that use it, the better the experience will become.  Platform adoption is the reason .NET and it’s tools have become so successful.  What’s wrong with Apple forcing the same approach with their own platform?  Absolutely nothing.

This entry was posted in apple, cocoa, development, iPhone and tagged , , , , , , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Comment

  1. Relwal
    Posted April 12, 2010 at 1:12 am | Permalink

    Maybe this is not about keeping Flash developers out of the iPhone App Store. Maybe it’s about keeping Cocoa Touch iPhone developers locked into the iPhone. It’s the equivalent of a loyalty oath for iPhone developers giving Apple an exclusive option for distribution. I’m an iPhone developer and I think I’m through with Apple slapping me around.

One Trackback

  1. By Pocosin » New Apple Commercial… on April 29, 2010 at 7:31 pm

    […] here, here, and here. That is just for starters… You really need to look at the comments […]

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>