4

我目前正在研究适用于 Android 和 iPhone 的跨平台开发替代方案(Windows 8 可能是一个不错的补充)。该应用程序基本上是一个“带有关联应用程序的地图”,当然不是游戏。

在这里搜索,我看到了 2010/2011 年以来的许多过时的建议和工具,但从那时起,Apple 改变了他们的政策,并且肯定出现了新的东西。

我目前的清单和轻型研究(可能有事实错误)是:

  1. Monotouch/Monodroid:.NET (Mono) 框架。在两个平台上创建“本机”应用程序。需要重建 UI 代码(或类似的东西)。
  2. Appcelerator:用于编译原生应用程序的 Javascript 框架。
  3. Corona:类似于 Appcelerator。
  4. Phonegap:类似的想法,但看起来它使用包装器来应用 HTML5 内容
  5. SenchaTouch:另一个基于 HTML5 的平台。
  6. Wink:又一个 HTML5 工具包。
  7. XVLM:Android 到 ObjC 编译器,可能会创建丑陋的 iOS 应用程序。
  8. Unity3D:仅适用于游戏。
  9. Moai:仅用于游戏。

所以,在我看来,有三个主要想法,每个都有一些框架实现:

  • 在原生 iOS/Android 代码之上有一个抽象层,并使用提供的层为每个平台构建。(单点触控,Unity3D)
  • 使用 HTML5(用 Javascript 编码)和某种包装器来“应用”网络内容。(PhoneGap,煎茶,眨眼)
  • 使用框架的代码,该框架将为每个支持的平台(Moai、XVLM、Appcelerator、Corona)输出一个本机应用程序作为编译通道(或类似)

问题:

  1. 我还没有找到第四个想法吗?
  2. 在我对任何指定框架的研究中是否有任何明显的错误?
  3. 地图与任何这些想法或特定框架的集成是否存在任何已知问题?
4

3 回答 3

1

根据我的经验,如果你想拥有一个原生应用程序去 Mono,如果你不需要原生应用程序去 PhoneGap。Native 是最好的 UI 非常重要,即游戏或相当图形化的应用程序。但从业务类型的应用程序,CRUD,电话差距运作良好。

于 2012-05-11T12:49:19.073 回答
1

只是部分答案:

广告 2. Appcelerator / Titanium 不仅仅是 HTML5。前几天,我在 Hackers News 上读到PhoneGap 和 Titanium 之间相当广泛的比较。我发现它非常有用。链接指向 HN 评论,实际文章的链接在顶部。

于 2012-05-11T11:30:22.880 回答
1

我的主要经验是使用 Mono for Android 和 MonoTouch,所以我个人不能对其他选项说太多。我个人认为它是最好的选择,因为它允许您跨平台共享大量代码(如果您坚持使用 .NET,甚至可以扩展到非移动平台),同时仍然允许 100%原生 UI,这非常重要。如果您正在寻找入门资源,我有这个视频,其中讨论了跨平台共享大量代码的方法和库,还有这本书涵盖了同样的事情,但也扩展了讨论如何做的事情,例如存储数据、使用地图、访问网络等。

我还想提一下MonoGame,您的列表中没有它。MonoGame 是一个开源 XNA 实现,它位于 Mono 之上,允许您以 iOS/Android/Max OS X 为目标。

于 2012-05-11T11:57:25.230 回答