Azure App Service、移动应用或 Api 应用之间有什么区别?

9
我一直在阅读有关新Azure提供的信息,并试图弄清楚哪个是哪个。我找到的文档似乎更多地涉及不再有效的框架,比如this one。视频中谈到的大部分内容,如4.8、5.23、12.13,现在已经不再有效。
目前我所了解的是,移动服务曾经提供过。它将很快被停止使用,而应用程序服务将接管。应用程序服务是包含Api应用程序、移动应用程序和Web应用程序的顶级服务。这正确吗?
我对为什么我们有 Api 应用和移动应用感到困惑。它们不是做同样的事情吗?现在我们还有 Web 应用,它们只限于 UI 相关的应用程序吗?唯一简单易懂且没有类似的其他产品的是 Logic app。这似乎是只能在 Azure 门户上完成的事情。Visual Studio 没有针对它的项目模板。在我的 Visual Studio 中创建逻辑应用需要安装什么吗?
此外,在 Visual Studio 2015 中,在 WEB 节点下的 Asp.Net Web Application 项目模板和 CLOUD 节点下的有什么区别?它们似乎都包含相同的模板。
为什么我们在 Cloud 节点下直接有 Azure Mobile App 和 Azure Mobile Service,如下所示: enter image description here ..并且在选择 Asp.Net Web Application 后也有: enter image description here 表面上看起来,两者看起来一样。是否有任何微妙的差别是需要了解的呢? 此外,为什么这些选项在Asp.Net 5模板中也不可用?随着所有变化的发生,将最新版本开发的应用程序投入生产是否是一个好主意呢?
感谢任何指导。
3个回答

17
Azure 移动应用是 Azure 移动服务的下一个版本。Azure 移动服务已被弃用,您无法在新订阅中进行配置。与移动服务相比,移动应用有更多功能特性。要了解更多信息,请参见 我使用移动服务,App Service 如何帮助我?
移动应用、Web 应用和 API 应用本质上都是同一种东西,它们只是具有构建特定解决方案的一些额外功能。您需要将每个应用程序发布到 App Service 计划中,该计划是托管您服务的实际底层 VM。
在您配置过这些应用程序类型之一后,您可以将 Web API 发布到其中,而不管它是哪种应用程序类型。例如,您可以将 API 发布到 Web 应用或移动应用。一旦选择了特定的应用程序类型,您并没有被锁定在其中,只是在 Azure 门户中会看到略微不同的用户界面。
移动应用还拥有一款针对 Node.js 或 .NET 的移动服务器 SDK。.NET 服务器 SDK 是 ASP.NET Web API 的扩展。由于存在 OData 库的依赖关系,并且该库尚未支持 ASP.NET 5,因此它目前还不支持 ASP.NET 5。然而,移动应用正在积极开发中并将支持 ASP.NET 5。不幸的是,我们目前没有可分享的时间表,因为尚未完成所有依赖项。
对于特定的移动应用,您还可以获取支持身份验证、离线同步和推送通知的客户端 SDK 特性。了解此产品最简单的方法是遵循快速入门指南:在 App Service 上创建 Windows 应用。您可以了解SDK并尝试使用它们,即使没有Azure帐户。这是有关.NET服务器SDK的文档:为Azure Mobile Apps使用.NET后端服务器SDK
API应用程序具有一些额外的功能,例如自动为您创建元数据终结点,然后您可以使用Visual Studio生成客户端库。
目前,仅Web应用程序和移动应用程序在尝试应用服务中拥有演示体验,但如果您使用Microsoft帐户登录然后在Azure门户中管理应用程序,则可以查看API体验。您将在门户中看到所有API应用程序和移动应用程序选项。
请注意,Web和Worker角色是Cloud Services的一部分,并且是完全独立的服务。要了解这些之间的区别,请参阅Azure App Service、虚拟机、Service Fabric和Cloud Services比较

谢谢您的回复,Lindy。那么从现在开始,Web角色和Worker角色这样的事情是否重要,或者Web角色现在已经发展成为Web/Mobile和API应用程序,而Worker角色现在被称为Logic Apps,并且能够运行比其他应用程序[Web/Mobile/Api]更多的后台进程? - user20358
你说“API应用程序有一些额外的功能,比如自动为您创建元数据端点”,那么这是否意味着API应用程序是移动应用程序的超集? - user20358
1
@user20358 Web角色和Worker角色是云服务的一部分,它们是完全独立的服务。要了解这些服务之间的区别,请参阅Azure应用程序服务、虚拟机、服务织物和云服务比较。移动应用程序和API应用程序都比Web应用程序具有额外的功能,但两者都不是彼此的子集。但是,您可以将它们一起使用。 - lindydonna
谢谢你的澄清,Donna。这些确实帮助我澄清了一些事情。 - user20358
@user20358 如果这个回答有帮助,请接受它。如果您对登录有更多的问题,请发一条新的问题——那样回答会更容易些。 - lindydonna
显示剩余2条评论

0

Azure不再提供API Apps功能,现在只能使用Web Apps。


0

我来描述一下Azure App Service、Mobile Apps和API Apps之间的区别,希望能有所帮助:

  • Web和Mobile Apps或Mobile Apps提供了一个移动应用程序开发平台,具有丰富的功能集。基于Azure Mobile Services,Mobile Apps为开发人员提供了一套全面的客户端SDK,包括Windows、iOS和Android以及多平台环境,如Xamarin和Cordova。使用Mobile Apps,您可以轻松地向应用程序发送推送通知,添加登录,并将数据存储在云中,并与任何移动客户端进行离线同步。
  • 通过API Apps,您可以从丰富的现有本地和云API库中选择,并为逻辑、Web和移动应用程序在Azure App Service中轻松贡献自己的API,供公共或私人使用。
  • Azure app service是创建Web和移动应用程序的解决方案,是一个云服务,统一了您需要快速轻松地创建在任何平台或任何设备上运行的企业应用程序所需的一切。

Azure app service由Web Apps、Logic Apps、Mobile Apps和API Apps组成。


移动应用和 API 应用真正的区别是什么?从这里的教程 [https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-ios-get-started/] 中看来,移动应用只是在一个数据源周围创建了一个包装器,如第2步所示。如果我想编写更复杂的场景,我需要选择 Api 应用路线。我的理解正确吗?此外,移动应用会为各种前端设备生成代码,就像第3步所示,但 Api 应用不会。这个说法正确吗?我没有 Azure 帐户,所以只能猜测。感谢您的答复。 - user20358
1
移动应用程序是具有一些内置功能和配置的Web应用程序,允许您使用OData接口(OData是REST的超集)快速将数据存储在云中。考虑到这一点,答案是肯定的,那么... API应用程序是关于托管API,通过这种方式,您可以轻松地开发和使用API。最后对于第三个问题,使用移动应用程序,您可以使用客户端SDK开发混合应用程序(Apache Cordova),跨平台(xamarin forms或xamarin for android / ios)和本机开发(iOS,Windows和Android)。 - Jessica Perez
感谢您的回复,杰西卡。我想尝试一下API应用程序,因为我对发布Web API很感兴趣,但是与其他应用程序不同,它无法进行试用。它需要信用卡。当我选择API应用程序时,我会收到以下消息:“Azure API App试用体验还没有到来,但您仍然可以通过注册免费30天试用来创建最多10个任何类型的应用程序。”我将尝试使用Web应用程序,希望能够像Web应用程序一样发布WebApi-如果这是可行的方式? - user20358
不好意思,您没有 Azure 帐户是无法使用 API 应用程序的 :( 您应该使用免费的 30 天试用期,通过此方式您可以创建自己的 API 应用程序。信用卡仅用于注册,不会产生任何费用。 - Jessica Perez
如果我用我的信用卡进行试用,下一个版本或有更多新的更新时,我是否可以再次使用同一张卡? - user20358
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接