我们希望开发一个数据密集型的移动设备应用程序。我们面临的主要问题是:
- 我们将不得不在客户端存储大量数据
- 客户端希望应用程序能够离线使用
- 我们的技能集非常偏向于Web开发C# ASP.Net,而不是Objective C
我们考虑了三种可能性:
使用HTML5本地存储的Web应用程序,利用离线应用程序缓存。 我们的本地存储限制为5MB,但某些浏览器可能降至2.5MB。
通过PhoneGap创建本地应用程序的Web应用程序。 这里的一个巨大优势是我们可以使用文件系统进行存储。缺点是它将不得不通过应用商店(尤其是iOS)- Apple对订阅应用程序的30%收入抽成。
使用MonoTouch构建Android和iOS的应用程序。 好的一面是,我们可以使用C#和.Net来完成。坏的方面是没有Blackberry支持。
问题
我很难看出在这种情况下使用MonoTouch相比PhoneGap有任何真正的优势。它们是什么?是否存在这样的优势?
在这种情况下,例如将数据保存到文件系统中将非常有用,但我相信phone gap可以通过File对象实现此功能。显然,MonoTouch将利用System.IO。
是否存在一些情况下,MonoTouch具有明确的附加功能,特别适用于移动设备开发,例如地理位置或相机类型函数?还是PhoneGap几乎覆盖了所有这些内容。
额外问题
是否有其他我忽略的选项或者三种方法的其他主要优势/劣势?
感谢大家的专业知识。