我们计划创建一个跨平台移动应用程序,我正在调查一些技术。目前,我们是Xamarin和PhoneGap / Cordova之间的选择。其中一项要求是离线同步 - 用户必须能够在没有与服务器连接的情况下使用应用程序。恢复连接后,必须同步数据。
我正在为此目的测试Azure App Service移动应用程序。但我面对一些奇怪的事情。 根据{{3}},移动应用程序旨在将表作为数据存储。需要创建单个表,并在客户端上构造对该表的查询。客户端SDK有像this guide这样的方法,它告诉SDK代表从表中获取数据。
我们拥有大型遗留桌面应用程序,每个客户端都有自己的数据库。客户端数据库托管在我们租用的数据中心的虚拟机上。所以我们有一些Web服务,它直接与数据库一起工作。
所以这里有一个主要问题:我可以以某种方式将表替换为在移动应用后端中调用我们的Web服务吗?这项技术是否专为此类用途而设计?如果没有,您能否建议更合适的服务,为移动客户端提供离线同步功能,同时从自定义数据源中提取数据?
非常感谢。
答案 0 :(得分:1)
我可以以某种方式将表格替换为在移动应用程序后端中调用我们的Web服务吗?这项技术是否专为此类用途而设计?如果没有,您能否建议更合适的服务,为移动客户端提供离线同步功能,同时从自定义数据源中提取数据?
据我所知,如果你使用aure C#mobile sdk后端,你可以使用mysql或其他支持EF 作为数据库源的东西。如果使用azure Node.js后端,则只能使用azure sql数据库和azure存储作为后端。
由于azure mobile SDK提供离线同步和其他功能,因此它会创建自己的列以实现离线同步。(关于azure mobile SDK如何实现离线同步,您可以参考此article)< / p>
因此,如果您使用SDK不支持的数据库,则无法使用移动SDK。 如果您不使用azure mobile SDK,则不会使用其功能。
如果您仍想使用其他数据库(不支持SDK),您需要编写自己的逻辑来实现您想要使用的所有功能。