我有一个移动设备的WebAPI后端,并希望在Azure中托管它 我很难弄清楚AMS和网站之间的真正差异。
我读到的关于该主题的所有文章都谈到了一般的变化和好处,我想具体了解AMS提供哪些新功能,以及在AMS中托管的好处。
在AMS中,我看到azure portal中的“IDENTITY”选项卡。根据我的理解,这些第三方配置允许我使用谷歌,FB等轻松验证我的用户。但这只是通过用户界面使这个过程更方便和可配置。在网站中,我可以使用ASPNet.Identity和OWIN libraris中的代码轻松实现相同的功能。
再次在“PUSH”选项卡中查看AMS,我可以看到两种机制。通知中心和第三方部分。
通知中心对AMS来说并不特别,在网站托管时我可以获得完全相同的功能。
第三方部分允许我配置凭据以推送来自Apple和Google的服务(APNS,GCM ...)以及AMS命名空间中的库我可以轻松编写代码以与这些服务进行通信。
但是当在网站上托管时,在我的后端我可以使用开源库。例如,Moon-APNS与APNS交谈。
据我所知,网站和AMS都允许相同的扩展功能(One称之为Units和其他Instances)。
我错过了什么大的差异?
我提出的任何索赔都是错误的吗?
如果有人能够解决这个问题,特别是解决所有3个问题(Auth,Push,Scale),那将会很棒。
答案 0 :(得分:1)
这是我在用户组活动中提供移动服务时经常遇到的问题。
对于.NET开发人员来说,移动服务没有什么特别之处,因为它提供了一切,你可以通过网站来实现。
移动服务非常适合非.NET开发人员,因为您可以通过编写在Node和Mobile Services上运行的脚本来获得完整的移动后端,从而抽象出所有数据库和REST的复杂性。
我可能会因为我表达个人观点而受到抨击,但无论如何:如果您正在编写.NET后端,我认为没有明显的理由使用移动服务。
答案 1 :(得分:1)
我认为您正是Azure Mobile Apps的目标客户。您将获得拥有自己的Azure网站(现在更名为Azure Web App)的所有功能,以及移动服务的额外便利和客户端库。
您可能没有注意到的客户端库的一个功能是跨平台脱机数据同步功能。这通常很难自己构建,我们在所有客户端平台上都有一个概念上一致的实现。 (另外,如果您使用Xamarin,则可以在客户端实现之间共享代码。)
要明确:Azure移动服务不会被弃用,并且不会在Azure移动应用程序的GA(一般可用性)之后很久。 Azure移动应用程序目前处于预览状态。
答案 2 :(得分:0)
您尚未提及的移动服务的另一大好处是适用于Android,iOS,Xamarin和Cordova的客户端库。如果您的应用程序中已经有一个REST客户端库,并且不需要担心多个客户端平台,那么Azure网站听起来是一种很好的方式。