(注:为方便,我为本文提到的库和工具添加了链接。)

 

是的,有可能。尽管Objective-C我最喜欢的编程语言之一,在任何情况下都值得提到这点。但随着官方iPhone SDK宣布两年以来,iPhone开发发展十分迅速,现在有许多的选择。本文提供一些我在网上找到的选项,我可以肯定有更多的替换方法。

 

这里是我的发现:

 

  • * 首先,记住你总是可以编写web程序。(值得提醒你可以因此完全避免App Store,当然这完全取决于你)。这为你使用服务器端技术+Javascript提供了可能,而且有各种库和工具帮助你创建一个“杀手级”web程序:Joe Hewitt优秀的iUI (是的,他就是Three20项目后的同一个家伙),Tank Engine Rails插件和Rails iUI插件 (不幸的是Tank Engine工作得不是很好), iPhoney Eclipse(译者注:可能是指使用Eclipse开发iPhone程序吧,所以我的链接是IBM的一个教程)等其他选择。
  • * 如果你喜欢C++,你可以在官方SDK (是的,你可以仅使用 C 或 C++来编写iPhone程序),或其它选项如nui, POCOBoosthaXe中选择。而且很明显,很快你就可能使用Symbian C++ toolkit(谁知道,甚至有一天我们可能在iPhone上使用Juce工具)。
  • * 如果你是个Flash和ActionScript的开发者,很可能你已经知道通过使用Adobe Flash CS5,你也可以编写iPhone程序。
  • * 对于 C# 和 .NET 开发者,有MonoTouch,最近也频频曝光。
  • * 如果你希望使用Lua,你可以使用Wax framework
  • * 如果你的设想是“编写一次,运行在任何地方”,“任何地方”是指Android, iPhone, BlackBerry和其他移动平台的话,你可以试一下rhomobileCoronaPhoneGap 或者 QuickConnect。 由于XMLVM项目包括交叉编译的工具链,可以用于Ruby, .NET, Java并立即产生许多平台的代码,你也可能对它有兴趣。
  • * 最后,如果你进行游戏开发,可以用于创建iPhone游戏的库的数量之多,令人惊奇,它们支持各种编程语言:SDL, Unity, SIO2, Torque2D,cocos2d 以及 Game Haxe
  • *当然,还有使用Objective-C和Cocoa Touch的官方SDK。(注:这显然不符合本文主题)。

     

    你怎么想?我漏掉了一些库或编程语言?请在评论区留下库的名称和URL。

     

    2009-11-05更新: 刚发现Swebapps服务,它允许不用代码建立iPhone(非常基本的)程序。

     

    2009-11-24更新: Chillingo的Crystal SDK

     

    2009-11-25更新: 另一个C++ 的跨平台库:Airplay SDK

     

    2009-11-28更新: 三个C++跨平台库,有限地支持创建iPhone应用程序:wxWidgetsJuceQt

     

    2009-11-29更新: 我朋友Bertrand Dufresne刚告诉我两个很棒的web app frameworks: jQTouch (jQuery插件,据Joe Hewitt自己说,它已经在很多方面超过iUI)和WebApp.net。在你的iPhone上试一下jQTouch 和 WebApp.net的展示程序,你一定会印象深刻(特别是jQTouch)。

     

    2009-11-30更新: Max Penet指出下列选项可以允许开发者创建iPhone程序:Yahoo! Blueprint(一个用于设计iPhone程序方案(包括调试支持))和Appcelerator

     

    2009-12-8更新: NimbleKit iWebKit.

     

    2009-12-15更新: Bork3D C++ 游戏引擎。