从Backbone迁移到AngularJS - 它有多难?

mik*_*1aj 12 javascript refactoring backbone.js angularjs

我正在Backbone中开发一个大项目(大约8000行javascript,不包括外部库),我正在考虑迁移到AngularJS.

目前,我有很多代码可以处理DOM更改,事件的绑定和解除绑定.我正在使用Mustache进行模板渲染.大多数数据都加载了AJAX,并存储在Backbone模型中,其中一些模型使用BackboneRelational.我正在使用大约10个小jQuery插件来做奇特的UI东西.

我决心做这次迁移,但是我担心我的最后期限.所以问题是:

  1. 使用AngularJS重写它需要多长时间?也许有人可以分享他的经验.
  2. 是否有可能立即开始使用Angular,并使用它实现新的功能,当我们需要与Backbone部分交互时不会引起麻烦?
  3. 如果我决定在截止日期之后进行重构,您会建议采用哪些做法来使代码更容易迁移?

gan*_*raj 12

我向Angular移植了大量的5k + BB代码行.当我第一次开始使用Angular的时候,我做了这个端口,如果我没记错的话,我会在一个周末然后做3天.所以它在5天左右完成.你必须注意我写了整个BB应用程序(所有5k行也是如此......)所以我更容易移植.

你最初可能会混合使用BB和Angular(在Angular中开发新的部件,然后慢慢地将BB部分移植到......)但是我建议如果可以,那么首先移植完整的应用程序.

作为一般规则,您的所有Backbone模型和集合都应该进入服务(也许是同名的服务?).移植html和Mustache模板应该是小菜一碟.有点棘手的部分是你的jquery插件.但如果它们很简单,那么你就可以使用angular-ui jquery passthrough(http://angular-ui.github.io/).

  • @AlexanderSuraphel我仍然会选择Angular.使用它,我没有看到任何黑魔法.我完全控制复杂的事情,简单的事情非常容易. (2认同)