【问题标题】:What programming languages can one use to develop iPhone, iPod Touch and iPad (iOS) applications?可以使用哪些编程语言来开发 iPhone、iPod Touch 和 iPad (iOS) 应用程序?
【发布时间】:2011-04-26 09:16:22
【问题描述】:

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

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

【问题讨论】:

    标签: iphone ipad ios4 ios


    【解决方案1】:

    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 编写网页浏览。不留下你的答案是错误的或任何东西,我绝对同意你的看法。但我正在寻找一些东西,并在途中发现了这篇文章。想如果有人看到这可能会帮助他们。

    【讨论】:

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

    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) 支持。

    【讨论】:

      【解决方案3】:

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

      苹果说: "Swift 是一种适用于 iOS 和 OS X 应用程序的新编程语言,它构建在 C 和 Objective-C 的精华之上,不受 C 兼容性的限制。Swift 采用安全的编程模式并添加了现代功能,使编程更容易、更简单灵活,更有趣。Swift 的干净状态,以成熟且广受喜爱的 Cocoa 和 Cocoa Touch 框架为后盾,是重新构想软件开发工作方式的机会。"

      Introducing swift

      【讨论】:

        【解决方案4】:

        可以使用哪些编程语言来开发 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 语言。

        【讨论】:

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

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

        【讨论】:

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

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

          • 如果我没记错的话,你可以在使用 Titanium 时将 JavaScript 换成 Ruby 或 Python。
          【解决方案8】:

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

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

          new app store rules

          【讨论】:

            【解决方案9】:

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

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

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

            【讨论】:

            • 链接好像失效了?
            【解决方案10】:

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

            【讨论】:

              猜你喜欢
              • 2011-08-23
              • 1970-01-01
              • 2011-05-31
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-01-13
              • 2014-01-22
              相关资源
              最近更新 更多