【问题标题】:Advantages of hosting a mobile app back-end in Azure Mobile Services over Azure Websites在 Azure 移动服务中托管移动应用后端相对于 Azure 网站的优势
【发布时间】:2015-05-30 14:11:30
【问题描述】:

我有一个用于移动设备的 WebAPI 后端,并希望将其托管在 Azure 中。
我很难弄清楚 AMS 和网站之间的真正区别。

我读到的所有关于该主题的文章都在谈论一般的变化和好处,我想具体了解 AMS 提供了哪些新功能,以及在 AMS 中托管的好处。

认证


在 AMS 中,我在 azure 门户中看到“身份”选项卡。据我了解,这些第 3 方配置允许我使用 google、FB 等轻松地对我的用户进行身份验证。但这只是通过 UI 使该过程更加方便和可配置。在网站中,我可以使用 ASPNet.Identity 和 OWIN 库中的代码轻松实现相同的功能。

推送通知


再次查看“PUSH”选项卡中的 AMS,我可以看到两种机制。通知中心和第 3 方部分。

通知中心对 AMS 来说并没有什么特别之处,在网站中托管时我可以获得完全相同的功能。

第 3 方部分允许我配置凭据以推送来自 Apple 和 Google(APNS、GCM...)的服务,并与 AMS 命名空间中的库一起,我可以轻松编写代码来与这些服务进行通信。

但在网站托管时,我可以在后端使用开源库。例如,Moon-APNS 与 APNS 对话。

规模

据我了解,网站和 AMS 都允许相同的规模功能(一个称为单元,另一个称为实例)。


我错过了什么大的不同吗?
我提出的任何主张是否不正确? 如果有人能对此事有所了解,特别是解决所有 3 个问题(Auth、Push、Scale),那就太好了。

【问题讨论】:

    标签: azure asp.net-web-api azure-mobile-services azure-web-app-service


    【解决方案1】:

    这是我在用户组活动中展示移动服务时经常遇到的问题。

    对于 .NET 开发人员来说,移动服务并没有什么特别之处,因为它提供的一切,您都可以通过网站来实现。

    移动服务对于非 .NET 开发人员来说真的很出色,因为您可以通过编写在 Node 上运行的脚本来拥有完整的移动后端,并且移动服务抽象了所有数据库和 REST 复杂性。

    我可能会被否决,因为我会表达个人意见,但无论如何:如果您正在编写 .NET 后端,我认为没有明显的理由使用移动服务。

    【讨论】:

    • 一个勇敢的意见(-: ...那么定价/实例大小呢?在网站中我需要选择实例大小、内存等。在 AMS 中我没有这些参数。
    • 移动应用程序可能会实现
    • @CSharpRocks 我不会反对你,但让我们谈谈 Azure 移动应用!你可能有不同的看法。 :)
    【解决方案2】:

    我认为您正是Azure Mobile Apps 的目标客户。您将获得拥有自己的 Azure 网站(现在更名为 Azure Web 应用程序)的所有力量,以及移动服务的额外便利和客户端库。

    您可能没有注意到的客户端库的一个功能是跨平台离线数据同步功能。这通常很难由您自己构建,而且我们有一个在所有客户端平台上概念上一致的实现。 (另外,如果您使用 Xamarin,您可以在客户端实现之间共享代码。)

    需要明确的是:Azure 移动服务并未被弃用,并且直到 Azure 移动应用的 GA(一般可用性)之后很长时间才会被弃用。 Azure 移动应用目前处于预览阶段。

    【讨论】:

    • 所以您是说 Azure 移动服务现已弃用,取而代之的是 Azure 移动应用?
    • 抱歉回复晚了。移动服务并未被弃用,但 Azure 移动应用中的新功能看起来正是您想要的。您可以获得 Azure 网站以及服务器和客户端 SDK 的全部灵活性。使用 Azure 移动应用程序和移动服务,您可以获得通知中心的积分。
    【解决方案3】:

    您没有提到的移动服务的另一大好处是适用于 Android、iOS、Xamarin 和 Cordova 的客户端库。如果您的应用中已经有一个 REST 客户端库并且不需要担心多个客户端平台,那么 Azure 网站听起来是一个不错的选择。

    【讨论】:

    • 好吧,对于 iOS,我有 Alamofire,它很棒,对于 android,还没有决定要一个库。
    【解决方案4】:

    AMS 本身是建立在 Azure 网站之上的。因此,您实际上可以在 AMS 中可用的 Azure 网站中实现所有内容。

    然而,AMS 的好处在于它允许您快速构建具有 CRUD 操作、身份验证/授权的移动应用程序的后端,并且还为不同类型的客户端(例如 HTML、C# 等)提供客户端库。所以我们不必手动进行 HTTP 调用。

    如果您需要在 Web API 中实现上述功能,那是相当费力的。不是吗?

    【讨论】:

      猜你喜欢
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2018-07-14
      • 1970-01-01
      • 2017-09-29
      相关资源
      最近更新 更多