我经常听到Web API和移动服务可以互换使用,因为它们提供了许多相同的东西。这两种技术之间有哪些主要区别和相似之处,为什么我会使用其中一种?
答案 0 :(得分:2)
移动服务与Web API
移动服务支持两种类型的后端: Javascript(节点)和C#(WebAPI)。
对于node.js开发人员
对于任何非.NET开发人员,我鼓励他们使用Node,因为它很受欢迎,许多开发人员已经熟悉它。 Node后端也更容易使用。关于如何开始的Here is a tutorial。
对于.NET开发人员
Web API需要ASP.NET解决方案。移动服务将为您构建项目,但从那里您还有更多工作要做,您需要熟悉.NET。
我的理解是,与Node相比,使用WebAPI可以更好地控制您的解决方案。如果您实际上正在为您的服务构建自己的API,而不是仅通过REST接受HTTP Verbs。在这种情况下,WebAPI是一个更好的解决方案,因为Azure提供了API管理功能。
脱机支持
WebAPI(.NET)方法也提供离线功能。您基本上是在本地项目中获取所有移动服务,因此您可以进行调试。虽然您可以通过git端点下载脚本,在VS中编辑,然后轻松部署,但JavaScript(Node.js)版本没有完整的离线故事。换句话说,您不必去浏览器编辑所有JavaScript。
服务水平协议(SLA)
基本和标准移动服务:99.9% 网站(Web API):99.9%仅在使用多个实例时(需要基本或标准计划)
这意味着移动服务的SLA为99.9%,最低价格为每月15美元。
网站(Web API)最低为每月112美元,因为需要2个最小的实例。 因此,任何需要/想要SLA的人都可以通过移动服务节省资金。
<强>身份强>
移动服务已为主要社交网络和AAD设置。 可以对Web API进行编码和设置,以使用来自AAD的身份并将其与其他服务联系起来。 这意味着对于许多开发人员来说,移动服务将更容易设置。
推送通知
移动服务内置基本推送功能以及通知中心。 Web API可以使用通知中心。
<强>备份强>
网站有backup feature.此外,您可以将Azure网站(Web API项目)连接到本地Git仓库或one hosted on GitHub as well.
移动服务(JS)在Azure中使用自动创建的Git仓库,对于.NET,您应该使用源代码控制。
预定作业
移动服务具有计划程序(只能按计划或按需运行。)。
Web API具有WebJobs,可以按需或按计划连续运行。
ASP.NET 5
如果您想了解新版ASP.NET 5中的内容如何变化,Scott Hanselman的this video on Channel 9将为您提供更好的图片。