小课堂 | Angular之见

  时间: 2021-07-31      79     分享:

写在前面


最近齐安安面试了很多人,发现了一些问题并且总结了一些观点,今天通过小课堂分享给正在求职的你,希望可以对想要入行的人起到一点帮助~



很多同学在求职简历上标注了熟悉掌握Vue组件开发,或者精通React框架,几乎看不到Angular的字眼。虽然在面试中涉及具体框架的问题会比较少,更多的还是宏观性的基础知识,但熟悉和掌握Angular其实可以为面试加分。关于面试中与Angular相关的内容,根据大家的回答做了如下统计:


饼状图.png


● 20%需要犹豫好一会勉为其难的答应,并再三确认学习起来的难易程度

● 40%委婉拒绝了,觉得还是想把精力放在react或者vue上

● 40%直接拒绝,给出的反馈是不好找工作,认为Angular已经过时了


本文简单的总结了一些大家对Angular的误解,结合自己的经验也查了很多资料来进行回答,希望大家能消除对Angular的刻板印象,体会它的重要性,或许在今后的职业生涯中会有所帮助。



Angular和Angular Js的区别


Angular 和Angular JS是2个不同时代的框架,可以说是2个独立的产物。


Google于2010年发布了Angular Js,在Jquery如日中天的时代,Angular JS把“双向数据绑定”这个特性带到前端,这个特性大幅度压缩了前端代码的规模。但是随着时间的推移,很多特性被加入到Angular JS以去适应各种不同的应用场景,性能无法得到提升,加上对移动端不能友好的支持,作用域等一些问题,Google不得不另起炉灶,开发出一套全新的框架Angular,版本号从2.0开始,且基于TS写的。Angular Js是前端的过去,现在有人说Jquery无法匹配时代要求,但在一些大型应用系统中它还是起着很重要的作用。



Angular的优势


Angular是成熟且完整的框架,官方的定义是一套框架,多种平台。


● 借用TypeScript提供类型支持

JavaScript 是弱类型语言。弱类型语言的优点是只要不要写错语法让程式执行不下去,基本上都不会有问题,非常容易入门;优点同时也是致命的缺点,因为结构太松散,在编写的时候不容易发现错误,经常会在产品端执行时才发现出错。作为JavaScript的超集Typescript,开发者给JavaScript代码的对象、变量、函数等,增加类型标注,说明代码的“目的”,通过编译器的类型检查机制,帮助开发者在编译阶段,尽可能的识别问题。这对大型团队,意义尤其重大。因为类型标注,本身就是文档和开发标准。


● 多人分工协作

在Angular中,用来支持分工协作的主要基础设施是模块。每个模块指定一个明确的“责任人”,可以独立开发,互不影响,团队分工也得到了优化。少量高手负责开发可复用模块和核心模块,新手则负责开发那些“只需要对自己负责”的模块,无论他写的代码质量怎样,至少这些问题不会扩大,协作完成任务可以充分利用每个人的优势。


● 代码风格统一

Angular开发组专门做了一个用于Angular风格检查的工具,并且集成进了Angular CLI中。它所依据的规范就是Angular开发组提供的官方风格指南,有了这份风格指南,Angular程序员就可以写出风格大致相同的代码了。

Angular不仅采用了大量的成熟技术,如依赖注入、接口、注解等,并且还与TypeScript合作,跟 RxJS的深度整合,支持PWA,还紧跟Web Components等标准草案。Angular一直保持积极的态度,包容百搭,与时俱进,说是宝藏也不为过。越了解它,就会越发现它的优点。


Angular,Vue,React的对比


微信截图_20210729173417.png


每个工具都不可避免会有自己的一些特点,从而会对使用者有一定的要求,要求有强有弱,它的强势程度会影响在业务开发中的使用方式。



Angular:

它是一个完整的开发环境,包含一整套程序,包括TypeScript编译器,AOT编译器和Web服务器。它是强主张的,使用时必须接受它的模块机制,使用依赖注入以及使用特殊的形式来定义组件。

React:

借助React库,我们可以轻松地创建交互式用户界面。集成React时,不需要更改当前项目的代码,它只负责渲染界面,不会额外带来痛苦。它也是一定程度的主张,主张函数式编程的理念。

 Vue:

它是渐进的,没有强主张。最大的优点是不需要任何特殊知识。任何Vue应用程序都是使用HTML、CSS和JavaScript编写的——熟悉这些工具就可以立即投入工作。



Angular的升级

官方的版本发布计划是:每 6 个月发布一个主版本(第一位版本号,主版本),每个主版本发布 1 到 3 个小版本(第二位版本号,Feature 版本号),每周发布一个补丁版本(第三位版本号,Hotfix 版本号)。根据官方的解释,Angular 2.0 之后会保证向下兼容,只有升级主版本的时候才会做一些 Breaking Change。Angular CLI提供了update命令,可以帮助用户自动把程序从上一个主版本升级到当前主版本,对此官方也给出了非常详细的设计指南。



Angular是否过时


Angular中采用了大量成熟技术,如依赖注入、接口、注解等。这些都是经历过岁月的重重考验的实践结果,足以说明其存在的必然性和重要性。


没有过时的框架,只有用不好的技术。Angular虽然在当代面试者的心中存在感不高,但它从最初选择与少年时期的TypeScript合作,到跟RxJS的深度整合,再到对PWA的第一时间支持,这种热情拥抱上下游技术,并紧紧跟随政策标准的态度,无不体现着Angular在当今时代存在的意义。


参考文章:

[1] 蔚1,Angular 基础教程(7.0) CSDN

https://blog.csdn.net/valada/article/details/84537383


[2] BOM485480,Angular、React 和 Vue 三大框架,Web 开发该如何选择?CSDN

https://blog.csdn.net/BOM485480/article/details/114700429



上一篇:“零信任”理念如何在工控安全产品中落地?

下一篇:聊聊关于东京奥运会网络安全的那些事儿