【问题标题】:New to developing iOS apps [closed]开发 iOS 应用程序的新手 [关闭]
【发布时间】:2014-03-22 01:03:16
【问题描述】:

作为一个从未开发过 iOS 应用程序但希望很快并且从未拥有过 Mac(迄今为止)的人,我对开发应用程序的整个 XCode 和流程有点迷茫。

首先:开发中支持哪些语言是我不确定的一个领域:

我看到 C、C++ 和 Objective-C 被引用为用于编写应用程序的语言。但我也看到 JavaScript` + HTML + CSS 和 .NET 作为选项和许多其他编译语言,人们争论是否可以使用它们。

我想知道的另一件事是 Xcode,它是否支持所有提到的语言?还是为特定语言(例如 Cocoa)构建的 IDE?如果是,那么有人将如何使用 JavaScript 来编写应用程序?

我确信这对 Apple 用户来说是一个相当简单的答案,但我在尝试与非 Apple 背景联系时遇到了一些困难。

更新 感谢您提供出色的答案和见解,希望这篇文章的其他内容对没有 Apple / iOS 背景的其他人有所帮助

【问题讨论】:

  • 它绝对支持Objective-C、C和C++(Objective-C++)。我从未听说过它与 JavaScript、HTML 等结合使用。
  • 网络上有很多信息可供“没有 Apple/iOS 背景”的新开发人员访问。我建议从 Apple 的介绍性文档开始:Start Developing iOS Apps Today

标签: ios xcode


【解决方案1】:

您提到的所有三种语言替代方案都可供 iOS 应用程序开发人员使用 *

Objective-C/C++ 提供了一种为 iOS 制作原生应用程序的方法,您可以生成在设备上运行的机器代码。您使用 Xcode 以这些语言进行开发。

您可以使用 JavaScript + HTML + CSS 构建应用程序,因为 iOS 带有浏览器。 Apple 提供了一种模式,让您的应用具有完全原生的外观和感觉,因此它们看起来确实像一等公民。

您也可以使用 Mono Touch 在 C# 中构建您的应用程序。这与 .NET 不同,尽管语言相同,因为您的代码提前编译成二进制文件。尽管使用 Mono Touch 消除了与新语言相关的学习曲线,但您需要经过大量学习才能使您的 .NET 知识适应不同的平台。

* Cocoa 除外,它不是一种语言,而是 Apple 在 OS X 和 iOS 下开发的框架的统称。

【讨论】:

  • 谢谢,你提到的 JavaScript 很有趣。我宁愿尝试用这种方式写作,也不愿学习一门全新的语言,但我也不反对这种方法。使用 JavaScript 作为基础会有什么缺点吗?
  • @Jonnny 答案很大程度上取决于您正在考虑的应用类型。除非您的应用程序需要进行大量计算(例如游戏引擎)或保存/处理大量数据,否则它在 JavaScript 中会非常好。如果您打算开发一款重图形的游戏,那么使用 Objective-C/C++ 会更好。
  • 不,这将是您的典型视图,针对不同类型的事件推送通知。没有什么重的。我的最后一个问题是,您会尝试在什么 IDE 中开发基于 JavaScript 的 iOS,并且可以选择 JQuery 吗?
  • @Jonnny 虽然您不需要特定的 IDE 来使用 JavaScript+HTML+CSS 为 iOS 开发,但仍有许多替代方案可用。您可以构建和测试using Xcode,或使用Titanium Studio 获得一些跨平台功能。您还可以使用phonegap,它允许您从同一来源为多个平台构建。
【解决方案2】:

iOS 的原生语言是 Objective-C。虽然确实可以使用 C++ 来制作应用程序(例如 Cocos,主要是用 C++ 编写的),但它不是“原生语言”。

至于您提到的其他语言,虽然可以使用它们创建应用程序,但它们通常不会是“本地”的,通常依赖于另一个 IDE/库、电话间隙或 adobe air。其中大部分还支持跨平台开发。

在我工作的地方,我们还使用 HTML5 来创建“仿原生”界面/体验。

如果您是 iOS 新手,不妨在以下位置查看 Apple 文档/示例代码:

https://developer.apple.com

那里有丰富的知识可以让你走上正确的道路。但是,如果您没有任何面向对象编程的经验,我建议您这样做。

我自己来自 C++ 背景,我并不觉得这太难,但我已经在 iOS 上工作了大约 3 年(断断续续),并且才刚刚开始真正熟练掌握它的流程和惯例。

希望这会有所帮助,如果您想知道任何具体的事情,请告诉我。

【讨论】:

  • +1 但是 PhoneGap 是一个库,而不是 IDE。
  • 啊,很高兴知道。谢谢。已编辑。
  • Cocos(2d),不要与 Cocoa 混淆。
  • @CW0007007 感谢您的见解,这对我很有帮助。
  • @Jonnny 没问题。祝你好运 :-) 编码愉快。
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
相关资源
最近更新 更多