多移动设备应用架构

时间:2011-07-14 01:54:48

标签: iphone android ipad windows-phone-7 mobile

我正在考虑为Windows Phone 7,Android,iphone,ipad等构建应用程序。由于我将利用类似的外观和内容,在我看来,尝试创建一个可以跨环境重用的公共基础结构可能是值得的。

例如,我可以使用XML或其他东西定义UI的结构,或者利用应用程序的一些常见结构,我可以构建一个转换器来生成其他环境中的代码,甚至是其他东西。我正处于思考的初期阶段,并且想知道是否有人尝试过这种方法并想出一个好的方法?有什么想法吗?

感谢。

3 个答案:

答案 0 :(得分:3)

除了简单的应用程序之外,它不会发生。

您将面临许多问题:

  • 不同移动平台上的不同本机编程语言。
  • 不同移动平台上的不同UI范例。
  • 即使在同一移动平台上(例如iphone与ipad),屏幕尺寸也大不相同。
  • UI本地化

要真正利用每个移动平台,您需要为该平台构建UI,以最大化其UI范例。同样重要的是你想要支持的屏幕尺寸,适合小屏幕尺寸可能会妨碍你在UI中显示的内容,除非你为不同的屏幕尺寸构建不同的屏幕布局以提供更好的UI体验(很多工作)。这可能是一个平台上的一个大问题,更不用说将其扩展到其他平台了。

对于列出的平台,您可以尝试使用mono,但这只会在以下方面有所帮助:

  • 一种编程语言(C#),而不是每个平台的不同语言。
  • 应用程序引擎逻辑可以在平台之间共享。
  • 每个应用程序的本机UI。

使用mono的缺点是:

  • 您仍然需要为每个平台编写UI层,因为它与单独的UI api绑定。
  • Mono运行时开销大小,有时速度。
  • 移动平台上的Mono仍然是新的,我已经开发了一个iotouch的iphone应用程序,我发现了很多首次发布的类型问题。

如果您不介意某些内容,那么mono可以成为开发某些级别应用程序的绝佳平台。

我发现尝试定义主UI布局只是在任何应用程序的所有情况下都不起作用,这些应用程序在向用户显示的信息中变得复杂。无论你如何“复杂”地定义布局,都会有一些东西会破坏它。在某些情况下,您必须使用“糟糕”的UI,否则会产生维护费用。

我喜欢为移动平台开发一个应用程序试图可以充分利用该平台及其功能。这可能意味着应用程序的其他平台版本可能会以不同的方式工作,但至少在该平台上会感觉正确。

答案 1 :(得分:2)

有一些x平台工具包:appceleratorphonegap等。或者你可以采用混合路线并使用像单声道这样的东西,然后有可能建立一个带有html5的网络应用程序。

我不会尝试自己动手,这是肯定的

答案 2 :(得分:0)

将iPad转换为Android设计时要小心。希望这篇文章可以帮助你:

http://morriscodes.blogspot.com/2012/09/designing-for-android-tablets-vs-ipad.html