2015-09-06 70 views
2

我通常會聽到Web API和移動服務交替使用,因爲它們提供了許多相同的功能。這兩種技術之間的一些重要差異和相似之處是什麼?爲什麼我會使用這兩種技術之一?移動服務與ASP.NET Web API

回答

1

移動服務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的新版本改變會給你一個更好的畫面。