我们编写了两个移动应用程序和一个Web后端。移动应用程序是用Xamarin编写的,后端是用Azure的C#编写的。
这三个应用程序之间都有共享数据,有些是简单的关键字表,但有些数据表会更改,例如移动用户正在四处移动并对表进行一些更新,更新需要先返回到Web应用,然后再返回到应用。
当前在移动应用程序上使用SQLite,并遵循离线优先方法,即用户更改我们在移动设备上写入SQLite的表,然后同步到服务器。如果用户没有连接,则后台进程将在可能的情况下最终将数据同步到服务器。
所有这些现在都是自定义代码,我有点犹豫要继续这条路。我们正在测试约4个用户,但是期望在6到18个月内增长到成千上万的用户。
我认为我们的方法可能无法扩展。宁愿切换到“离线优先”框架,也不愿继续推出自己的框架。
鉴于我们的环境,我认为使用Azure Mobile SDK是遵循的明显途径。
总的来说,如果您的应用程序会增长,您会选择第一个离线框架吗?特别是,使用Azure Mobile SDK有什么经验?
答案 0 :(得分:1)
请注意,您的问题可能会因为您正在征求意见/建议而被关闭,但是无论如何...
从Azure移动应用Github存储库中
请注意,产品团队目前未投资任何 适用于Azure移动应用的新功能。
据我所知,Microsoft尚未宣布任何新的SDK或升级路径。
请牢记这一点,一种选择是保留您的自定义代码,并将其与从SDK提取的代码绑定在一起,反之亦然。
答案 1 :(得分:0)
假设您的移动应用程序调用了Web服务,然后执行了所有必要的写操作,则可以对生产环境的副本进行负载测试,以查看问题是否解决以及在什么时候发生。我不是过早优化的忠实拥护者。
假设事情确实失败了,您可以使用Service Bus Queue在Web服务端点和数据库之间引入一个缓冲器。