ChatGPT解决这个技术问题 Extra ChatGPT

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

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

未来是否有计划扩展 iOS 将支持的编程语言的数量?


L
Lou Franco

Apple 取消了对非 Objective C/C/C++ 应用程序的限制——你只是不能加载不在应用程序包中的代码。

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

有传言称 Apple 将直接支持其他语言——我不断听到 ruby,但它们只是谣言。

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

编辑(2018 年):通常,您可以使用任何可以为 iOS 编译的语言,甚至可以安装语言解释器。您不能做的主要事情是从 Internet 加载不在应用程序包中的代码。

无论如何,人们总是这样做(请参阅 React Native 应用程序从服务器加载 JavaScript),但从技术上讲,这是不允许的。如果您制作某种可以加载整个 App 类内容的 App Store,那么最能引起您注意的是 Apple。

编辑(2020 年):来自@Pylot 的评论:我知道这是很久以前的事了,但现在至少从技术上讲,您可以加载未嵌入应用程序的代码,因为您可以使用 webview 使用 JavaScript 编写代码。不留下你的答案是错误的或任何东西,我绝对同意你的看法。但我正在寻找一些东西,并在途中发现了这篇文章。想如果有人看到这可能会帮助他们。


Objective-C++ 是 ObjC 和 C++ 之间的桥梁,所以很好。
RubyMotion 让您可以使用 Ruby 构建原生 iOS 应用程序。虽然它不是免费的。
我在我的应用程序中尝试了 Lua 的逻辑,也使用了 luasqlite(企业解决方案,因此无论是否发生,都不会涉及商店拒绝),我可以证明它工作得很好。请记住,Lua 的内存占用非常低,因此您实际上可以同时运行十几个解释器,而不会消耗多达 1 Mb 的内存(这是我实际所做的......)。另请参阅有关 Swift 的 gran.pancho.villa 答案。
我知道这是很久以前的事了,但现在至少从技术上讲,您可以加载未嵌入应用程序的代码,因为您可以使用 webview 使用 JavaScript 编写代码。不留下你的答案是错误的或任何东西,我绝对同意你的看法。但我正在寻找一些东西,并在途中发现了这篇文章。想如果有人看到这可能会帮助他们。
@pylot——我在答案中添加了你的评论——谢谢
h
hotpaw2

SDK 协议和应用商店指南已更改(大约 2010 年 9 月)。

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

您可以使用任何解释语言,只要您嵌入解释器,并且不允许解释器或应用程序下载和运行除应用程序包中内置的代码之外的任何可解释代码,然后再提交给 Apple 进行审查,或键入源代码- 由用户输入。

对于需要高性能和最新 API 支持的任何事物(* 请参阅下面的更新),Objective C 和 C 可能仍然是最佳编程语言,因为这些语言是 Apple 针对其 iOS 框架并调整其 ARM 处理器芯片组的语言。 Apple 还支持在 UIWebView 中使用 Javascript/HTML5。这些是 Apple 宣布支持的唯一语言。其他任何事情,您都必须在其他地方找到支持。

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

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


P
Per Quested Aronsson

为了逐步淘汰长期使用的 Objective-C,Apple 推出了一种新的编程语言,称为 Swift,用于设计在 Apple iOS 设备和 Apple Macintosh 计算机上运行的应用程序和应用程序。

Apple 表示:“Swift 是一种适用于 iOS 和 OS X 应用程序的新编程语言,它建立在 C 和 Objective-C 的精华之上,不受 C 兼容性的限制。Swift 采用安全的编程模式并添加了现代功能,使编程更容易、更灵活,更有趣。Swift 的干净状态,由成熟且深受喜爱的 Cocoa 和 Cocoa Touch 框架提供支持,是重新构想软件开发工作方式的机会。”

Introducing swift

https://i.stack.imgur.com/hnbe6.png


J
Jörg W Mittag

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

Ruby、Python、Lua、Scheme、Lisp、Smalltalk、C#、Haskell、ActionScript、JavaScript、Objective-C、C++、C。这只是我现在想到的那些。我敢肯定还有数百甚至数千人。 (例如,您没有理由不能在 MonoTouch 中使用任何 .NET 语言,例如 VB.NET、F#、Nemerle、Boo、Cobra,...)

未来是否有计划扩大 iO 将支持的编程语言的数量?

当然。这个星球上几乎所有的编程语言社区目前都在努力让他们的语言在 iOS 上运行。

此外,许多人正在开发专门为 iPod touch、iPhone 和 iPad 等触控设备设计的编程语言,例如 Phil Mercurio 的 Thyrd 语言。


-1。 Ruby、Python 和 ActionScript 尚无法在 iOS 上运行。过去,曾尝试让 CL 和 Scheme 运行,但我认为这些都不是最新的。与 Haskell 相同。 JavaScriptCore 现在是一个私有框架;您可以在 web 视图中使用 JS 编写 Objective-C 脚本,但这真的很笨拙。
@Jonathan Sterling:你应该告诉那些通过 App Store 销售 Ruby 应用程序一年多的开发人员。我相信他们会非常有兴趣知道他们的应用程序不存在。
罗莫比尔不算。这些不是真正的本机应用程序。他们只是被困在一个网络视图中。
@Jonathan Sterling:我在这里聚会可能有点晚了,但是 iOS 上通过 AIR for iOS 支持 Actionscript。 (那是在 10 月 10 日发表原始评论时)。它甚至获得了相当不错的表现......
M
Mat

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


您不需要使用 Xcode 来开发 iOS 应用程序或 Objective C 或 C++。例如,您可以使用使用命令行工具的 RubyMotion。此外,还有许多第三方开发解决方案可用于开发可在 iOS 和 Android 上运行的应用程序
A
Ashish Agarwal

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


s
shaond

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


如果我没记错的话,您可以在使用 Titanium 时将 JavaScript 换成 Ruby 或 Python。
S
Soenhay

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

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

new app store rules


A
Aaron Saunders

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

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

Adobe 也在开发一些工具,其中一个是可以使用 actionscript 代码的 iPhone Packager


链接好像失效了?
K
Kibernetik

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