我正在構建一個(相當簡單)的web應用程序,它最終將在桌面和移動設備上使用得相當一致。我在後端使用Rails,但實際的應用程序將作爲單頁應用程序構建,因此Rails將僅提供最初的前端資產並充當REST後端。Javascript MVC框架+ jQuery移動
我想使用jQuery Mobile進行移動優化用戶體驗,包括列表視圖,觸摸輸入(例如滑動編輯項目)等。(請注意,我已經考慮過使用諸如Twitter之類的UI框架Bootstrap或Foundation,但我會從jQuery Mobile支持的更深入的移動優化UX中受益匪淺。)
我也想使用Javascript MVC框架來更好地構建我的Javascript代碼。我已經玩過幾個框架,但沒有深入使用任何框架,並且仍在爭論最終選擇。
我的主要問題是這些MVC(或MVVM)框架中的哪一個已被證明與jQuery Mobile結合使用。除了移動設備之外,我的強烈偏好是基於數據綁定的框架,如Knockout,Ember,Angular或Batman(事實上,基於我的初始實驗,我非常喜歡蝙蝠俠),它會在用戶界面自動更新UI時模型層發生變化。然而,我可以看到這與jQuery Mobile相沖突,jQuery Mobile也對DOM做了重大更改,也想擁有位置哈希等。
另一種方法是使用較低級別的框架之一,例如Backpack或脊柱。我想路由層仍然會導致衝突,但我至少可以使用模型,控制器和視圖層(尤其是REST持久性)。
或者也許有一種混合方法,其中基於數據綁定的MVC框架用於桌面版本的所有內容,並且視圖層以某種方式在移動版本中替換爲jQuery Mobile,仍然利用模型和控制器層?
任何運氣與基於數據綁定的MVC框架之一?任何揹包或脊椎運氣?這些工作是否足夠滿足jQuery Mobile的需求?還有其他建議嗎?
我意識到這個問題是有點開放式的,沒有單一的正確答案,但我覺得這仍然是一個適合的問題Stackoverflow。
感謝您的回覆。我有一段時間沒有在這個項目上工作過,所以還沒有選擇最後一個棧。我確信Ember.js可以開始工作,但我仍然懷疑它可能不是與jQuery Mobile的完美結合。此外,性能可能是移動設備的一個問題。現在我傾向於使用Spine(我相信Backbone也會很好)。 – 2012-05-12 17:11:33
嗨米爾科。有許多圖書館不適合與其他人一起玩。我聽到很多人讚揚Ember,因爲它與jQuery搭配很好,比Backbone好。在使用Javascript搜索MVC時,請注意您會看到許多微觀框架。骨幹是後來者,輕巧高效。其他人喜歡Ember試圖成爲專注於一個問題的完整解決方案。它的表現稍差(出於一個很好的理由),我還沒有聽說過它適合移動環境。 – SystematicFrank 2012-05-21 10:48:25