学习Angular 2+之后,学习AngularJS有多难?

jos*_*hke 4 angularjs angular

让我从理由开始.许多已经使用AngularJS多年的公司仍在使用它,并且没有立即计划迁移到4+.因此具有可销售性,以及将两者都视为Angular开发人员的必然要求.

我的问题很广泛,但我很想听听那些对两者都有经验的人.它们是完全不同的,还是会将某些知识转移?对于那些非常了解两者的人来说,真正对你有哪些重要区别?

Est*_*ask 5

与Angular(2和更高版本)相比,AngularJS有几个重要的限制因素会影响应用程序的构建方式.

  • 单个进样器带有字符串DI标记,没有内置延迟加载.

  • 配置/运行阶段和同步引导(配置配方概述).

  • 范围层次数据绑定及其应用架构的后果-消化的概念,对性能的影响,AngularJS特定服务($timeout,$q,...),而不是本地的同行等

  • 受jQuery影响的手动DOM操作方法.

  • 内置服务,指令和过滤器(管道)的集合和API大不相同.

  • 不支持嵌套应用程序(可能带有hack).

  • 没有视图封装和组件样式.

  • 没有内置组件路由器.

  • 没有内置翻译/ i18n.

  • 没有对工作人员和服务器端呈现的内置支持.

  • 没有官方CLI.

自1.5以来,AngularJS的开发一直专注于提供升级策略和共同特征.在很多方面,Angular/TypeScript体验可以作为现代AngularJS开发的最佳实践的来源.

AngularJS在其注入器和编译器的工作方式上通常更灵活,并允许在Angular中使得过多或不可能的过多的整洁hack.

AngularJS引入了许多较小的差异,如果目标是有意将开发实践限制为允许构建遵循Angular指南的TypeScript/ES6/ES.next AngularJS应用程序并且可以轻松升级到Angular的那些,则可能会丢弃这些差异.未来.

ng-metadata 尽力将AngularJS编码实践与Angular统一起来,但仍需要很好地理解两个框架之间的差异.

但是,如果开发人员在现有的AngularJS项目上工作,而这些项目严重依赖于它们并使用传统的编码标