【问题标题】:BIG confusion on prerequisite for developing apps for iOS devices为 iOS 设备开发应用程序的先决条件存在很大的困惑
【发布时间】:2013-12-05 16:52:17
【问题描述】:

小背景和范围

让我直截了当地说,并尽可能诚实。对于我的问题和困惑,我找不到明智而准确的答案。所以我认为 Stackoverflow 可以帮助我。

我目前是一名真正对开发适用于 iOS(主要是 iPhone)的应用程序感兴趣的学生。我对如何、何地、什么、何时、谁以及各种问题进行了一些研究。但是,我得到了不同的答案,其中一些甚至彼此不同意。在问我的问题之前,让我告诉你我从编程/开发中所知道的。

我知道:

  • Adobe Flash Professional(带有 ActionScript 3.0)
  • C++ 语言(面向对象编程)
  • Bash 脚本(怀疑是否有帮助)

我对开发、编程和专门为 iOS 制作应用程序有很大的兴趣和热情。


现在我的困惑和问题

我在很多地方读到过,要为 iOS 设备开发应用程序,您必须拥有 MAC 和 Xcode。另一方面,我还读到您也可以使用 Adob​​e Flash 创建适用于 iOS 的应用程序,因为 Adob​​e 现在有 AIR。我对 Flash 和 Actionscript 3.0 非常满意。事实上,我已经用它制作了一些应用和游戏(可以在电脑上运行)。

所以我的第一个问题是:你们能用 Flash 和 Actionscript 开发 iOS 应用吗?如果是,那为什么人们说你必须拥有一台 Mac 并且你需要 Xcode?如果没有,那为什么不呢?

第一个困惑:很多人都在说 Flash 正在消亡,而 HTML5 正在逐渐取代它......!!!是真的吗?如果这是真的,那么花时间来提高您在 Flash 和 ActionScript 方面的知识是没有用的!!!?

第二个问题:如果 Xcode 是为 iOS 开发的唯一方法,那么Cocos2dx??!!!!!!他们声称您可以使用他们的产品为 iOS 开发应用程序!! (使用 C++)

第二个困惑:很多人对苹果商店的一些应用有不同的看法。我真的很想知道MegaRunMegaJumpFruit NinjaSnake 等游戏是用什么开发的? Xcode 和 Objective-C ???

最后,无论我是否真的需要学习 Objective-C,任何专业建议都将不胜感激,因为我应该从哪里开始(以我目前拥有的知识)。

【问题讨论】:

  • 关于 Flash,它使用 llvm(低级虚拟机)将 actionscript 虚拟机适配为可以在 ios 上执行并包装为应用程序的字节码:因此大多数 actionscript 功能都可以工作+一些空气ios特定的。除非您编写了 air 原生扩展(air runtime 和 obj-c 之间的互操作层),否则 flash 选项将无法使用任何其他本机功能,这意味着您需要了解一些 obj-c 才能做到这一点。还有其他使用 html 的应用程序包装器(如 phonegap 和许多其他),但同样,对于低级/不太常见的功能,您将需要扩展......
  • ...性能也是开发游戏时要考虑的另一个因素,并且在大多数情况下,包装器的性能可能不如原生,但对于简单的事情可能就足够了。例如,您可以编写一个简单的画布游戏,它可以在 ios 的浏览器中正常运行,也可以封装为应用程序。如果您正在考虑使用 3d 图形或构建图形丰富的游戏,那么学习目标 c 是有意义的。开始可能很难,但会有所回报(您将在平台上获得最佳性能并进行低级控制)。如果你不想直接跳进去..
  • ...objective-c 并且您已经了解 c++,您可能想快速玩一下像 cinderopenframewoks 这样的创意编码框架,您可以在其中使用目标 c++ 进行编码(基本上混合c++ 和一点 obj-c),希望你能轻松进入 obj-c。如果你认真在 IOS 上开发游戏,你会在某个时候学习 obj-c。这取决于你如何选择(直接跳进去,或者让自己放松)。另一种方法是使用 cocos-2d。这是一个 Obj-c 框架,但它为您做了很多,所以您可以从...开始...
  • ...修改示例并回到需要时跳过的 obj-c 概念。开发游戏本身并不是一件容易的事:您需要了解计算机图形学、一些物理知识和线性代数等,并且在移动设备(无论是 ios 还是其他设备)上进行,这是一个额外的挑战,但如果你'对你所做的事情充满热情,所有这些挑战都会有回报。关于个人电脑,我想可能有一些 hacky 方式(交叉编译器、虚拟机、构建 hackintosh 等),但想想在这方面投入的时间。如果你是学生,你应该得到折扣......
  • ...如果可以的话,要么买一台便宜的 mac mini(比 mac 笔记本电脑便宜),要么买一台二手/翻新的,或者从朋友那里借一台。我猜苹果很擅长建立品牌和销售

标签: ios xcode actionscript-3 flash


【解决方案1】:

1:你只需要一个mac就可以上传到iTunes。

我在 Windows PC 上使用 AIR 为 iOS 开发了应用程序。您可以在 PC 上完成整个过程,除了一件事:没有 Mac,您无法将已编译的应用程序上传到 iTunes。 因此,对于这一点,您可以借用某人的 mac,或运行虚拟 mac,或者上帝保佑我们都买一个。 mac mini 就可以了。

2。您可以在 Windows 上导出证书,但需要更多步骤。

您可以在没有 mac 的情况下获得所需的所有证书。但是如果你有一个,它会简单得多,因为使用 Keychain Access 导出证书和密钥非常简单。但是您可以在 PC 上使用 openSSL 和 Putty,通过大约 5 个稍微复杂的步骤来完成同样的事情。这里有一些说明> http://help.adobe.com/en_US/as3/iphone/WS144092a96ffef7cc-371badff126abc17b1f-7fff.html

3. Flash 网页版正在消亡。

Flash 似乎正在流失开发人才,就像没人做生意一样。闪存开发人员的就业市场确实减少了。但将其用于 iOS 游戏是为数不多的亮点之一。现在知道 Flash 是否会消亡还为时过早,但它已经成为一种更小众的技能。

作为一名在技术方面拥有十多年经验的 Flash 开发人员,我正在迁移。我的意见是,您最好在 ObjectiveC 中制作应用程序,或者学习 Unity 3D。我将 Unity 3D 用于我自己的项目,它是一个拥有强大社区的优秀产品。并且(再次提出更多意见)社区在您应该使用什么语言/技术方面非常重要。

但别无所求:iOS 的 AIR 效果很好。它易于开发,性能也不错。再加上移植到 web windows 和 android 是一件轻而易举的事。如果你有工具和技能,它可能是一个不错的选择。但是这些技术的未来并不能保证,就业市场也不能保证。重要的是运送您的产品。最终用户不会在意你用什么制作的。

【讨论】:

  • 你会推荐 Unity 3D 而不是 Cocos 2D 吗?
  • 就个人而言,是的。我喜欢 C# - 它与我喜欢的 Actionscript 和 Java 非常相似。此外,Unity 是多平台的,并且拥有强大的社区和对 3rd 方扩展的支持。它唯一的缺点是某些功能不是免费的,但它们的定价最近对独立游戏更加友好。
【解决方案2】:

您不需要使用 mac 开发 ios flash 应用程序,但您必须使用 mac 创建证书。我不知道你为什么需要 xcode。

Flash 确实在移动应用开发中消失​​了,他们开始不支持它了。

如果你真的对 iOS 感兴趣,而不是跨应用程序开发,你应该开始学习 Objective-c

【讨论】:

  • 再次,混乱。当我读到这个问题的答案VS这个答案stackoverflow.com/questions/7224479/…时感到困惑
  • 我的意思是一方面每个人都说要学习objective-C,但是后来这个人说对于像2D东西这样的游戏,objective-C很慢而且不使用,而使用C++!!!!!! !!!!!!
  • 有些游戏使用 Unity(C#)、Corona(Lua)、Cocos2D(OBJC)、Sparrow(OBJC) 为 iOS 制作,现在 SpriteKit 使用 (OBJC).. 等等等等 C++ 完全不真实是所有用于制作游戏的东西。所有这些框架都完全能够制作出高质量的游戏。现在......这并不意味着 C++ 在给定领域没有性能优势并且在某些领域提供更大的控制。但我认为询问 Objective-C 或 C++ 是要走的路将产生一个基于意见/偏好的答案。并且可能是一个明目张胆的谎言,例如“没有任何游戏是用 Objective-C 制作的”。
  • 如果您花时间在 google 上搜索,就会有大量关于所有框架和选项之间差异的信息。 learn-cocos2d.com/2013/03/… 是比较两个选项的示例。很大程度上取决于你。如果您精通 C++,那么您可能会通过选择该路线来提高效率。花一些时间了解所有这些选项。显然,您不必学习 Objective-C 来制作 iOS 游戏。
  • 转到像 GetSet 这样制作 MegaJump 的公司的职业页面 -- getsetgames.com/careers - 你会在他们的要求中注意到他们希望你有 Objective-C、C 和 C++ 经验以及 Cocos2d - 我相信游戏是用它制作的。
【解决方案3】:

您可以使用 AIR 开发 iOS 应用程序,以及 Android 和桌面应用程序。但是您需要一台 Mac 来进行必要的签名和证书等,以及 iPhoneSDK。 (虽然可以在 Windows 7 PC 上运行 iPhoneSDK,但根据我的经验,这有点古怪)

学习或使用 AS3 没有任何问题,尤其是 AIR。只要 AIR 得到支持并且人们正在更新框架,它就总是有存在的理由(例如在游戏中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2013-10-11
    • 2011-04-09
    • 2019-12-07
    • 2012-05-16
    • 1970-01-01
    相关资源
    最近更新 更多