【IT168 评论】近日iPhone SDK 4的发布招致许多开发者的不满,不但有人在网络上笔谏,甚是有人按耐不住,直接写信跟乔布斯沟通。其原因在于新的iPhone SDK 4 Section 3.3.1明确规定了App 开发者不能使用(除了C, C++, and Objective-C 以外的)第三方、跨平台程序工具、语言。

如果仍然打算给iPhone, iPad开发应用程序的话,那就别无选择。跨平台的语言如Flash (使用Adobe Flash CS5语言)和Mono Touch (使用微软 .net语言)是没戏了。另外,虽然Qt是C++,但新的声明“only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs”也明确封死了Qt移植到iPhone平台的可能性。
开发者只能以苹果规定的方式来使用文档中所提供的API(应用编程接口),而无法使用或者调用私有API。应用的原始代码必须使用Objective-C、C、C++或JavaScript来编写才能够被iPhone OS WebKit引擎执行,而且只有用C、C++以及Objective-C编写的代码才能够编译并直接与文档中已有的API建立连接。
Facebook工程师乔伊·休伊特(Joe Hewitt)称:“这令我很烦恼。说实话,我觉得Objective-C很一般,我喜欢使用其他语言来开发有趣的iPhone应用。”
一位名叫Greg Slepak的开发者,在跟乔布斯的通信中,不仅明确的表达了自己反对的立场,还引用了不少网友的批评文章。
然而乔布斯的回应呢?乔布斯先是拿出一篇Gruber(公认的苹果超级粉丝)写的新文章来反驳,里面Gruber算是替苹果为何设下如此限制来作个合理的推敲跟解释,同时也被老乔评为相当有见地。
Greg Slepak随后则引Firefox 的例子进行反驳,表示这样一个受大家欢迎、举足轻重的浏览器,也是允许其开发者使用各种跨平台的程序开发工具,乔布斯对此则是相当不以为然,乔布斯表示:“过去我们也经历过类似的状况,不过从经验上来看,要是在软件开发者跟软件平台间,插入其它的中介开发工具,只会让编写出来的软件质量降低,并且限制了该平台的发展。”
另外在Greg Slepak的博客上,他也针对Gruber 的文章中提出的观点,做出了进一步的分析,结论还是站在应该保留第三方开发工具这个论点,一如Mac跟Windows上的一大票例子。
不过从老乔强硬的态度来看,这件事那怕吵得再凶,依然是无解,由于这一平台已经吸引了大量用户,因此无论开发者多么不情愿,也只能选择妥协。