1

爲什麼我們不應該使用像Ruby,Python,PHP這樣的服務器端MVC來構建非常複雜的網站,爲什麼我們不應該將我們的網站分成多個模塊,並且使用客戶端MVC構建每個模塊,比如backboneJS, EmberJS。在這種情況下,我們將使用PHP/Ruby來創建僅用於數據的webservices。客戶端MVC而不是服務器端MVC

現在,每個模塊都充當小型網絡應用程序。如果我們彼此鏈接,他們將完美看起來像一個複雜的網絡應用程序。

我訪問了很多網站(如github,groupon,stackoverflow等),他們可以建立或採用這種方法。但我沒有看到這種方法。這種方法在這類網站上有什麼問題嗎?

回答

0

哦,是的。我得到了我的答案。

從谷歌組: 我認爲原因之一是javascriptless用戶代理 - 即搜索 引擎爬蟲和用戶使用NoScript的開啓。

我希望,這些都是真正的問題,爲什麼網站仍然使用服務器端MVC。

當網站不知道目標受衆時,他們無法預測它在客戶端的運行情況。所以他們應該依靠服務器來構建他們的大部分內容。

並認爲,如果使用客戶端MVC的構建更多他們的內容設計的stackoverflow,沒有人不能達到使用谷歌搜索stackoverflow帖子。

wikipedia下的「搜索引擎優化」部分:
由於缺乏對所有流行 的Web搜索引擎的爬蟲JavaScript執行的,SEO歷來提出一個問題,希望 面向公衆的網站採用SPA模式。

1

是長評論

我想最棘手的部分確實是你所提到的

˚F我們互相鏈接點,他們會非常看起來像一個複雜的Web應用程序。

因爲每個MVC框架使用了不同的方法來解決你在現代的網絡應用程序有常見的問題,如路由數據綁定應用程序狀態渲染 DOM元素,所以我認爲你最終會有多個框架做重疊的任務,因此迫使你去激活或禁用一些內置的f一個或另一個框架的不合理性使得你很難維護。

一個很好的例子是jQuery的移動& ember.js,都有一個路由系統,jQuery的使用DOM持有狀態 ember.js持有它的狀態完全的JavaScript這要快得多。我有一個類似的問題,使用jQuery-mobile & ember.js,這迫使我決定其中一個路由系統,我把ember的和去激活jQuery的,然後讓一些自定義的移動設備組件jQuery-mobile的一面。最後,我使用ember.js和CSS來爲移動應用程序移除jQuery-mobile。

如果不是因爲一個具體的要求,恕我直言,你最好的辦法是剛剛一個非常好,靈活的,自以爲是的框架(我個人更喜歡ember.js),並創建你所提到的模塊的唯一的選擇。

希望它有幫助。

+0

+1。真的有幫助... – user10

0

我認爲這是我們現在正在前進的轉變;我不太瞭解你,但我注意到更多的客戶端MVC網站。無論如何,你也可以看看這個....

http://backbonejs.org/#examples

在我看來

,除了學習曲線,這是很整潔使用客戶端MVC開發和使用JSON/REST

1

網絡的API截至目前,我們可以說,大部分的應用是被迫在其UI/UX中付出更多努力,因此服務器端的依賴性變得越來越少。

我已經親自使用骨幹爲我的最新工作,這很好。整個應用程序的速度可以從一開始就注意到。過去3年來我一直在使用PHP,並且我可以肯定地保證骨幹網和其他MV *框架更好。

結合CSS框架如bootstrap,backbone可以是一個極其有組織和優雅的應用程序。

所有說,讓你頭腦模型,意見,路由器,集合可以是一個頭痛的問題。這是一個有着巨大可能性的東西,它只是開始。

我編譯了一個教程,它基於很多教程並已發佈在http://goo.gl/nJumC

如此多的視頻教程也可用。

只有必要條件是應該對javascript和jquery方法和函數有很好的瞭解。這些初學者的知識只會讓你的學習任務變得困難。

相關問題