[英]An architecture for almost complete JavaScript-based web applications?
我知道MVC在PHP應用程序中廣受贊譽,但我不確定它是否適合JavaScript。 如果您有其他想法,請說明如何以及在何處處理常見方案,例如AJAX請求,數據保存(離線存儲),演示文稿,如何處理控制器邏輯(是否有前端控制器?)等等。
怎么樣模型視圖呈現?
我正在使用ExtJS,並且僅將服務器用於永久數據存儲。
如果您打算僅使用JavaScript來對UI進行編碼,則可以將PHP視為更多的Web服務或API 。
基本上,您的View就是您在JS中編寫的Ext JS。 為了處理您的數據,Ext前端將對您的“服務”執行請求。 基本上,您將在服務器上建立一種模型控制器架構,控制器的工作是處理請求並輸出JSON(供Ext前端使用)
本質上,后端中的“視圖”將僅從json_encode輸出,然后由基於實際Ext的視圖使用。
在JS中,您可以根據正在執行的操作來設置控制器。 如果僅顯示服務器中的數據,則可能不需要太多單獨的邏輯。 如果您要進行一些更復雜的處理,將代碼分成單獨的控制器和視圖可能會很有用。
這主要取決於您要分離多少邏輯。
在編寫幾乎完整的javascript應用程序時,您可以將MVC視為:
PureMVC是一個非常酷的MVC框架。 你應該檢查一下。
我使用的是相同的體系結構:主要是在PHP后端之上的ExtJS。
我的解決方案:
在適當的情況下,各個組件可以使用MVC模式。 無論如何,Ext都傾向於鼓勵MVC,將數據分離到存儲中並擁有獨立的呈現基礎結構(盡管它確實將控制器邏輯與呈現的組件混合在一起)。
我不確定我對你的問題的理解,但我會給你一個機會。
MVC是一種架構模式,從本質上講,它意味着將數據模型,控制器和UI保持盡可能松散的耦合。
您正在嘗試將其煮沸到技術水平,但這沒有任何意義。 您可以使用良好的框架進行適當的MVC。 只是為了清楚起見,普通的PHP 並沒有為您提供良好的MVC支持。 一個好的框架,例如CakePHP或CodeIgniter-將會。
JS只是一種豐富客戶端體驗的好方法。 這意味着除非您正在使用服務器端JS,否則您將擁有JS的唯一位置就是視圖本身。 實質上,AJAX請求與MVC無關。 數據持久性也沒有。 除非您實現自己的控制器(並且最好自己擁有一個很好的理由這樣做),否則您不必擔心其內部邏輯。
最重要的是,如果您要執行適當的MVC,請使用適當的框架,所有步驟都將就緒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.