2013-02-13 56 views
2

我們將開始開發使用下面的Web應用程序:我應該爲我的項目使用哪個Javascript MV *平臺/庫?

  1. Spring MVC框架
  2. 休眠
  3. MySQL或MongoDB中(或者兩者)
  4. HTML5的移動應用程序將運行在瀏覽器上(這將是實際的Web應用程序的次要部分)

我從來沒有使用過任何的JavaScript MVC/MV *框架。每當我需要任何東西時,我一直在使用純jQuery和其他庫。

爲Web應用程序

要求:

  1. 正常登錄等
  2. 儀表板,它會顯示分析,圖表等
  3. 表單設計工具 - 例如用戶可以在其中輸入新行的可編輯表單以及實時預覽更改應該反映在與其相鄰的屏幕上的移動設備上。看看它在移動視圖中的外觀如何。用戶可以添加,編輯和刪除新行。所以這將是一個交互式表單構建界面。 (這是我認爲的MV *庫/框架將幫助我有什麼說什麼或jQuery的可以做的伎倆。?)

要求對HTML5的移動應用程序:

  1. 用戶將從瀏覽器訪問該應用程序。
  2. 它應該看起來像一個本地應用程序(但實際上它將是一個HTML5應用程序)
  3. 它將至多有2-3頁(帶有下一個按鈕)和簡單的textarea輸入(例如電子郵件,電話數字等)和提交按鈕。 (將使用jQuery移動是最好的解決辦法嗎?或者我應該用MV *庫或任何與HTML5以及和凝膠會使我的生活更輕鬆。用什麼?)

我有點混淆框架和庫的陣列,如Backbone.js,Ember.js,KnockoutJS,AngularJS等

有人可以指導我。我會非常感激和感激。我不期待最好的框架,我只需要上面的情況的'最好的'框架。 :)

回答

4

半年前我坐在你的鞋子裏。我一直在使用相同的堆棧,具有相同的設計原則。我去了AngularJs,並不能更快樂:)。

我一直在評估這一套框架:

  • 淘汰賽JS
  • 骨幹JS
  • 酒吧子
  • 蝙蝠俠JS
  • 薩米JS
  • 萌芽核心
  • JS MVC
  • 角JS

而且我正在這種條件下評價:

  • 多種型號? (我們可以有幾個不同的控制器處理DOM的小塊單獨在同一頁上順利運行)
  • UI &數據綁定? (UI中的更改反映在對象狀態中,反之亦然)
  • 自動內容切換? (當你瀏覽到#dashboard#posts由框架支持的內容變化ID)
  • 模板? (不需要使用第三方庫進行模板化)
  • 與不同框架集成? (如jQuery)
  • 支持HTML 5本地存儲? (它支持本地存儲還是有它集成框架)
  • 單元測試支持(做框架的特性使得東西容易測試)

我的大部分名單上的框架也不支持或滿足所有這些條件。這對我來說是令人驚訝的,因爲我希望人們會證明自己是最好的。事實證明,他們都非常接近,所以在我的情況下,唯一的辦法就是一個接一個地嘗試。在我遵循幾個教程之後,我決定和AngularJs一起去,那是我做過的最好的決定:-)

說實話,差不多所有的框架都會幫你出。對你來說最重要的事情可能是視圖和模型的聲明式綁定。你選擇的大多數框架都會支持它。

我建議你按照我的方法。在其中3個應用程序中編寫簡單的應用程序,並查看您的編碼風格最自然的任何內容

+1

非常感謝您的詳細建議。即使是從列表中名單3我想要的幫助。所以我應該嘗試一下Angular,Backbone,Knockout和Ember嗎?你有什麼建議? – LittleLebowski 2013-02-13 08:46:22

+1

我會忘記Ember,因爲Angular擁有更好的模板系統。去角度,主幹和淘汰賽 - 試試看看哪一個適合最好:) – 2013-02-13 09:06:06

+1

我們也選擇了AngularJS,我們的原因是因爲1)AngularJS不會強迫你的模型繼承一些Angular對象,如Ember或Knockout,以及2)指令非常強大。 – 2013-02-13 09:35:32