在学习了Angular 2 之后,学习AngularJS有多困难



让我从理由开始。许多多年来一直在使用AngularJ的公司仍在使用它,并且没有立即迁移到4 的计划。因此,有销售能力,加上不可避免的要求,即将其作为角度开发人员都知道。

我知道我的问题很广泛,但是我很想听到那两者都有经验的人们的来信。它们是完全不同的,还是一些知识转移?对于那些非常了解两者的人来说,真正引起您的关键区别是什么?

与角(2及更高)相比,AngularJs具有几个重要的局限性,这些局限性影响了可以建立应用程序的方式。

  • 一个带有字符串DI令牌的单个喷油器,没有内置的懒惰加载。

  • 配置/运行阶段和同步引导程序(配置配方的概述)。

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

  • 手动操纵的jQuery影响方法。

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

  • 不支持嵌套应用程序(可能是用黑客使用)。

  • 无视图封装和组件样式。

  • 没有内置组件路由器。

  • 无内置翻译/i18n。

  • 没有对工人和服务器端渲染的内置支持。

  • 没有官方CLI。

Angularjs的发展一直集中在提供自1.5以来提供升级策略和共同特征。在许多方面,角度/打字稿体验可以作为现代Angularjs开发最佳实践的来源。

Angularjs通常以其喷油器和编译器的工作方式更灵活,并允许在Angular中变得不切实际或不可能的大量整洁的黑客。

,如果目标是故意将开发实践限制在允许构建typescript/es6/es.next angularjs应用程序遵循角度准则并可以轻松升级的情况下,则可能会丢弃AngularJS引入的较小差异,这些差异可能会被丢弃。将来有角度。

ng-metadata竭尽全力将AngularJS编码实践与角度统一,但仍需要很好地了解两个框架之间的差异。

但是,如果开发人员在很大程度上依赖于它们并使用遗留编码标准的现有AngularJS项目中,则较小的差异会产生很大的不同。

最新更新