2013-04-16 33 views
12

我正在Backbone開發一個大項目(大約8000行javascript,不包括外部庫),我正在考慮遷移到AngularJS。從Backbone遷移到AngularJS - 它有多困難?

目前我有很多處理DOM更改,綁定和事件解除綁定的代碼。我正在使用Mustache進行模板渲染。大多數數據都使用AJAX加載,並存儲在Backbone模型中,其中一些使用BackboneRelational。我使用約10個小的jQuery插件來做花哨的UI東西。

我決心做這個遷移,但我擔心我的最後期限。所以問題是:

  1. 需要多長時間才能用AngularJS重寫它?也許有人可以分享他的經驗。
  2. 是否有可能立即開始使用Angular,並且使用它來實現新的功能,而不會在我們需要與Backbone部分交互時引起頭痛?
  3. 如果我決定在截止日期之後進行重構,那麼您會推薦哪些做法來使代碼更易於遷移?
+1

雖然你的問題很有趣,但它可能過於寬泛 – lucuma

+0

我正在考慮做同樣的事情。你最終做了什麼?介意分享你的經驗? – fbynite

+0

我認爲轉移到Angular是個好主意。代碼更簡單,我們有一些測試。但是,我們還希望改變整個項目結構(從API分離GUI),並將所有HTML,JS和CSS劃分爲小的獨立模塊,這花費了我們比我們預期的更長的時間。所以我的建議是專注於在Angular ASAP中獲得完整版本,並在稍後離開所有其他重構。歡呼:) – mik01aj

回答

12

我向Angular移植了大量5k + BB行的代碼。當我第一次開始使用Angular時,我做了這個端口,如果我沒有記錯的話,我在一個週末和三天後做了這個。所以它是在5天左右完成的。你必須注意到,我寫了整個BB應用程序(所有的5k線以及..),所以我更容易移植。

也許你可以(在角慢慢端口BB部並且開發新的部件。)混合BB和角度開始,但我建議,如果可以的話,然後做完整的應用程序的移植第一。

作爲一般規則,所有的骨幹模型和集合應該進入服務(可能是同一個名稱?)。移植html和mustache模板應該是小菜一碟。有點棘手的部分是你的jQuery插件。但如果它們很簡單,那麼你將能夠使用angular-ui jquery passthrough(http://angular-ui.github.io/)。

+0

該答案已被刪除! –

+0

這意味着對於中等規模的應用程序來說,需要花費太多時間才能移植到端口。 Backbone和AngularJS是兩個完全不同的模型和框架。你應該首先考慮你是否真的想轉移到Angular ... –

+0

ganaraj和@ daniel.gindi現在一年後,你將用於一箇中型項目的框架? –