开放源码软件ABC
A 代表永远改变前端的框架
A 代表AngularJS
欢迎收看《开放源码软件 ABC》的第一集,我们将逐一介绍开放源码软件的历史和影响。我是主持人泰勒,今天我们从字母A 开始,A 代表 AngularJS.
为什么需要AngularJS
有些技术会在我们构建软件的方式上留下永久的印记,AngularJS 就是其中之一。AngularJS 由 Google 于2010 年发布,它彻底改变了开发人员进行前端网络开发的方式。
在使用AngularJS 之前,构建动态 Web 应用程序是一件非常痛苦的事情。开发人员要与手动 DOM 操作和持续的状态管理作斗争,令人头疼。AngularJS 通过以下创新解决了这些问题:
- 双向数据绑定--无需不断手动更新 DOM。
- 依赖注入--让测试和模块化代码变得更容易。
- 指令(Directives)--一种在可重用组件成为主流思想之前就已存在的构建可重用组件的方法。
这些特性使AngularJS 成为革命性的产品,其影响在今天的React和Vue 等前端框架中依然可见。
生命终结与安全风险
但与所有软件一样,AngularJS 也有生命周期。谷歌在2018 年宣布AngularJS 最终将退役,并于2021 年 12 月正式达到生命周期终点(EOL)。
问题就在这里:Angular 不仅仅是AngularJS的升级版。它是围绕TypeScript、RxJS 和基于组件的架构进行的全面重写,是需要从头开始重新思考应用程序的彻底转变。
那么,如果今天继续运行AngularJS 会发生什么呢?
- 您的应用程序仍然 "工作",但...
- 它现在运行的是不支持、未打补丁的软件。
- 任何新发现的CVE 漏洞都不会收到官方补丁。
这意味着生产中的AngularJS 应用程序实际上存在安全隐患。依赖AngularJS 的企业在生产中运行未打补丁的软件,会给用户和系统带来风险。
移民挑战
迁移之路并不简单。从AngularJS 迁移到现代框架的团队面临着以下问题:
- 架构大修--全新的范式和构建工具。
- 测试重写--因为旧的假设不再适用。
- 大量技术债务--尤其是当应用程序拥有多年的遗留功能时。
这不是一个 "周末项目"。这是一项长期的现代化工作,需要规划、资源配置,在某些情况下还需要外部支持。
AngularJS的持久影响力
尽管AngularJS 已不再受支持,但其痕迹却无处不在:
- 依赖注入已成为前端开发的主流。
- 基于组件的架构为 React、Vue 和Angular的现代形式奠定了基础。
- 数据绑定模式将继续影响我们管理用户界面状态的方式。
换句话说,即使你从未接触过AngularJS,你也可能在使用它开创的模式。
结束语
AngularJS 具有划时代的意义,但现在它已成为传统软件。在没有支持的情况下在生产中运行它意味着要承担真正的安全风险。迁移很困难,但忽视过时软件的风险更大。
开放源码软件 ABC 的第一集就到这里。下一集,我们将深入探讨Bootstrap 的 B--这个为开发人员提供设计超级能力的框架,而无需平面设计学位。
在此之前:保持代码整洁,更新依赖关系,支持传统软件。