x:12 y:9,求角度_角度介绍:它是什么,以及为什么要使用它

x:12 y:9,求角度

在本文中,我将向您概述一个非常流行且广泛使用的客户端框架Angular Angular简介主要针对那些对JS框架缺乏经验,希望学习Angular的基本概念以及了解与AngularJS的不同之处的新手开发人员。

如今, JavaScript框架是一种流行语:每个人都在不断讨论这些框架,并且许多开发人员都在争论最佳解决方案。

所以,让我们开始这个Angular简介吧?

为什么需要框架?

如果您不确定什么是JavaScript(或客户端)框架,则该技术可为我们提供构建Web应用程序的正确工具,同时还定义了应如何设计它以及如何组织代码。

如今,大多数JS框架都是自以为是的 ,这意味着它们对于应如何构建Web应用程序有自己的哲学,您可能需要花一些时间来学习核心概念。 其他解决方案,例如Backbone ,没有指导开发人员如何设计项目,因此有些人甚至称这类技术为库而不是框架。

实际上,JavaScript框架不久前就出现了。 我记得曾经用结构不良的JS代码(在许多情况下,由jQuery驱动)构建网站的时代。 但是,客户端UI变得越来越复杂,JavaScript失去了作为“玩具”语言的声誉。 现代网站严重依赖JS,因此需要正确组织(和测试!)代码。 因此,客户端框架已变得很流行,如今至少有十几种

Angular简介:什么是Angular IS

AngularJS曾经是JavaScript框架中的“黄金孩子”,因为它最初由Google公司于2012年推出。它是在考虑Model-View-Controller概念的基础上构建的,尽管该框架的作者通常将其称为“ Model-View”。 -*”或什至“ Model-View-Whatever”。

该框架使用纯JavaScript编写,旨在将应用程序的逻辑与DOM操作分离开来,并旨在进行动态页面更新。 不过,它不是很麻烦:您只能让AngularJS控制页面的一部分。 该框架引入了许多强大的功能,使开发人员可以轻松地创建丰富的单页应用程序。

具体来说,引入了一个有趣的数据绑定概念,该概念意味着只要模型(数据)发生更改,视图就会自动更新,反之亦然。 最重要的是,提出了指令的概念,该指令允许发明自己HTML标签,这些标签由JavaScript赋予了生命。 例如,您可以编写:

<calendar></calendar>

这是一个自定义标签,将由AngularJS处理,并根据基础代码的指示变为完整的日历。 (当然,您的工作将是编写适当的指令。)

另一个非常重要的事情是“ 依赖注入” ,它允许应用程序组件以促进可重用和可测试代码的方式连接在一起。 当然,AngularJS 还有更多功能 ,但是我们不会在本文中进行深入讨论。

AngularJS很快流行起来并获得了很多关注。 尽管如此,其维护者还是决定进一步采取措施,并着手开发一个新版本,该版本最初名为Angular 2 (后来简称为Angular,没有“ JS”部分)。 框架获得一个新名称并不是偶然的:实际上,它已被完全重写和重新设计,同时重新考虑了许多概念。

Angular 2的第一个稳定版本于2016年发布,此后AngularJS开始失去其流行性,而支持新版本。 Angular 2的主要功能之一是能够针对多种平台进行开发:Web,移动和本地桌面(而AngularJS则没有现成的移动支持)。

然后,为了使事情变得更加复杂,到2016年底,发布了Angular 4 。 “那么,版本3在哪里?”,您可能会想知道。 我问的是同一问题,因为看来版本3从未发布过! 这怎么可能呢? 如官方博客文章中所述 ,维护者决定从Angular 2开始坚持使用语义版本控制

遵循此原则,更改主要版本(例如,“ 2.xx”变为“ 3.xx”)意味着引入了一些重大更改。 问题在于Angular Router组件已经在版本3上 。 因此,为解决此未对准问题,决定完全跳过Angular 3。 幸运的是,从Angular 2过渡到4的痛苦比从AngularJS过渡到Angular 2的痛苦要小,尽管许多开发人员仍然对所有这些混乱感到困惑。

Angular 5 于2017年11月发布 。 它也与以前的Angular版本向后兼容。 Angular 6应该很快发布,希望能给我们带来更多更酷的功能和增强。

Angular简介:Angular的优势

那么,为什么选择Angular? 好吧,因为它受各种平台(Web,移动,桌面本机)支持,所以它功能强大,现代,拥有一个不错的生态系统,而且非常酷。 不服气吗? 然后让我变得更有说服力:

  • 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是一个庞大而复杂的框架,具有自己的理念,这对于新来者理解和适应可能会带来挑战。 但是,学习框架的概念并不是唯一的任务; 最重要的是,您还必须熟悉一些其他技术:

  • 建议使用TypeScript编写Angular应用程序的代码,因此您必须了解它。 可以用现代JavaScript(ES6)编写代码,尽管我很少看到有人这样做。
  • TypeScript是JavaScript的超集,因此您也需要对此感到满意。
  • 掌握Angular CLI可以进一步加快开发过程,这是一个好主意。
  • Node的软件包管理器npm被广泛用于安装Angular本身和其他组件,因此您也需要对此感到满意。
  • 学习如何设置GulpGrunt之类的任务运行程序非常方便,因为在将应用程序实际部署到生产环境之前可能需要做很多事情。
  • 如今,使用缩小符(如UglifyJS )和捆绑程序 (如Webpack )也很常见。
  • 在开发应用程序时,调试代码至关重要,因此您应该知道如何使用Augury之类的调试工具。
  • 当然,测试Angular应用程序非常重要,这可能会变得非常复杂。 其中最受欢迎的测试工具之一是Jasmine (这是用于测试的框架)和Protractor (用于端到端测试)。

免费学习PHP!

全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。

原价$ 11.95 您的完全免费

因此,正如您所看到的,要开始创建客户端Web应用程序,需要学习很多东西。 但是请不要推迟:网络上有大量资源可以帮助您学习所有这些工具和技术。 当然,您需要一些时间来掌握它们,但是,结果,您将获得宝贵的经验,并且能够自信地创建复杂的应用程序。

值得一提的最后一件事是,有时在应用程序中使用Angular可能会过大。 如果您的中小型项目没有任何复杂的用户界面和交互,那么坚持使用普通的旧JavaScript可能是一个更好的主意。 因此,在决定是否使用JavaScript框架之前,评估新应用程序的所有要求,功能以及考虑截止日期非常重要。

结论

在此Angular简介中,我们讨论了Angular,这是一个支持多个平台的客户端框架。 我们已经介绍了它的一些功能和概念,还看到了它与框架的先前版本AngularJS的不同之处。

希望您现在对Angular是一个基本概念,在什么情况下可以派上用场!

如果您想立即开始学习此框架,请查看SitePoint Angular教程系列 。 而且,当然,该站点上还有许多其他学习材料 ,因此请确保也将其签出。

翻译自: https://www.sitepoint.com/angular-introduction/

x:12 y:9,求角度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值