【发布时间】:2013-12-05 16:52:17
【问题描述】:
小背景和范围
让我直截了当地说,并尽可能诚实。对于我的问题和困惑,我找不到明智而准确的答案。所以我认为 Stackoverflow 可以帮助我。
我目前是一名真正对开发适用于 iOS(主要是 iPhone)的应用程序感兴趣的学生。我对如何、何地、什么、何时、谁以及各种问题进行了一些研究。但是,我得到了不同的答案,其中一些甚至彼此不同意。在问我的问题之前,让我告诉你我从编程/开发中所知道的。
我知道:
- Adobe Flash Professional(带有 ActionScript 3.0)
- C++ 语言(面向对象编程)
- Bash 脚本(怀疑是否有帮助)
我对开发、编程和专门为 iOS 制作应用程序有很大的兴趣和热情。
现在我的困惑和问题
我在很多地方读到过,要为 iOS 设备开发应用程序,您必须拥有 MAC 和 Xcode。另一方面,我还读到您也可以使用 Adobe Flash 创建适用于 iOS 的应用程序,因为 Adobe 现在有 AIR。我对 Flash 和 Actionscript 3.0 非常满意。事实上,我已经用它制作了一些应用和游戏(可以在电脑上运行)。
所以我的第一个问题是:你们能用 Flash 和 Actionscript 开发 iOS 应用吗?如果是,那为什么人们说你必须拥有一台 Mac 并且你需要 Xcode?如果没有,那为什么不呢?
第一个困惑:很多人都在说 Flash 正在消亡,而 HTML5 正在逐渐取代它......!!!是真的吗?如果这是真的,那么花时间来提高您在 Flash 和 ActionScript 方面的知识是没有用的!!!?
第二个问题:如果 Xcode 是为 iOS 开发的唯一方法,那么Cocos2dx??!!!!!!他们声称您可以使用他们的产品为 iOS 开发应用程序!! (使用 C++)
第二个困惑:很多人对苹果商店的一些应用有不同的看法。我真的很想知道MegaRun、MegaJump、Fruit Ninja 和Snake 等游戏是用什么开发的? 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++,您可能想快速玩一下像 cinder 或 openframewoks 这样的创意编码框架,您可以在其中使用目标 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