蘋果甫於上周釋出iPhone 4.0 SDK測試版,開發人員下載該測試版前必須先簽署蘋果提供的iPhone開發人員協議,但創立Daring Fireball科技部落格的John Gruber發現,蘋果在其禁用API的條款中規定更加嚴格,將禁止使用Adobe的Flash-to-iPhone編譯器。

在原先的3.3.1條款中,蘋果僅規定應用程式只能使用蘋果規定的APIs,並不得使用或呼叫其他私有的APIs。但新的3.3.1條款除了上述規定外,添增了更詳細的說明,指出「應用程式只能透過能被iPhone OS WebKit引擎執行的Objective-C、C、C++或JavaScript等語言撰寫,而且只有使用Objective-C、C或C++撰寫的程式才能編譯或直接連接蘋果規定的APIs」,並舉例說明應用程式利用媒介轉換或相容的程式層或工具來連結蘋果APIs是被禁止的。

新的規定使得Gruber認為諸如Flash-to-iPhone compiler或是以MonoTouch將C#及.NET應用程式轉成iPhone程式等跨編譯器都將被蘋果所禁止。

由於iPhone作業系統並不支援Flash,因此Adobe另覓途徑打算在Adobe Flash Professional CS5運用提前編譯功能,允許開發人員打造iPhone應用程式。當時Adobe還說明,這是該公司在檢視蘋果App Store軟體說明、協議及所允許的內容後所決定的辦法,利用編譯器將SWF內容包裝成iPhone應用程式,而且符合蘋果規範。

即將在本周上市的CS5顯然遭了記悶棍,因為蘋果執行長間接證實了Gruber的說法。

TaoEffect執行長Greg Slepak去信詢問蘋果執行長Steve Jobs的看法,Jobs表示,在平台及開發人員間所存在的中介層最後將產生不符合標準的應用程式而且也會妨礙平台的發展。

Jobs並稱讚Gruber另一篇說明蘋果為何要修改開發人員協議的文章非常有見地。根據Gruber的分析,蘋果並非要打造到處都有的系統,而是要打造到處皆美的系統,而Adobe的目的並非要協助開發人員撰寫iPhone應用程式,而是鼓勵開發人員撰寫可在iPhone上執行的Flash應用程式,這不但與蘋果的宗旨矛盾,而且蘋果也因直接利益而阻撓Adobe。

Gruber認為新的協議對iPhone用戶而言是項好事,因為跨平台的軟體套件永遠無法造就iPhone平台的原生程式,而App Store將保障程式品質。(編譯/陳曉莉)

熱門新聞

Advertisement