可以使用哪些编程语言来开发iPhone,iPod Touch和iPad(iOS)应用程序?

时间:2010-10-16 17:35:49

标签: iphone ipad ios4 ios

可以使用哪些编程语言来开发iPhone,iPod Touch和iPad(iOS)应用程序?

还有计划在未来扩展iOS支持的编程语言数量吗?

10 个答案:

答案 0 :(得分:43)

Apple解除了对非Objective C / C / C ++应用程序的限制 - 您无法加载应用程序包中没有的代码。

MonoTouch允许您使用.NET语言 - 直接支持C#,但如果您使用Windows,则可以使用任何.NET语言制作程序集并使用它。

有传言称苹果将直接支持其他语言 - 我一直听到红宝石,但它们只是谣言。

我认为Lua在许多应用程序中被用于游戏逻辑。

EDIT(2018年):通常你可以使用任何你可以编译为iOS的语言,甚至可以安装语言解释器。您不能做的主要事情是从互联网加载代码包中没有的代码。

人们总是这样做(请参阅从服务器加载JavaScript的React Native应用程序),但从技术上讲,这是不允许的。如果您制作某种类似App的东西的App Store,那么主要的东西会引起Apple的注意。

答案 1 :(得分:17)

SDK协议和App Store指南已更改(大约2010年9月)。

您现在可以使用任何编译语言,这些语言将编译为与Xcode生成的相同的静态ARM对象文件格式,并且将链接到(仅)Apple的框架和库中的公共API。但是,除非在提交给Apple审核之前预编译所有目标代码,否则不能使用JIT编译语言。

您可以使用任何解释语言,只要您嵌入解释器,并且在提交给Apple审核之前,不允许解释器或应用程序下载并运行除应用程序包内置代码之外的任何可解释代码,或者用户输入的源代码。

对于需要高性能和最新API支持的任何内容(*见下面的更新),目标C和C可能仍然是最优化的编程语言,因为这些是Apple针对其iOS框架并调整其ARM处理器的语言芯片组。 Apple还支持在UIWebView中使用Javascript / HTML5。这些是Apple宣布支持的唯一语言。还有其他任何你需要在其他地方寻求支持的地方。

但是,如果你真的想要,iOS App Store中至少有六个BASIC解释器可用,所以现在甚至允许使用“石器时代”编程方法。

补充:(*)截至2014年底,人们还可以使用Apple的新Swift编程语言开发应用程序。截至2015年初,提交的二进制文件必须包含64位(arm64)支持。

答案 2 :(得分:11)

随着计划慢慢退出长期使用的Objective-C,Apple推出了一种名为Swift的新编程语言,用于设计在Apple iOS设备和Apple Macintosh计算机上运行的应用程序和应用程序。

Apple说: " Swift是iOS和OS X应用程序的一种新编程语言,它基于C和Objective-C的最佳构建,没有C兼容性的限制。 Swift采用安全的编程模式,并增加了现代功能,使编程更容易,更灵活,更有趣。 Swift的清白,在成熟和备受喜爱的Cocoa和Cocoa Touch框架的支持下,重新构想了软件开发的运作方式。"

Introducing swift

enter image description here

答案 3 :(得分:6)

  

可以使用哪些编程语言来开发iPhone,iPod Touch和iPad(iOs)应用程序?

Ruby,Python,Lua,Scheme,Lisp,Smalltalk,C#,Haskell,ActionScript,JavaScript,Objective-C,C ++,C。这就是我现在流行的问题。我敢肯定有数百甚至数千人。 (例如,没有理由不使用任何 .NET语言与MonoTouch,即VB.NET,F#,Nemerle,Boo,Cobra,......)

  

未来还有计划扩大iO支持的编程语言数量吗?

不确定。目前,这个星球上的每个编程语言社区都在努力让他们的语言在iOS上运行。

此外,很多人正致力于专为iPod touch,iPhone和iPad等触控设备设计的编程语言,例如: Phil Mercurio的Thyrd语言。

答案 4 :(得分:5)

iOS(和Mac OS)的编程语言是Objective-C和C.你必须使用Xcode平台开发iOS应用程序,在下一个版本上,现在可以在beta版本上使用,Xcode 4也支持C ++。 / p>

答案 5 :(得分:4)

现在也可以使用OCaml开发iOS应用程序。它不是标准分发的一部分,需要Psellos公司提供的修改。有关详细信息,请参阅此处:http://psellos.com/ocaml/

答案 6 :(得分:2)

现在只允许使用Objective-C ...但是几个月前,您可以编写将在您的应用程序中解释的脚本。

因此,您可以编写LUA解释器或Python解释器,然后使用此脚本语言编写应用程序的某些部分。如果您希望在App Store上接受您的应用程序,则必须将这些脚本与应用程序捆绑在一起(例如,您的应用程序无法从Internet下载)

请参阅new app store rules

答案 7 :(得分:2)

这可能是一个旧线程,但我想提一下Appcelerator Titanium,它允许精通HTML5 / JavaScript / CSS的人开发iOS应用程序。

答案 8 :(得分:1)

objective-c是使用的主要语言。

我相信有一个mono touch framework可以与c#

一起使用

Adob​​e也在使用一些工具,其中一个是iPhone Packager,它可以使用动作脚本代码

答案 9 :(得分:1)

您可以使用“智能BASIC”编程语言。它是一种真正但非常先进的BASIC语言,具有所有功能和简单性。使用其免费SDK,BASIC代码可以作为独立的App Store应用程序轻松发布。 App Store中有许多应用程序,用“智能BASIC”编程语言编写。