Story Complete logo


Apple: Get the meta-programming tools off my lawn!

on in Articles, Live your story

Apple’s walled garden is becoming a hermetically sealed world with a (secret) licence agreement to sterilise every input.

The clash of worldviews between Apple and developers took a turn for the worse this week. For the first time, Apple will be banning meta programming tools for the iPhone and iPad. Section 3.3.1 of the latest iPhone Developer Program License Agreement states:

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).

This new wording bans apps not originally written in an official Xcode language. While language interpreters (JVM, Flash etc) have always been verboten on the iPhone; this is a disturbing escalation.

Although apps are often originally written under the shower, it’s useful to see how GPL defines source code: it’s what you use to maintain your app. On this reading, Apple wants you to develop and maintain your app in an official Xcode language. No meta tools.

Generators, functional languages and tools working at higher abstraction levels are out. This covers Scheme, Unity3D, Titanium, MonoTouch and many others. The ban also (unsurprisingly) covers Adobe’s upcoming Flash cross-compiler Packager for iPhone.

Good code generators emit readable, maintainable source code that only uses native APIs. The generator world has done this for decades to reassure customers worried a tool vendor might go bust. Should that happen, they can maintain the generated code.

How can Apple know you’re really maintaining Xcode source? Perhaps you’re using a tool and secretly regenerating for Xcode? Static source analysis would give the game away, so maybe in future Apple will demand you also submit your source code for approval?

Apple’s walled garden is rapidly changing into a hermetically sealed world with a (secret) licence agreement to sterilise each and every input. It sounds to me like a world Howard Hughes might have called insanely great!

 

Tags

, , , , , ,

 

My new blog for technical presenters

Facing a projector and empty chairs prior to a presentationOur success as technical presenters depends on our ability to get audiences to take action. After all, without action it’s just entertainment!

I’ve given hundreds of technical presentations at all levels in the software industry and have learned that although creating action’s hard, it’s not impossible. I share my experience by curating the best tips and tricks, examples and resources from the web at Tech Presenting. Please join me.

 

No comments yet

Even though Story Complete is retired, if you’ve anything to add please post your comment below or get in touch with me direct. Thanks.

Please add your comment