android - Windows Phone 的 native iOS/android 应用程序

标签 android ios iphone windows-phone-8

我有一个 iPhone 应用程序(有一个 android 应用程序),它是用 Xcode 开发并用 Objective-C 编写的。这是一款经典的原生 iOS 应用程序,已经在 App Store 中运行并上传。同样,android 版本是用 Java 构建的,并与 android SDK 链接。它已上传到市场。

我被要求将应用程序移植到 Windows Phone。这可能不修改代码吗? 我不熟悉 Windows Phone 开发人员,但看起来这完全是一个 用于开发应用程序的独立生态系统(不同的编程语言、不同的 IDE、不同的应用程序商店等)。

我可以从 Android 转到 Windows Phone 还是从 iOS 转到 Windows Phone?

PhoneGap - 或类似平台 - 不是选项,因为代码已经用 Objective-C 和 Java 编写。

最佳答案

与 iOS 和 Android 一样,Windows Phone 是完全不同的操作系统,目前需要完全不同的开发平台。

不可能采用现有代码并使其在 Windows Phone 上运行。

  • iOS 通常使用 Objective-C 进行应用程序开发。即使有一种方法可以将 Objective-C 编译到 Windows Phone 上,它也会与平台功能和 UI 控件固有地联系在一起。虽然您可以用 C++ 编写一些代码并共享它,但对于 iOS 应用程序,您仍然需要 some in Objective-C .
  • Android 应用程序通常使用 Java。 Java 不适用于 Windows Phone 平台。所以,语言就出来了。此外,与 iOS 一样,平台功能不一定共享,UI 控制和行为也不同。 Android 应用程序可以使用 C++(如果您碰巧使用它编写代码),但它有 limitations ,再次使用它,您可能会将代码绑定(bind)到 Android 平台。有些代码可能是可移植的。
  • Windows Phone 应用程序通常使用 C#/C++ 和 XAML 或 DirectX 编写。虽然语言(Java 和 C#)有一些相似之处,但您会遇到更多的平台差异,可能需要付出大量努力才能进行转换。从发出网络请求到处理线程的方式将有所不同(甚至更多)。 Objective-C 与 C++ 也有很大不同。

除非你使用了类似 Xamarin 的东西并使用通用平台 (C#/.NET) 编写底层业务逻辑,您需要考虑将 Windows Phone 端口作为一个全新的开始。

仅仅重用所有已编写的代码是不可能的。通过仔细的努力,您可以共享一些通用代码(如果它是用 C++ 编写的),但是由于共享代码不会直接与 UI(和其他平台功能)一起使用,您仍然需要在每个平台上执行 UI ,解决限制,并可能为每个平台定制用户体验。

Microsoft 提供了一些移植指南,并提供了一些带有 API 等效表的链接 here .

关于android - Windows Phone 的 native iOS/android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21201767/

相关文章:

android - 在具有 ViewHolder 模式的适配器中使用动画

android - 在 webview 中平滑水平滚动

ios - Dropbox API 上传文件

ios:Coreplot多个数据集具有相同的数据源和重叠?

ios - 当应用程序终止时,APN 在委托(delegate)中接收通知数据

android - 单击带有附加功能的 Android 通知以初始化应用程序或更新数据 : not handled when app was started by previous notification

iphone - 如何修复 'Grouped"UITableView 附加的边距调整代码?

ios - UIView 未调整大小以填充 iPhone 6 窗口

iphone - xcode 将警告显示为错误

java - Android 原生 UPnP 服务发现