【问题标题】:Speeding up the porting of an iPad application to Android加快将 iPad 应用程序移植到 Android 的速度
【发布时间】:2012-05-03 08:00:41
【问题描述】:

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

【问题讨论】:

    标签: android ios porting


    【解决方案1】:

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

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

    • 如果您的 iOS 应用程序是基本的显示-编辑-那种风格的应用程序,您可能会发现 PhoneGap、jQuery Mobile、Titanium 或新的 Adob​​e 套件是更好的时间投资。

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

    • 您应该能够创建类似的 UIViewController/Activity 结构,尽管幕后的绑定逻辑将是特定于平台的。把它写在纸上——它为你的 UI 框架制定了一个非常好的下一步计划。

    • 更喜欢“输入数据”和“输出数据”之间的中间抽象,这样您就可以交换解析器/工具包/apis/框架,而无需将所有内容破解为比特。

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

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

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      一些建议:

      • 在大多数情况下,您需要将 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 上创建完全相同的 UI。您可能知道这些指南可在以下网址获得: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” Tensor Information Systems Inc 的 Theresa Ray

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 2011-03-02
        • 2011-02-23
        • 1970-01-01
        相关资源
        最近更新 更多