我一直是jQuery(及其一些小插件)的用戶。這些年來我開發的Javascript代碼可以被描述得最好......凌亂。它在這裏和那裏使用了大量的全局變量和函數,沒有使用組織代碼的標準方法,也沒有使用任何設計模式。Javascript:如何理解所有的框架和設計哲學?
我目前正在構建一個網站的新版本,並且我已經完成了PEAR::MDB2和Smarty模板的後端工作。剩下的只是一些類的自制PHP。
現在,我要在網站頂部添加Javascript圖層,以提高某些功能的用戶友好性。 (同時確保所有的東西都優雅地退化)我想寫出比以前更好,更乾淨,更有組織的Javascript,所以我做了一些調查。我讀了Stefanov的Object-Oriented Javascript以更好地理解我只知道一些概念(原型,構造函數等)的一些概念。現在我被困在一個點,我不知道我應該使用哪個Javascript框架,以及如何組織這一切。
進行我的研究後,我明白了Cappuccino & Objective-J和Sproutcore不是我正在尋找的。要引用Cappucino的關於頁面:
卡布奇諾不是用來構建網站或使現有網站更「動態」的。我們認爲這些目標與應用程序開發的目標相距太遠,無法通過單一框架實現。 Prototype和jQuery等項目在這些任務中表現出色
所以就是這樣。然後我發現了Coffee Script,它更像是一對一的「編譯器」,不會幫助我實際組織我的代碼。
我也無意中發現一些文章,給予指導:
我也發現了Backbone.js,Shoestring,JavaScriptMVC,Google Loader,jQuery Tools,jQuery UI。我真的不知道該怎麼做......我知道的東西......我知道的東西:
- 我不想投入太多時間學習太複雜的東西,我想讓事情簡單而靈活儘可能多(這就是爲什麼我不在後端使用Symfony),但又幹淨整潔。
- 我想使用jQuery,問題是,我應該使用它? (也是兼容的)
現在,我會使用jQuery和jQuery工具和「組織」所有在一個簡單的名稱空間/對象字面值與簡單的屬性和方法,而且,由於該網站是本地化的,我只是計劃使用簡單的vsprintf(就像我在後端)使用從後端提供的對象字面值加載的key:value對。 JavaScriptMVC看起來很有趣,但我擔心它會給一個規模相當小的項目帶來太多的複雜性。那是我需要你的建議的地方!非常感謝你提前。
+1在提出問題之前進行研究...... – 2011-06-02 14:39:42
我同意,如果您對jQuery不夠小心,最終會出現凌亂的客戶端腳本。當我第一次在真實項目中嘗試jQuery時,我已經體驗過它。 – OnesimusUnbound 2011-06-02 14:45:10
我是jQuery的大用戶。但是,如果您確實需要組織和邏輯代碼,請遠離Flowplayer的** jQuery Tools **。它的方式已經過時(死了?),充滿了錯誤,幾乎不受自己的社區支持,並且使jQuery的標記行「完成更少,更多地完成」。 jQuery Tools與您應該瞭解的關於jQuery的一切有關,以及jQuery插件應該如何運行......當然,所有的恕我直言。 – Sparky 2011-06-02 15:02:10