如何从角迁移到角2 ?需要处理的挑战



我们已经有了一个非常成熟的angular项目,显然,现在angular 2的功能越来越先进,性能也越来越好,我们怎么能把所有现有的工作都迁移到angular 2呢然而,我们了解了angular 2,却没有预见到它可能会破坏现有功能的挑战

我对这次讨论的看法。在考虑成熟项目的迁移时,您应该考虑所有因素,而不仅仅是新技术的潜在好处。例如,angular 2应用应该是用TypeScript编写的。虽然它在javascript中工作得很好,但逐渐迁移到typescript对产品开发意味着一些影响。总的来说,我会考虑以下几点:

  • 开发人员将需要一些时间来适应在TS上编写(也因为TS被编译成JS以便在浏览器中实际执行,所以控制台调试将会有点困难)
  • 开发者将不得不适应angular 2使用的新范式。对于产品架构来说,这可能是相当大的变化。所以对于成熟的产品,一开始你可能会遇到一个非常糟糕的合并,因为你可能会逐渐开始转换。(这也意味着你在性能上的收获可能一开始不会那么显著,如果有的话)。
  • 您的开发环境必须能够处理TS(包括任何代码分析,测试自动化和覆盖-如果使用-等)
  • 你正在使用的库可能与Angular 2不兼容。

最后,角1不太可能很快消失。即使谷歌将停止修补/开发它,我怀疑他们会阻止社区这样做。

所以首先,我真的要问为什么要把一个成熟的、运行良好的产品迁移到angular 2?你应该对你期望得到多少"更好"的表现有一个更好的想法。有时候,"足够好"就是足够好,尤其是在考虑到迁移成本的时候。因此,一个好的开头是:

  • 理解新技术对你的开发过程意味着什么(工具、QA、经验丰富的开发人员等)
  • 了解当前产品中哪些项目需要改进,以及新技术将如何帮助您
  • 对最关键的领域做一个快速原型来证明这个概念
  • 如果对前3项的结果满意,考虑重写/还是逐步迁移。

最新更新