【问题标题】:Migration from Backbone to AngularJS - how difficult it is?从 Backbone 迁移到 AngularJS - 有多难?
【发布时间】:2013-04-09 00:43:54
【问题描述】:

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

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

我决心进行此迁移,但我担心我的最后期限。所以问题是:

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

【问题讨论】:

  • 虽然你的问题很有趣,但可能过于宽泛
  • 我正在考虑做同样的事情。你最后做了什么?介意分享您的经验吗?
  • 我认为迁移到 Angular 是个好主意。代码要简单得多,我们有一些测试。但是,我们还想改变整个项目结构(将 GUI 与 API 分开)并将所有 HTML、JS 和 CSS 划分为小的独立模块,这比我们预期的要花更长的时间。所以我的建议是专注于尽快在 Angular 中获得完全工作的版本,并将所有其他重构留到以后。干杯:)
  • 3 年后:“大约 8000 行 javascript”似乎不再是一个“大项目”了。 :)

标签: javascript backbone.js angularjs refactoring


【解决方案1】:

我将 5k+ 行 BB 代码移植到 Angular。当我第一次开始使用 Angular 时,我做了这个移植,如果我没记错的话,我做了一个周末,然后是 3 天。所以大约在5天内完成。您必须注意,我编写了整个 BB 应用程序(所有 5k 行也是如此..),因此我更容易移植。

您可能最初可以混合使用 BB 和 Angular(在 Angular 中开发新部件,然后慢慢移植 BB 部件……),但我建议如果可以,请先移植整个应用程序。

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

【讨论】:

  • 那个答案被删除了!
  • 这意味着对于中等规模的应用程序,移植需要太多天。 Backbone 和 AngularJS 是两个完全不同的模型和框架。您应该首先考虑您是否真的想迁移到 Angular...
  • ganaraj 和 @daniel.gindi 一年后,你会为中型项目使用哪个框架?
  • 我还是更喜欢BB。更直接,没有“黑魔法”。你有更多的控制权。 - 但是,如果您喜欢“流行”的东西,请使用 Angular.js。只要您不需要真正复杂的代码,它就很强大。
  • @AlexanderSuraphel 我仍然会选择 Angular。使用它后,我没有看到任何黑魔法。复杂的事情我可以完全掌控,简单的事情非常容易。
猜你喜欢
  • 2013-04-10
  • 1970-01-01
  • 2011-08-07
  • 2020-05-21
  • 2012-01-22
  • 2010-12-27
  • 2015-05-08
  • 1970-01-01
相关资源
最近更新 更多