加速将iPad应用程序移植到Android

时间:2012-04-26 13:05:00

标签: android ios porting

我的工作包括将iPad应用程序移植到Android(从Objective-C到Java)。我是在Android环境中开发的,但从未在iOS中开发过。目前我正在寻求建议 - 我想知道是否有一种方法,方法或过程可以帮助我更轻松地做到这一点。

2 个答案:

答案 0 :(得分:3)

在这个阶段,答案通常是否定的,但我有一些可能有帮助的建议。

  • 广泛使用UIWebView / Webkit - 禁止任何HTML5媒体(和SVG),渲染HTML时几乎不需要移植。你在一个中呈现的内容通常会在另一个上呈现得很好。

  • 如果您的iOS应用程序是基本的show-this-edit-that风格的应用程序,您可能会发现PhoneGap,jQuery Mobile,Titanium或新的Adobe套件是更好的时间投资。

  • 由于Android缺乏一致的设备基础,这使得开发动画丰富的UI变得困难,您可能会发现没有1-1 UI比较。请考虑您提供的功能及其基础数据和视图模型。

  • 您应该能够创建类似的UIViewController / Activities结构,尽管幕后的绑定逻辑将是特定于平台的。在一些纸上绘制出来 - 这对你的UI骨架做了一个非常好的下一步做什么。

  • 首选您的“in data”和“out data”之间的中间抽象,这样您就可以交换解析器/工具包/ api / framework而不会破坏所有内容。

  • 如果您有自定义绘图例程和图形,请确保您有填充渐变或颜色。 Android使用盒子模型来支持许多屏幕尺寸 - iOS只有4个分辨率需要担心。重新创建相同的外观可能需要花费太多时间 - contrasting pastel colours是一个很好的占位符,直到您可以证明制作艺术品为止。

没有更多可以说that hasn't already been said before

希望这有帮助!

答案 1 :(得分:0)

很少有建议:

  • 在大多数情况下,您需要重新设计UI作为iPad,与大多数Android设备相比,平板电脑和屏幕更大。建议:检查是否有适用于iPhone的应用程序版本,因为它在重新设计阶段非常有用。
  • 检查iPad代码是否包含Objective-C代码以及C / C ++代码。如果有大量代码,您可以考虑使用Android NDK,它允许C / C ++代码与Java一起使用。
  • 如果iPad应用程序使用的是基于HTML5 / CSS / JavaScript组合的流行跨平台框架(例如PhoneGap),您可能可以重用大部分代码。负责呈现HTML5的iPad和Android浏览器/ ui元素都基于相同的引擎(WebKit),并且通常会产生类似的体验。注意:某些框架允许自定义访问本机功能,几乎在所有情况下都需要重写。
  • 如果与用户界面指南冲突,请勿尝试在Android上创建完全相同的用户界面。您可能知道这些指南可在以下网址获得:http://developer.android.com/guide/practices/ui_guidelines/index.html Android用户习惯于某些界面,他们应该获得与Android可用的其他应用相似的体验。另外,为iPad创建类似的Android控件可能会非常痛苦。如果有压力要做同样的“外观和感觉”,这里有一篇解释如何抵御这种压力的帖子:Porting iPhone applications to Android? How to convince them NOT to
  • iPad上的许多功能将无法在Android上使用(例如,仅使用图像的Android应用程序启动画面)。因此,分析iPad应用程序并将其分解为一组功能。获得后,您可以将它们映射到Android API并开始编码。
  • 目前没有Objective-C到Java转换器(这可能在未来发生变化)但是为了总体感觉Objective-C和Java之间的区别,您可能希望阅读“将Objective-C移植到Java” Theresa Ray of Tensor Information Systems Inc