2012-06-14 42 views
14

我正在考慮HTML5,angularJS的數據綁定和谷歌封閉編譯器和交互式Web應用程序的封閉庫。這些工作很好嗎?不幸的是,到目前爲止似乎還沒有詳細的報告。html5,angularJS與閉包編譯器和/或閉包庫

我有adobe flex的經驗,但我對純js還是比較新的。所以這些問題可以從初學者的角度考慮。沒有需要移植的代碼庫,一切都將從頭開始。

  1. 是否有其他人成功使用這種組合?
  2. 有沒有第一手的報道?
  3. 您是否推薦這方面的個別技術,還是有更好的替代方案來結合?
  4. 是否有任何好的例子,示例項目,甚至教程(組合 - 而不是個別技術)?
  5. 初學者應該注意的任何缺陷?
  6. 我還應該使用或至少考慮是否有其他的正交技術?

一些或多或少的相關鏈接我已經發現:

+0

新用戶不能發佈兩個以上的鏈路,所以這裏是一個更象是一個評論: http://groups.google。com/group/closure-library-discuss/browse_thread/thread/5dd2342937fd16e7 – thomre

+1

我喜歡這些類型的問題,並且以一種非常有用的方式,但很驚訝地看到爲什麼沒有試圖以非建設性,意見等不可預知的。 – Saran

回答

13

關閉編譯

你絕對可以編譯代碼(角本身編譯時使用Closure c ompiler),儘管此時您只能使用簡單的優化。

一般來說,我們希望Angular與編譯器一起玩。

封庫

有一堆谷歌內部的項目,使用庫角一起。

他們使用goog.provide()和goog.require()來獲得依賴關係。同樣使用諸如goog.isString()或goog.inherits()這樣的工具也是非常簡單的。

使用閉包UI組件可能需要一些額外的工作(雖然也有使用它的項目)。

+1

您的意思是「簡單優化」還是「僅限空白」優化?我試圖通過閉包編譯器Web應用程序來做簡單的事情,當它用'MyController(a)'(以及控制器中的所有其他對'$ scope'的引用)替換'MyController($ scope)'時,我的代碼休息。 – Marc

+1

對於「簡單優化」,我的意思是「簡單優化」:-D你需要使用明確的註釋來處理編譯後的代碼。例如。 MyController。$ inject = ['$ scope']; – Vojta

+3

已經有一個Closure編譯器的通行證,可以自動爲你做這些註釋,希望它很快就會開源... – Vojta

4

希望這有助於

更改密碼

function MyCtrl($scope) {/* code */} 

var MyCtrl = ['$scope', function($scope) {/* code */}]