我們所有的應用程序的JavaScript框架是PHP MVC和與頂部在客戶端非常簡單的js的行爲層。我們要構建的JavaScript越來越停止請求「片斷」來執行簡單的行爲(如,加載不同的jQuery插件所有的地方)。我們不使用JavaScript MVC框架並尋找適合我們新應用程序的最佳解決方案。對pushState的「hijax」
其中最有吸引力的解決方案是讓渲染服務器端對我們來說,像Twitter does。他們稱之爲「Hijax +服務器端渲染」。我們不希望有一個完全成熟的MVC框架中的JavaScript但是從博客這些報價都非常吸引我們:
通過合同,我們的組件依附到一個DOM節點,聽通過委託,火災事件DOM上的事件,這些事件通過DOM事件冒泡廣播給其他組件。其次,我們所有的組件都是使用AMD定義的。
我們一直在試圖建立自己的東西,但沒有高水平的JavaScript專業知識,我們無法在這方面取得進展。類似jquery-pjax對於非常簡單的情況似乎也是一個很好的解決方案。
我們正在尋找:
- 一個UI /數據隔離,以鬆耦合夫婦XHR與DOM
- 事件驅動的用戶界面,使開發者可以將監聽到所有類型的DOM對象
有沒有像這樣的JavaScript框架?隨着pushState
越來越多的關注,我希望有一些可用。有任何想法嗎?
國際海事組織的Twitter的方法是相當悲慘的。早在六月份,我寫了一個[demo js bookmarklet](http://dist.meekostuff.net/meeko-twitter/)和[article](http://www.meekostuff.net/blog/Twitter-without-Hashbangs/ )展示了他們如何通過逐步增強mobile.twitter.com來遷移到'pushState'。我使用了我的[HTMLDecor](http://github.com/meekostuff/HTMLDecor/)js框架,演示只花了幾天時間。 Twitter需要多少個人工月才能遷移? –
有趣的評論Sean :-)然而,我們並沒有過渡到js hijax,因爲希望獲得性能提升,我們有時需要行爲腳本,而html無法完成這項工作,並且我們希望儘量減少我們的服務器端應用程序。這就是爲什麼我們認爲hijax會非常適合我們。當javascript被禁用時,您應該得到「舊」整頁渲染應用程序的後備。我完全同意「hashbangs已經死了」:它們不靈活,漸進式增強成爲不可行 –
這是新twitter.com的另一個問題 - 如果禁用js,則無法發送推文。漸進式增強作爲後續思考。 –