我有幾年的背景與服務器端MVC應用程序開發使用CakePHP和一些更多的香草PHP。可悲的是,我不能說JS應用程序的相同,儘管我有使用Mootools查閱靜態頁面的經驗。CakePHP開發人員嘗試使用JavaScript MV *。得到困惑
所以現在我正在研究客戶端應用程序的構建,到目前爲止我的成功還沒有那麼棒。由於我碰到的唯一的MVC是CakePHP,所以每個JS MV *框架看起來都是不可理解的。對於我習慣於編寫整潔的CakePHP和Mootools Class代碼,JS代碼的大塊感覺無序,這並沒有什麼幫助。
我甚至試圖通過模仿CakePHP編寫我自己的簡單MVC類庫,主要用於學術用途。我想不用說,我並沒有真正得到它的任何地方。
- 的js是異步的:
有些東西在學習和寫我自己的MVC我意識到。 CakePHP的工作方式是因爲PHP是同步的。在JS中,有一些需要以不同方式實現的事物列表,以及由於異步而可以完成不同的事情列表。服務器端MVC(或者它的CakePHP實現)和客戶端MV *之間最重要的區別是什麼?
- 我還是不太明白客戶端模型的概念。在Cake中,他們處理數據驗證和數據庫連接。另一方面,客戶端是不安全的環境,因此客戶端模型只能進行基本的數據過濾,預先驗證和默認值。我完全錯了嗎?
- 某些應用程序需要服務器對應部分。服務器也應該是MVC?
- 看來,在客戶端MV *中,您可以同時擁有多個控制器。儘管我理解它有其用處,但我在這一點上的知識是如此之少,我甚至不能想到比「它有什麼好處?」這個更好的問題。
我也下載了TodoMVC,並試圖檢查不同的框架,很少成功。它的主要問題是它只有單頁面(動作發生在不同的URL上,但佈局保持不變),實現如此不同以至於我很難理解基礎知識,更別說找到最適合的框架爲了我。此外,它不以任何方式與服務器通信,這是一個巨大的失望,因爲我想看看不同的框架如何做。
所以,對這個問題的最佳答案將是一本書的鏈接稱爲客戶端JavaScript MV *傻瓜(誰只有在服務器端MVC經驗),這將賺你的地方大約500個互聯網絡除了常規的StackOverflow獎勵。
我會非常感謝任何關於我寫的問題主題的任何見解(完整鏈接)。您將獲得標準+ 1的獎勵,並且作爲進一步的獎勵,我保證在便箋上寫下您的暱稱,並將其保留在我的顯示器上以備下個月使用。當然,最有幫助的人的回答當然是接受,另外還可以提供一張照片,用於將他們的暱稱打印到我的顯示器上。
我正在繼續我自己的MVC項目。我想出了客戶端MVC是如何工作的大部分內容,儘管Model層對我來說仍然很模糊,因爲對服務器的直接db查詢是不可能的。換言之,客戶端模型與服務器模型的行爲有着很大的不同,因此我很難決定實現的範圍以及遵循的示例。 – jpeltoniemi