我們是一羣開發人員,他們一直在做Web應用程序編程幾年。我們現在開始一個新的項目,我們的目標是使它成爲單頁面應用程序。對於前端我們正在使用角度。我們對角度比較熟悉,我們知道如何創建服務,指令,控制器等。我們知道如何使用像$http
和$resource
這樣的內置服務以及如何使用用戶路由(或者使用ui-router
的州),但我們在如何構建應用程序時處於相當早期的狀態。尋找關於如何構建單頁面應用程序的說明
我們很難找到解決這個普遍問題的好資源(博客,視頻,書籍)。許多帖子都有一個非常簡單的方法,例如:
「要構建一個SPA,您需要使用$http
,這就是您如何操作,容易不是嗎?
他們可以非常好地理解每個組件的基礎知識,但他們不會解釋hos將它們連接在一起。我們有以下問題:
我們是否構建一箇中心js對象來表示應用程序狀態?如果應用程序是網店的後端,那麼中心對象可能是一個擁有產品清單的公司,每個清單都有一個訂單清單,每個清單都有一個對客戶的引用。或者我們是否將應用程序狀態的表示拆分爲不同的對象?如果是這樣,我們如何保持它們同步?
要顯示一個編輯實體的表單,我們創建一個將部分加載到視圖中的路徑,然後用要編輯的實體填充範圍。我們是否從後端獲取實體?或者,如果我們已經在我們的js模型中使用它,我們是否只需從那裏獲取它,以便我們不需要發出http請求?
有很多更是不清楚,我知道不會有一個簡單的回答任何問題,相反,它很可能是不同的設計模式與利弊。我不希望所有問題的答案都是作爲對這篇文章的迴應,但我希望找到一些資源(如我說的博客,視頻,書籍),在整個應用程序級別上討論這些問題。有些問題是特定於角度的,有些問題更適合單頁應用程序。有這樣的資源嗎?
這是我確切的問題。你是如何處理這個問題的?謝謝! –
我還沒有找到一個好的資源。目前我們的方法是在應用程序開發過程中嘗試不同的方法。我們非常徹底地進行自動化測試,包括unit和e2e。只要所有測試通過,我們就可以更改應用程序的內部結構。通過這樣做,我們會學習如何去適應我們。我們也決定不使用ngResource或restangular,而是從頭開始構建一切。當我們選擇一個模式時,我們可能會選擇一個適合我們的框架。這是我現在最好的建議... –