【发布时间】:2011-04-26 09:16:22
【问题描述】:
可以使用哪些编程语言来开发 iPhone、iPod Touch 和 iPad (iOS) 应用程序?
未来是否有计划扩展 iOS 将支持的编程语言的数量?
【问题讨论】:
可以使用哪些编程语言来开发 iPhone、iPod Touch 和 iPad (iOS) 应用程序?
未来是否有计划扩展 iOS 将支持的编程语言的数量?
【问题讨论】:
Apple 取消了对非 Objective C/C/C++ 应用程序的限制——您只是无法加载不在应用程序包中的代码。
MonoTouch 允许您使用 .NET 语言 - 直接支持 C#,但如果您有 Windows,则可以使用任何 .NET 语言制作程序集并使用它。
有传言称 Apple 将直接支持其他语言——我不断听到 ruby,但它们只是谣言。
我认为 Lua 已被用于许多应用程序的游戏逻辑。
编辑(2018 年):通常,您可以使用任何可以为 iOS 编译甚至安装语言解释器的语言。您不能做的主要事情是从 Internet 加载不在应用程序包中的代码。
人们总是这样做(请参阅 React Native 应用程序从服务器加载 JavaScript),但从技术上讲,这是不允许的。如果您制作某种可以加载整个 App 类内容的 App Store,那么主要的事情会引起 Apple 的注意。
编辑(2020 年):来自 cmets 的 @Pylot:我知道这是很久以前的事了,但现在至少从技术上讲,您可以加载未嵌入应用程序的代码,因为您可以使用 JavaScript 编写网页浏览。不留下你的答案是错误的或任何东西,我绝对同意你的看法。但我正在寻找一些东西,并在途中发现了这篇文章。想如果有人看到这可能会帮助他们。
【讨论】:
SDK 协议和应用商店指南已更改(大约在 2010 年 9 月)。
您现在可以使用任何编译语言,该语言将编译为与 Xcode 生成的相同的静态 ARM 对象文件格式,并且将(仅)链接到 Apple 框架和库中的公共 API。但是,您不能使用 JIT 编译语言,除非您在提交给 Apple 审核之前预编译所有目标代码。
您可以使用任何解释性语言,只要您嵌入解释器,并且在提交给 Apple 审核之前,不允许解释器或应用下载和运行除内置于应用程序包中的代码之外的任何可解释代码,或者用户输入的源代码。
Objective C 和 C 可能仍然是任何需要高性能和最新 API 支持的最佳编程语言(* 请参阅下面的更新),因为这些是 Apple 针对其 iOS 框架和调整其 ARM 处理器的语言芯片组。 Apple 还支持在 UIWebView 中使用 Javascript/HTML5。这些是 Apple 宣布支持的唯一语言。其他任何事情,您都必须在其他地方寻求支持。
但是,如果您真的需要,现在 iOS 应用商店中至少有六种 BASIC 解释器可用,所以现在甚至允许使用“石器时代”的编程方法。
已添加:(*) 截至 2014 年底,人们还可以使用 Apple 的新 Swift 编程语言开发应用程序。从 2015 年初开始,提交的二进制文件必须包含 64 位 (arm64) 支持。
【讨论】:
为了逐步淘汰长期使用的 Objective-C,Apple 推出了一种名为 Swift 的新编程语言,用于设计在 Apple iOS 设备和 Apple Macintosh 计算机上运行的应用程序和应用程序。
苹果说: "Swift 是一种适用于 iOS 和 OS X 应用程序的新编程语言,它构建在 C 和 Objective-C 的精华之上,不受 C 兼容性的限制。Swift 采用安全的编程模式并添加了现代功能,使编程更容易、更简单灵活,更有趣。Swift 的干净状态,以成熟且广受喜爱的 Cocoa 和 Cocoa Touch 框架为后盾,是重新构想软件开发工作方式的机会。"
【讨论】:
可以使用哪些编程语言来开发 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 语言。
【讨论】:
iOS(和 Mac OS)的编程语言是 Objective-C 和 C。你必须使用 Xcode 平台来开发 iOS 应用程序,在下一个版本现在可以在 beta 版本中使用,Xcode 4 也支持 C++。
【讨论】:
现在也可以使用 OCaml 开发 iOS 应用程序。它不是标准分发的一部分,需要 Psellos 公司提供修改。请参阅此处了解更多信息:http://psellos.com/ocaml/。
【讨论】:
这可能是一个旧线程,但我想提一下Appcelerator Titanium,它允许任何精通 HTML5/JavaScript/CSS 的人开发 iOS 应用程序。
【讨论】:
现在只允许使用 Objective-C...但是从几个月前开始,您可以编写将在您的应用程序中解释的脚本。
因此,您可以编写 LUA 解释器或 Python 解释器,然后用这种脚本语言编写应用程序的某些部分。如果您希望您的应用程序在 App Store 上被接受,这些脚本必须与应用程序捆绑在一起(例如,您的应用程序无法从 Internet 下载)
【讨论】:
objective-c 是主要使用的语言。
我相信有一个mono touch framework可以和c#一起使用
Adobe 也在开发一些工具,其中一个是 iPhone Packager,它可以使用 actionscript 代码
【讨论】:
您可以使用“智能 BASIC”编程语言。它是一种真正但非常先进的 BASIC 语言,具有强大的功能和简单性。使用其免费的 SDK,BASIC 代码可以轻松地发布为独立的 App Store 应用程序。 App Store 中有很多应用,都是用“智能 BASIC”编程语言编写的。
【讨论】: