在2012年编写跨平台移动应用程序的工具包选项?

时间:2012-05-11 10:49:01

标签: mobile cordova xamarin.android corona appcelerator-mobile

我目前正在研究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:仅限游戏。
  10. 所以,有三个主要的想法,有一些框架实现每个,在我看来:

    • 在原生iOS / Android代码上设置抽象层,并使用提供的图层为每个平台构建。 (Monotouch,Unity3D)
    • 使用HTML5(在Javascript中编码)和某种包装来“appify”Web内容。 (PhoneGap的,煎茶,眨眼)
    • 使用框架的代码,该框架将作为每个支持平台(Moai,XVLM,Appcelerator,Corona)的本机应用程序的编译传递(或类似)输出

    问题:

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

3 个答案:

答案 0 :(得分:1)

只有部分答案:

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

答案 1 :(得分:1)

我的主要体验是使用Mono for Android和MonoTouch,所以我个人对其他选项不会说太多。我个人觉得它是最好的选择,因为它允许你在平台上共享大量的代码(如果你坚持使用.NET,甚至扩展到非移动平台),同时仍允许100%本机UI,这是非常重要的。如果您正在寻找入门资源,我会this video讨论跨平台共享大量代码的方法和库,以及涵盖相同内容的this book,但也扩展到谈话关于如何做商店数据,使用地图,访问网络等等。

我还想提一下MonoGame,你的名单中没有。{3}}。 MonoGame是一个开源的XNA实现,位于Mono之上,允许您定位iOS / Android / Max OS X.

答案 2 :(得分:1)

根据我的经验,如果你想要一个原生应用程序去Mono,如果你不需要原生的去PhoneGap。原生是最好的UI是非常重要的,即游戏或相当的图形应用程序。但是从商业类型的应用程序,CRUD,手机差距很好。