2016-01-23 57 views
0

我打算用兩種不同的前端構建應用程序。 第一個是我打算用MVC5構建它的網站,第二個是用Android平臺。MVC和Android作爲前端WebApi作爲後端

問題: 完成此目標的最佳實踐是什麼?

我應該讓WebApi負責與我的應用程序的底層一起工作,並通過Android和HttpClient(針對MVC)調用它,或者僅使用MVC創建我的網站,並找到需要調用的特定API之後的Android平臺?

我覺得有一個門面(MVC控制器)在另一個門面(WebAPI控制器)的頂部有問題,同時我找不到任何更好的體系結構這些類型的軟件。

+0

讓mvc應用程序調用api沒有什麼問題,但是您可能不會使用整個框架,所以可能是使用mvc處理路由的情況,其餘邏輯發生在javascript中用ajax調用webapi。然後,您的webapi將擁有網站和android應用程序所需的所有業務邏輯(和數據層)。 –

+0

我在當前的項目中使用相同的體系結構,每一件事情都很順利,但是當您達到用戶身份驗證和授權時,它將是一個艱難的一方,只需很少的在線幫助。我找到了這個博客:https://wesleycabus.be/2014/06/adding-an-mvc-layer-on-top-of-a-web-api-backend/ – Zafar

回答

0

如果從一開始就使用與MVC或WebAPI控制器代碼分離的功能,您可以在2之間共享這些功能。將應用程序/業務邏輯放在單獨的csproj中可以更清晰,然後從你的MVC和WebAPI中引用。這也將使測試代碼更容易。

然後,您可以選擇首先開發您的應用程序MVC,與用戶一起測試並獲得反饋(無需花時間在API等),然後爲android構建您的API(使用相同的應用程序代碼)。你也可能最終都在API之上運行,這可能是一個更好的長期維護和安全的地方。這種漸進的方法將幫助您避免過度設計您的軟件。