虽然我们可以在 X-code 中开发 i-phone 应用程序
为什么我们需要使用 Airplay-sdk?
任何人都可以区分它们吗?
您不需要使用 AirPlay SDK。你可以在没有它的情况下编写一个 iPhone 应用程序。
Airplay 是一个跨平台开发解决方案,允许您为 iOS、Android 和其他智能手机和平板设备编写应用程序。
它与 Xcode 的不同之处在于 Xcode 是一个集成开发环境 (IDE),支持编写(主要但不仅限于)Mac OS 和 iOS 应用程序。
Airplay 是一个软件开发工具包 (SDK)。它本身并不是一个 IDE。您仍然需要使用 IDE 来编写应用程序,而且 Airplay 似乎可以与 Windows 上的 Visual Studio 和 Mac OS X 上的 Xcode 一起使用。
Airplay 似乎使用 C++ 作为它的主要语言,通过某种包装器提供对 iOS API 的访问。它似乎也有自己的 UI 库,这意味着您的应用程序在所有设备上看起来都一样,但与为每个相应平台原生编写的其他应用程序不同。
我使用 Airplay SDK(见www.immortalcode.com) 并且效果很好。他们的代码一直在发展,但现在已经相当稳定了。对我来说最大的优势是能够将我的源代码保留在 C++ 中,并且能够将单个代码库用于多个平台。我已经在 Windows 上使用 Visual Studio 构建了多平台游戏(iPhone、Android、bada、Windows)。Airplay SDK 的主要警告是您可能无法访问通常在给定平台上拥有的所有功能。特别是,您可能无法获得本机 UI 的外观和感觉,并且您可能没有重要的选项,例如使用您选择的广告提供商。我的理解是,他们最近在 iPhone 和 Android 上开放全系列原生 API 方面取得了长足进步,但我仍然认为在某些高度依赖平台的东西方面可能会出现问题。再次,
Airplay SDK 是一个支持多种移动平台的 C/C++ 编程环境。它包含多个用于各种移动操作系统和控制台(其中包括 Iphone、Android 和 Symbian)的本地库的包装器以及与 Visual Studio(在 Windows 上)和 Xcode(在 Mac 上)集成的交叉编译器(gcc under the cover)。包装器在所有受支持的操作系统之间提供统一的编程接口。基本上,您在桌面上进行开发,然后单击一下即可在多个平台上进行部署。SDK 相当完整,涵盖了 3D 和 2D 图形、基本的 UI 框架、声音和资源管理设施等。主要缺点是不支持多线程,并且使用给定操作系统的本机功能可能会出现问题。GUI系统也没有 不提供开箱即用的优雅和外观,可以在 Iphone 或 Android 上找到。在 Android、Iphone 和 Windows 上,有一种扩展机制,允许链接本地库。我正在使用它来开发一个以 Iphone 和 Android 为主要目标的 2d 平台。我发现 Airplay 提出的编程模型非常适合视频游戏,但对于 GUI 繁重的应用程序可能不方便。但是,该框架非常可靠并且运行良好,而且我没有发现错误,因此代码经过了很好的测试。如果您打算开发一款多平台游戏,您绝对应该尝试一下。如果您需要更多地控制幕后发生的事情并且您想使用本机功能,我也会考虑使用 COCOS2D-X (http://www.cocos2d-x.org/) 作为替代方案。该项目仍然不成熟并且有一些错误,但我已经尝试过,我发现它非常有前途。此外,您拥有完整的源代码:如果您发现错误或需要扩展,您可以自由地提供自己的解决方案。
Marmalade / AirPlay SDK 将在即将发布的版本中提供对原生 UI 的访问。在http://www.madewithmarmalade.com/marmalade/releases-and-roadmap查看他们的路线图