为什么使用 Angular

一.介绍

在回答为什么是 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 开发架构的演变
  1. 客户端编程:
  • HTML — 90 年代初期,静态网页
  • JavaScript — 与 HTML 同龄,让网页动态化
  1. 服务器端编程:
  • VB(2002 年 .NET 之前)将代码渲染到 Web,例如 WebBrowser

  • ASP年龄

    • 前端:VB脚本
    • 后端:JavaScript
    • 将脚本代码和 HTML 混合在一起
  • 网页开发工具

    • 独立前端
      • 设计模式—HTML
      • 代码隐藏 — C# 代码,可编译
  • MVC——将前端分离为

    • 模型
    • 视图
    • 控制器
  1. 客户端到服务器:
  • RDS —远程数据服务
  • Microsoft OLE DB远程处理提供程序
    AJAX
  • JavaScript 库:例如jQuery —Encaplate AJAX
  • Silverlight — 封装为 Ajax 的胖客户端, Silverlight 5
  1. 解耦服务器和客户端:通过远程访问链接服务器和客户端
  • SPA —客户端:
    • Angular — 已编译
    • React
    • Vue
  • Web API——服务器端
    • REST — 架构风格
    • 客户端-服务器
    • http协议—无状态
    • JSON格式—统一接口

研究不同的方法,

  • 客户端编程:无需服务器访问—无需数据、无需安全;无需编译
  • 服务器端编程:服务器逐页渲染到客户端,速度慢;无需客户端编译
  • 客户端到服务器:可以远程访问服务器;无需客户端编译
  • 解耦服务器和客户端: 通过 REST 实现,其中 Angular 作为 SPA 扮演着重要的角色。

四.概括

为什么要使用 Angular?因为我们想通过 SPA 创建一个解耦系统,具有远程访问服务器功能和客户端编译功能,以加快代码运行速度

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢.锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值