移动服务与ASP.NET Web API

问题描述:

我通常会听到Web API和移动服务交替使用,因为它们提供了许多相同的功能。这两种技术之间的一些重要差异和相似之处是什么?为什么我会使用这两种技术之一?移动服务与ASP.NET Web API

移动服务VS网页API

移动服务支持两种类型的后端:使用Javascript(节点)和C#(的WebAPI)。

于Node.js开发

对于任何非.NET开发者,我鼓励他们使用节点,因为它很受欢迎,很多开发者都已经熟悉它。 Node后端的工作也更简单。 Here is a tutorial关于如何开始。

对于.NET开发人员

的Web API需要一个ASP.NET的解决方案。移动服务将为您构建项目,但从那里您有更多的工作要做,您需要熟悉.NET。

我的理解是,与Node相比,WebAPI可以更好地控制解决方案。如果您实际上正在为您的服务构建自己的API,而不是仅接受REST上的HTTP动词。在这种情况下,由于Azure为API管理提供了便利,WebAPI是一个更好的解决方案。

脱机支持

的的WebAPI(.NET)的方式提供离线也。基本上,所有移动服务都在本地项目中,因此您可以进行调试。 JavaScript(Node.js)版本没有完整的离线故事,不过您可以通过git端点下载脚本,在VS中编辑,然后轻松部署。换句话说,你不必去浏览器来编辑所有的JavaScript。

服务级别协议(SLA)

基本和标准移动服务:99.9% 网站(网页API):使用多个实例时,99.9%只是(需要基本的或标准计划)

这意味着移动服务的SLA为99.9%,最低价格为15美元/月。

由于需要2个最小的实例,网站(Web API)的最低价格为112美元/月。 所以任何需要/想要SLA的人都可以通过移动服务节省资金。

身份

移动服务对各大社交设置,也AAD。 Web API可以进行编码和设置,以使用来自AAD的身份,并将其与其他服务绑定。这意味着对于许多开发人员来说,移动服务将更容易设置。

推送通知

移动服务内置了一个基本的推动以及通知中心。 Web API可以使用通知中心。

备份

网站有一个backup feature.此外,您可以将您的Azure的网站(网页API项目)到本地的Git回购或one hosted on GitHub as well.

移动服务(JS)使用一个自动创建的Git回购在Azure和.NET中,你应该使用源代码控制。

预定作业

移动业务具有调度器(只能在计划或按需运行)。

Web API具有WebJobs,它可以按需或按计划持续运行。

ASP.NET 5

如果你想看到的事情是如何在ASP.NET 5,this video on Channel 9的斯科特Hanselman的新版本改变会给你一个更好的画面。