代码之家  ›  专栏  ›  技术社区  ›  theraven

移植iPhone应用程序。如果你要从头开始你的应用程序,你会有什么不同的做法?

  •  6
  • theraven  · 技术社区  · 16 年前

    如果你要从头开始你的应用程序,你会做什么不同的,知道你要移植到的平台? 当我的团队准备开发一款针对iPhone、Android和Qt的移动应用程序时,出现了这个问题。我们的目标是先完成iphone版本,然后移植到android和qt,从一开始就知道任何要掌握/使用的技巧或思想都是很好的,这将使移植过程尽可能无缝。 我敢肯定你们中的一些人已经完成了他们iPhone版本的应用程序,然后开始开发Android版本。我很想知道你遇到的任何障碍,或者你希望从一开始就知道的事情。

    编辑: 更具体地说,我们正在制作的应用程序将包含表单和一些视觉效果(图表)

    3 回复  |  直到 16 年前
        1
  •  3
  •   Dan Rosenstark    16 年前

    我认为在这种情况下,“移植”是正确的动词,但概念可能不正确。这可能是一个不受欢迎的答案,但下面是:

    不要端口。一些类可以从一个平台直接使用(只需语言翻译)。那些你移植的。然而,用户界面可以并且应该允许在两个平台之间自由地变化…不同的概念,更重要的是, 不同的组件和不同的约定,从用户和开发人员的角度来看。

    iPhone和Android上的纽约时报应用就是一个很好的例子。我敢肯定,他们成功地让大约一半的应用程序在共享代码上运行,但其余的应用程序被翻译成遵循每个平台的习惯用法和sdk。从表面上看,它是同一个应用程序,但当你真正进入它时,许多事情是完全不同的。

    因此,我建议你不要“在启动任何其他端口之前完成一个端口”,而要确定应用程序的公共或可共享部分,并密切注意尽可能通用。应用程序的其余部分可能是特定于平台的(很明显,你的iPhone和iPad版本应该共享他们实际代码的90%或更多…)

        2
  •  2
  •   Simon Hibbs    16 年前

    首先确定所有平台上可用的通用技术,并尽可能地坚持这些技术-OpenGL、SQLite等。

    接下来,我建议在开始其他港口之前不要完成一个港口。从第一天开始,至少在其他两个基础上并行进行一些基础工作。你可能会发现你可以用这种方式更早地处理很多问题。你可能觉得你没有这个的开发资源,但我认为这比看起来更重要。

    注意你的软件架构(MVC)?尽管qt是模型视图委托)。为了更快地进入市场,总有一种趋势是让架构的纯净度下降,采用稍微脏一点、稍微粗糙一点的解决方案。试着尽可能地抵抗,因为你很快就会咬住这些子弹。

        3
  •  1
  •   RK-    16 年前

    正如西蒙所指出的,至少要对其中一个并行进行一些基础工作。您将面临许多关于在所有平台上以相同方式实现单个功能的可行性问题,当我们尝试在所有平台上模拟相同的UI设计(控件的使用)时,就会发生这种情况。