Angular简介:它是什么,为什么你应该使用它
在本文中,我将向您概述一个非常流行且广泛使用的客户端框架角.这篇Angular的介绍主要是针对那些几乎没有JS框架经验的新手开发人员,他们希望学习Angular背后的基本思想,并了解它与AngularJS的区别。
一个JavaScript框架是最近的一种流行词:每个人都在讨论这些框架,许多开发人员都在争论最好的解决方案。
那么,让我们开始对Angular的介绍,好吗?
为什么我需要一个框架?
如果你不确定JavaScript(或客户端)框架是什么,这是一种技术,它为我们提供了正确的工具来构建web应用程序,同时还定义了应该如何设计和代码应该如何组织。
现在大多数JS框架都是这样固执己见的,这意味着他们对如何构建web应用有自己的理念,你可能需要花一些时间来学习核心概念。其他解决方案,比如骨干,并没有指导开发人员应该如何设计项目,因此有些人甚至称这种技术为简单的库,而不是框架。
实际上,JavaScript框架出现的时间并不长。我记得很多时候网站都是用结构糟糕的JS代码构建的(在很多情况下,是由jQuery支持的)。然而,客户端ui变得越来越复杂,JavaScript失去了“玩具”语言的名声。现代网站严重依赖于JS,正确组织(和测试!)代码的需求已经出现。因此,客户端框架现在已经变得流行起来他们至少有十几个人.
Angular简介:什么是Angular
AngularJS它曾经是JavaScript框架中的“金童”,因为它最初是由谷歌公司在2012年推出的。它是用模型-视图-控制器的概念尽管框架的作者经常称它为“模型-视图-*”甚至“模型-视图-随便什么”。
该框架是用纯JavaScript编写的,目的是将应用程序的逻辑与DOM操作分离,并针对动态页面更新。不过,这并不是很侵扰:你只能让AngularJS控制页面的一部分。该框架引入了许多功能强大的特性,允许开发人员非常容易地创建丰富的单页应用程序。
具体来说,是一个有趣的概念数据绑定引入,这意味着每当模型(数据)发生变化时,视图就会自动更新,反之亦然。最重要的是,这个想法指令,它允许您发明自己的HTML标记,由JavaScript赋予生命。例如,你可以这样写:
<日历>日历>
这是一个自定义标记,将由AngularJS处理,并根据底层代码的指示转换为完整的日历。(当然,你的工作是编写适当的指令。)
AngularJS很快就流行起来,受到了很大的关注。尽管如此,它的维护者还是决定更进一步,继续开发一个最初命名的新版本角(后来,只需角没有“JS”部分)。框架获得一个新名字并不是巧合:实际上,它完全被重写和重新设计了,许多概念也被重新考虑了。
的首次稳定发布Angular发布于2016年从那时起,AngularJS开始失去它的流行,取而代之的是一个新版本。其中一个主要的特性Angular最大的优点是能够开发多种平台:web、移动和本地桌面(而AngularJS没有现成的移动支持)。
然后,让事情变得更复杂的是,到2016年底,角4被释放了。“那么,第三版在哪里?”,你可能会想。我也在问同样的问题,因为似乎版本3根本就没有发布过!这是怎么发生的?作为在官方博客中有解释必威滚,维护人员决定继续使用语义版本控制因为角。
遵循这一原则,改变主要版本(例如,“2.x”。X”变成了“3.x.x”)意味着引入了一些突破性的更改。问题是Angular Router组件已经有版本3了吗.因此,为了修复这种错位,我们决定完全跳过Angular 3。幸运的是,从Angular到4的过渡没有从AngularJS到Angular那么痛苦,尽管许多开发人员仍然对所有这些混乱感到困惑。
角5于2017年11月上映.它还向后兼容以前的Angular版本。Angular 6应该很快就会发布,希望能给我们带来更多酷炫的特性和增强。
Angular简介:Angular的优势
那么,为什么选择Angular呢?因为它支持各种平台(网页、手机、桌面原生),所以它功能强大、现代,拥有一个不错的生态系统,而且很酷。不相信吗?让我说得更有说服力一些:
- Angular不仅为你提供了工具,还提供了设计模式,以可维护的方式构建你的项目。当一个Angular应用被正确地制作出来时,你不会以一堆难以修改和更难测试的类和方法而告终。代码的结构很方便,您不需要花费太多时间来理解发生了什么。
- 它是JavaScript,但更好。Angular是用TypeScript构建的,而TypeScript又依赖于JS ES6。你不需要学习一门全新的语言,但你仍然可以获得静态类型、接口、类、命名空间、装饰器等特性。
- 没有必要重新发明自行车。有了Angular,你已经有很多工具可以马上开始制作应用程序。您可以使用指令来赋予HTML元素动态行为。您可以使用
FormControl
并介绍各种验证规则。您可以轻松地发送各种类型的异步HTTP请求。您可以轻松地设置路由。Angular还能为我们提供更多的好处! - 组件是解耦的。Angular努力消除应用程序各个组件之间的紧密耦合。注入以nodejs风格进行,您可以轻松替换各种组件。
- 所有DOM操作都发生在它应该发生的地方。使用Angular,你不会将表示和应用逻辑紧密结合,从而让你的标记更干净、更简单。
- 测试是核心。Angular意味着要经过彻底的测试,它支持使用Jasmine和Protractor等工具进行单元测试和端到端测试。
- Angular可以移动和桌面,这意味着您有一个适用于多个平台的框架。
- Angular是主动维护的拥有庞大的社区和生态系统。您可以找到关于这个框架的大量资料以及许多有用的第三方工具。
所以,我们可以说,Angular不仅仅是一个框架,而是一个平台这使得开发人员能够为web、移动和桌面开发应用程序。您可以进一步了解它的架构在本指南中.
Angular简介:Angular的复杂性
我不得不说,不幸的是,Angular是一个相当大而复杂的框架,它有自己的哲学,对于新手来说,理解和适应它可能是一个挑战。然而,学习框架的概念并不是唯一的任务;除此之外,你还必须熟悉一些额外的技术:
- 建议用它来编写Angular应用程序打印稿,所以你必须了解它。可以使用现代JavaScript (ES6)编写代码,尽管我很少看到有人这样做。
- TypeScript是JavaScript的超集,所以你也需要熟悉它。
- 掌握Angular CLI可以进一步加快开发过程,这是个好主意。
- 节点的包管理器npm它被广泛用于安装Angular本身和其他组件,所以你也需要熟悉它。
- 学习如何设置一个任务运行器狼吞虎咽地吃或咕哝着说这非常方便,因为在应用程序实际部署到生产环境之前,有很多事情要做。
- 使用小词(比如UglifyJS)和捆扎者(比如Webpack)现在也很常见。
- 在开发应用程序时,能够调试代码是至关重要的,所以你应该知道如何使用调试工具,如占卜.
- 当然,测试Angular应用程序是非常重要的,这可能会变得非常复杂。最流行的测试工具之一叫做茉莉花(这是用于测试的框架)和量角器(用于端到端测试)。
所以,如你所见,要开始创建客户端web应用程序,还有很多东西要学习。但不要气馁:网上有很多资源可以帮助你学习所有这些工具和技术。当然,您需要一些时间来掌握它们,但因此,您将获得宝贵的经验,并能够充满信心地创建复杂的应用程序。
最后一件值得一提的事情是,有时候在应用中使用Angular可能有些过头了。如果您有一个小型或中型的项目,没有任何复杂的用户界面和交互,那么使用普通的JavaScript可能是一个更好的主意。因此,在决定是否使用JavaScript框架之前,评估新应用程序的所有需求和特性以及考虑截止日期是非常重要的。
结论
在这篇Angular介绍中,我们讨论了Angular,一个支持多平台的客户端框架。我们已经介绍了它的一些特性和概念,也看到了它与之前版本的框架AngularJS的不同之处。
希望你现在已经对Angular是什么以及在什么情况下它会派上用场有了基本的了解!