Monday, August 23, 2010

Apple's "Thoughts on Flash" are hypocritical

"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)." - iPhone Developer Program License Agreement

"We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform." - Thoughts on Flash, Steve Jobs, Apr'10 [link 2]

My biggest, and in fact the only problem with Apple forbidding Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool is that it allows - hypocritically - JavaScript and Safari on to the iPad/iPhone/iPod touch. Safari is a native application that links to Documented APIs. And it runs JavaScript applications on top of its native code.

If JavaScript can be allowed inside Safari, a native iOS application, then why is code written in a forbidden language, say Language X - which runs inside a native iOS application using a compatibility or a translation layer - prohibited? Since letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform, shouldn't JavaScript be banned too?

Double standards...

No comments:

Post a Comment