2013-01-15 55 views
3

我在Flex工作的最後幾年。在此之前,我一直在使用vanilla JavaScript構建Web應用程序。對於初學者來說,Backbone是比AngularJS更好的選擇嗎?

今天我轉回到JavaScript,但現在我在爲一個新的中型項目選擇正確的JS框架/庫時遇到了麻煩。

儘管AngularJS的所有評論都是正面的,但我發現開始使用它並不是一件容易的事。問題當然是文檔。雖然有教程向你展示如何做基本的東西,但沒有解釋這些概念,或者告訴你如何構建大型項目。

在發現AngularJS之前,我把自己的想法設置在Backbone上。積極的一面是,有大量的文檔,教程,屏幕錄像,關於這個主題的書籍。此外,源代碼很小,可以用作參考本身(不像AngularJS)。

所以現在我認爲Backbone可能是一個更好的選擇,因爲那些在JS編程中比使用AngularJS更注重使用框架的人。後來,當我設法訓練我的大腦在JS中進行思考時,AngularJS可能更易於理解+會有更多的文檔可用。

我現在懷疑,如果這對選擇正確的道路......

回答

5

首先,我敢肯定,轉換爲JavaScript是正確的選擇。

選擇一個JavaScript MVC框架確實是一個困難的選擇,特別是因爲它們像爆米花一樣隨處彈出!

該項目可能對這項決定是非常有益的:http://addyosmani.github.com/todomvc/

這是我的觀點。骨幹是自由的。它沒有強加嚴格的結構。這是比實際代碼更多的一套約定。你一定會使用比Backbone框架更多的東西。這可能具有挑戰性,但可能會導致更好的調整結果。骨幹網絡的性質是非常可擴展的,這是一個很大的優勢。

AngularJS增強了HTML語義。只要說這個,你就可以想象它比「純粹的」骨幹複雜得多。也許我們可能會發現AngularJS有點神奇(當然不是神奇的,但事情發生在代碼較少的情況下,「我是說」)。

他們有非常不同的方法來解決這個問題。 我不打算在此陳述每一個的優點和缺點。我發佈的鏈接可以幫助你。 我也和你一樣困惑,但總之,調查兩者,用兩者做一些尖峯實現,並檢查todoMVC項目。選擇更適合你的要求,甚至是個性。 :)

一個更公平的比較可能是「骨幹和朋友」vs「AngularJS」。別忘了Backbone的朋友(插件和模塊)。

你可以用兩者都做很棒的事情。

+1

感謝您的信息。最後我開始使用Backbone + Backbone.stickit + Underscore + jQuery + RequireJS(這個列表可能會在未來擴展)。 我必須說,從骨幹和朋友開始比我嘗試理解Angular更直截了當。這裏的關鍵因素可能是因爲Backbone本身非常簡單,所以您需要了解的東西數量極少 - 這個概念很簡單。稍後,您可以在需要添加內容時選擇另一個庫(即UnderscoreJS)。 –

+0

另一方面,要開始在實際項目中使用Angular,您需要了解更多...投入更多時間和精力。有一些教程和參考手冊,但我沒有找到任何文件來解釋這些概念。 所以我認爲我現在會堅持使用Backbone ......至少在它有一些體面的文檔之前。 –

2

我去過那裏過去幾天。我在兩個框架中都實現了一個簡單的CRUD而不是REST API。這裏是我的幾點思考:

角是困難的,因爲它是約定優於配置,比如指令和這樣的新概念,你需要考慮與擴展HTML而非JavaScript進行黑客攻擊(可以是柔性從業者並不難)。

但最終我更喜歡它,因爲它比開箱即用的骨幹更多。你不需要寫jQuery的東西。模板比使用Backbone和下劃線模板更可讀。代碼少(易於維護),而且我喜歡用我的組件方式來構建客戶端代碼。

+1

我可以看到你的觀點,但由於需要編寫jquery而不選擇Backbone的觀點並不完全有效。首先,因爲它可能對某些人有利(有些人可能更熟悉它),然後因爲有些選項不涉及編寫jQuery(即模型綁定https://github.com/derickbailey/backbone.modelbinding )。可能不像AngularJS打包方法那麼優雅,我沒有真正意識到它。 – miguelcobain

+0

是的,我不是在那裏爭論,只是揭露我的整體經驗。 –

相關問題