【问题标题】:Porting iPhone App to Android platform将 iPhone App 移植到 Android 平台
【发布时间】:2012-03-01 19:40:48
【问题描述】:

我也在尝试在 Android 平台上安装我的 iPhone 应用程序。我想知道是否可以直接将我的 iPhone 应用程序或代码移植到 Android?我是否需要从头开始为 Android 平台编写整个应用程序,或者无论如何我可以减少我的工作?谢谢。

【问题讨论】:

标签: android iphone porting


【解决方案1】:

据我所知,没有办法在平台之间移植应用程序,您也没有理由想要这样做。 Android 和 iPhone 是两个截然不同的平台,都有独特的界面、API 层、设计指南等等。如果您在 iPhone 中使用导航栏(例如),中间带有徽标/标题,左侧是后退按钮,右侧是其他按钮,您可以在 Android 中使用带有徽标/标题的操作栏左侧和右侧的操作按钮,可能带有额外按钮的下拉菜单。

显然,有些概念是“共享的”,例如选项卡式浏览(尽管在 android 中这已被仪表板概念和其他导航方式所取代),您永远不应该在这两个平台之间移植。您应该始终从头开始。

跨平台框架也是如此……这两个平台有很多不同和独特之处,以至于您要编写如此多的特定于平台的代码,不值得尝试只维护一个代码库。

【讨论】:

  • 感谢 Thomas 的精彩解释。
  • 一个非常有见地的答案,它触及了为什么移动应用程序正在慢慢扼杀开放的互联网,如本文所述:tnl.net/blog/2012/03/03/i-killed-the-internet 幸运的是,一些主要的内容提供商已经明智地发现正在远离原生应用程序面向“瘦”应用程序,这些应用程序实际上只是呈现从某个服务器获取的 HTML5 gui。
  • 文章 = tldr。然而,在回应您的评论时,原生应用程序始终提供比 HTML5 呈现的应用程序更好的用户体验。我习惯于以原生方式使用我的 Android 手机,不想为了让那些想要创建跨平台应用程序的人沉迷而不得不“学习”新事物。将外部 HTML 加载到 webview 中也很费力。如果我遇到执行此操作的应用程序(这些应用程序很少而且相距甚远,这是有充分理由的),我通常会卸载它们。我宁愿只在必要时访问该网站。
【解决方案2】:

我相信他们不是为你移植它的程序。

Android 是用 Java 编写的,但是,他们还开发了一个基于 C++ 的 NDK。 因此,如果您已经为 Iphone 编写过代码,那么使用 C++ (NDK) 将其移植到 android 可能比用 Java 编写更容易。

您可以使用第 3 方工具来创建适用于两者的应用。这就是 Titanium 和 PhoneGap 的目标。随着 SDK 协议的新变化,这些看起来并不真正“合法”,或者至少违反了协议。

但是我不能 100% 确定。

【讨论】:

  • 我假设你的意思是 C++ 而不是 C#!
猜你喜欢
  • 2010-12-07
  • 1970-01-01
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
  • 2016-10-21
  • 1970-01-01
  • 2012-05-14
相关资源
最近更新 更多