一.介绍
在回答为什么是 Angular 之前,我将解释一下什么是 Angular。
这是本文的结构:
- 介绍
- Angular 是什么
- 为什么使用 Angular
- 概括
二.什么是 Angular?
我不会用自己的话来回答这个问题,而是使用 下面的维基 定义”
“Angular (通常称为“ Angular 2+ ”或“ Angular CLI ”)是一个 基于 TypeScript的免费开源 Web 应用程序框架,由Google 的 Angular 团队 以及个人和公司社区领导。Angular 是由开发AngularJS 的同一团队完全重写的 。”
我认为 《Angular 简介》中的这一段 可以添加更多信息,并且非常简洁:
“Angular 是一个由 Google 和开发者社区维护的开源项目。新的 Angular 平台与您过去可能使用过的传统框架有很大不同。通过与 Microsoft 合作,Google 将 TypeScript 设为 Angular 的默认语言。TypeScript 是 JavaScript 的超集,它使开发人员能够针对 Internet Explorer 11 等传统浏览器,同时允许他们编写可在 Chrome、Firefox 和 Edge 等常青浏览器上运行的现代 JavaScript 代码。Angular 的传统版本(1.xx 范围内的版本)称为 AngularJS。2.0.0 版及更高版本称为 Angular。AngularJS 是一个单片 JavaScript SPA 框架,而 Angular 是一个能够针对浏览器、混合移动框架、桌面应用程序和服务器端渲染视图的平台。”
三.为什么使用 Angular
Angular 非常流行,近年来,很多 .NET 开发人员和 Java 开发人员都转向使用 Angular 进行前端开发。如果有人问:我们为什么选择 Angular?这是所有 Angular 开发人员都会问的一个问题,实际上也是一个常见的面试问题。
1.并非因为技术原因
如果我们在网上搜索,我们可以得到很多关于这个问题的答案,比如
- 8 个经过验证的理由说明你需要在下一个开发项目中使用 Angular 或
- 选择 Angular 进行 Web 开发的六个理由。
但是,我认为这些答案太过技术性,没有抓住基本要点。我在参考文献中列出了一些文章,并给出了一些细节,例如,使用 Angular 的一个原因是 Angular 使用 TypeScript。是的,TypeScript 是 Angular 的一个很好的特性,但 React 不使用 TypeScript,为什么它和 Angular 一样受欢迎?
2.由于软件发展的主要趋势
我更喜欢这个定义作为使用 Angular [ ref ]的原因:
“Angular通过其 引人注目的功能 (包括模板、双向绑定、模块化、RESTful API 处理、依赖注入和 AJAX 处理)帮助构建交互式动态 单页应用程序 (SPA) 。
从这个定义中我们可以看出:Angular Platform 有两大特点,
- SPA——远程访问服务器
引人注目 — 此功能使其更快、更安全 - 让我们研究一下软件的演变,然后再研究 Web 应用程序的演变。
软件开发架构的演变
- 服务器端编程,例如带有哑终端的 IBM 大型机或 UNIX 服务器
- 客户端编程,例如带有动态 JavaScript 的 HTML 页面
- 客户端-服务器架构,例如 ASP webserver/page
- 三层架构、企业业务架构
- SOA:面向服务架构,又称松耦合企业业务架构
- 微服务架构:应用范围的松耦合架构
然后,我们具体研究一下,Web 开发架构的演变
- 客户端编程:
- HTML — 90 年代初期,静态网页
- JavaScript — 与 HTML 同龄,让网页动态化
- 服务器端编程:
VB(2002 年 .NET 之前)将代码渲染到 Web,例如 WebBrowser
ASP年龄
- 前端:VB脚本
- 后端:JavaScript
- 将脚本代码和 HTML 混合在一起
网页开发工具
- 独立前端
- 设计模式—HTML
- 代码隐藏 — C# 代码,可编译
- 独立前端
MVC——将前端分离为
- 模型
- 视图
- 控制器
- 客户端到服务器:
- RDS —远程数据服务
- Microsoft OLE DB远程处理提供程序
AJAX - JavaScript 库:例如jQuery —Encaplate AJAX
- Silverlight — 封装为 Ajax 的胖客户端, Silverlight 5
- 解耦服务器和客户端:通过远程访问链接服务器和客户端
- SPA —客户端:
- Angular — 已编译
- React
- Vue
- Web API——服务器端
- REST — 架构风格
- 客户端-服务器
- http协议—无状态
- JSON格式—统一接口
研究不同的方法,
- 客户端编程:无需服务器访问—无需数据、无需安全;无需编译
- 服务器端编程:服务器逐页渲染到客户端,速度慢;无需客户端编译
- 客户端到服务器:可以远程访问服务器;无需客户端编译
- 解耦服务器和客户端: 通过 REST 实现,其中 Angular 作为 SPA 扮演着重要的角色。
四.概括
为什么要使用 Angular?因为我们想通过 SPA 创建一个解耦系统,具有远程访问服务器功能和客户端编译功能,以加快代码运行速度