📜  Angular 和 AngularJS 的区别(1)

📅  最后修改于: 2023-12-03 15:13:23.917000             🧑  作者: Mango

Angular 和 AngularJS 的区别

简介

Angular和AngularJS都是由Google开发的JavaScript框架。

AngularJS是Angular的前身,是一款传统型的MVC(Model-View-Controller)框架。而Angular则是一个完全重写的框架,采用了现代型的架构模式,尤其是采用了强类型语言TypeScript开发。

架构

AngularJS的架构分为MVC三个部分:

  • Model:是应用程序中用于操作数据的部分。
  • View:是用户界面的表现部分。
  • Controller:协调Model和View,是两者之间的桥梁。

而Angular则采用了现代化的架构,采用了三层架构模式:

  • Presentation Layer:负责呈现数据和交互式用户界面。
  • Business Logic Layer:在组件和服务中执行业务逻辑。
  • Data Access Layer:负责从服务器或本地存储中获取和存储数据。
双向数据绑定

AngularJS使用脏检测来实现双向数据绑定,当数据发生变化时,所有相关的视图都会自动更新。

而Angular则采用了更加高效的变更检测机制,它只会跟踪变化过的地方来更新数据和视图。

依赖注入

AngularJS采用了全局依赖注入的方式,所有的服务、控制器、指令等都滥用全局命名空间,容易引发变量名冲突,还会降低可维护性和可测试性。

而Angular则采用了分层注入的方式,每个模块/组件都有自己的依赖注入器,各个注入器相互独立,避免了命名冲突和依赖污染,同时提高了应用的可测试性和可维护性。

typescript支持

Angular使用TypeScript开发而成,TypeScript是一种由微软开发的开源编程语言。 它是JavaScript的一个超集,为JavaScript添加了可选的静态类型和箭头函数等语言特性,大大提高了代码的可读性、可维护性,还可以让你在编写代码的同时发现潜在的错误。

而AngularJS内置的是JavaScript,缺乏类型检测和潜在的错误信息,会影响项目的开发和维护。

总结

Angular和AngularJS的区别主要在于架构模式、双向绑定、依赖注入和TypeScript支持等方面。Angular更加符合现代化应用的开发,提供了更丰富、更高效的组件和服务,适合开发大型企业级应用。

参考资料

AngularJS vs Angular: 相关区别及其优劣势

Angular vs AngularJS: The Differences You Need to Know