我对Xamarin和移动开发完全陌生。我的第一个问题是体系结构明智的做法是使用现有的Rest api通过移动客户端传输数据是一种很好的做法。
我挖掘了谷歌,Xamarin Azure云文档,但没有找到任何满意的文章。此外,我们有一个使用Azure的REST apis的ember前端应用程序。
如果此信息不够,请向我询问,如果重复,请不要犹豫,将其标记为重复,并附上正确的链接。谢谢大家,请帮助并分享您的丰富经验。
谢谢
我经历过的几个链接
https://azure.microsoft.com/en-us/documentation/learning-paths/appservice-mobileapps/
http://www.davevoyles.com/asp-net-web-api-vs-azure-mobile-services/
https://azure.microsoft.com/en-us/blog/azure-mobile-services-why-should-asp-net-developers-care/
https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-value-prop/
https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-ios-get-started/
答案 0 :(得分:2)
如果您只想使用现有服务器REST API,那么显而易见的一步是在Xamarin中构建REST客户端。忘记Xamarin或任何相关的Azure移动服务客户端,因为这需要更改服务器代码。
关于如何构建REST客户端,有多种选择,但我建议使用Refit作为更简单,更快捷的方法。例如,您在一个简单的界面中声明您的REST方法:
public interface IGitHubApi
{
[Get("/users/{user}")]
Task<User> GetUser(string user);
}
神奇的是,所有必需的代码都将在编译时生成,因此您可以专注于API方法而不是实现本身,并在几分钟内构建客户端,而不是几小时或几天。然后你可以使用这样的界面:
var gitHubApi = RestService.For<IGitHubApi>("https://api.github.com");
var octocat = await gitHubApi.GetUser("octocat");
不使用Azure移动服务客户端的缺点是,如果您需要任何离线/在线同步,您必须自己制作。但根据我的经验,客户端 - 服务器数据同步是一个边缘情况,在绝大多数应用程序中根本不需要。