先说答案, Angular, 值得一试.

你以为Angular在国内用的人少比另外俩框架要少一点? 不, 是少很多. 在几年前我还能看到招聘信息一般是

  • ARV精通其一, vue更佳

现在则基本上都是

  • vue/react任选其一

到今天, 还是偶尔能看到对比框架的文章, 可惜的是, 他们都不再带Angular玩了, 提都不提一下. 我一直都是承认Angular用的人少的. 我只说在国内, 国外情况不了解不做评价. 尽管社区里也有人不断的反驳, 认为Angular用的人很多. 我觉得这是自欺欺人的, Angular要真用的多, 还用得着你来说吗? 早就遍地开花了. 我知道, 这是有很多原因的, 比如

  • 大部分前端项目没有复杂度, 短平快是要点
  • 总共就个把星期的时间, 写完就可以了, 不用维护
  • 招不到人, 还是vue好, 一抓一大把

你会发现, 导致不愿意使用Angular的往往是客观因素, 并不是因为Angular有什么致命的问题, 纯粹是在他们的业务场景下有比Angular更好的工具而已.

比如我只需要一个组件化的概念就可以了, 没有状态管理也没有路由. 那我就会直接选vue, 甚至用vue都多余了.

所以, 先立一个基本的意识, Angular用的人少, 是真, 但原因不在框架本身, 是资本涌入的原因. 题主贴出的2019JS大调查中, 也显示了70%的人对Angular表示无感. 数据和我的感受是一致的. 所以如果你依然认为Angular用的人多, 那就认为吧, 点下反对即可, 别来杠我了, 真的没意思, 有那时间我不如多打两把排位.

但是我还是会推荐应该学一下Angular, 哪怕不使用他. 为什么呢? 因为他会帮你建立基本的工程化意识, 以及极度舒服的开发体验.

大家有没有玩过冒险岛? 早期版本的时候人物选定以后要投骰子的, 骰子的点数决定了角色的基本属性.


骰子决定如何分配属性

比如力量型角色就会希望能把力量点满, 甚至牺牲个把小时就为了不断地摇到一个最好的属性分配才开始游戏. 而实际上, 如果不是顶尖的玩家, 那几点属性对你的影响微乎其微. 你看, 其实不管做什么, 我们都希望有一个良好的开始.

而Angular就可以帮你建立这样的意识, 你用Angular的话, 你就会一定会了解到组件通信、状态管理、模块等等概念的基本用法. 你可能一开始不知道为啥要搞这些, 反正就知道要那么做. 那么恭喜你, 你已经知道了基本的一个web应用应该具备的一些要素. 那么当你切换技术栈的时候, 你会不自觉的去寻找相应的工具. 而不是拿到一个工具知道他要干什么才干什么. 从业务出发找工具, 而不是从工具出发找业务.

再比如说, TypeScript, 用过的人都说这玩意没啥难度, 直接上手都行. 但是依然还是有很多人一听到这个词, 心里就想: “卧槽, 不会啊. 哎, 太难了, 不学了吧.” 这很正常, 人们对于未知的东西都是很反感的, 这符合生物的本质 —— 扬长避短. 我打了几千把英雄联盟到现在也就会一个莫甘娜, 不愿意学习新的英雄. 就是懒得学.

所以, 如果你有时间, 我还是很建议你了解下Angular, 了解他的思想和基本用法, 举一反三. 而如果你急着找工作, 要吃饭的, 那就学react/vue吧, 保命要紧.


Angular单单这一个产品产生的利润,一年就有近200亿美金,只要这个巨无霸还在用,你就可以用,有时候,生态也是需要用钱砸出来的。

当然,Angular的首要任务有可能并非满足社区,所以,不太会把普通使用者的使用体验摆在首位,相比之下,在普通人的使用体验上来说,Vue要好很多(是否满足使用者需求决定其存亡),其次是React。

有ad体量的产品,用Angular解决起来更容易,毕竟是前端框架,用其他公司框架并不会有太严重的信任危机。

而Vue和React都不是为了这样体量的产品准备的。

当然,绝大多数项目都不是这个体量的项目,但对于程序员来说,我可以不做这种项目,但我不能没有做这个项目的能力。

你可以说面向对象是垃圾,不是潮流,可以说module复杂,可以说领域驱动是错的方向,可以说响应式流是炫技,不实用。

但是用不用是一个问题,会不会就是另一个问题了,不是么?用Angular也好,ember也罢,react,vue都行,这些主题你就算没有经历过,总不能完全闭着眼睛不去看吧?

不过话说回来,程序员本来就是发现问题解决问题的物种,新的网络时代中,前端的复杂度会越来越高。所以,也许Angular未来的潜在用户,也是有一些吧?谁知道呢。


有朋友问Angular在大项目上的优势是什么,是rx呢,还是ts。

rx,ts都不是Angular自身的功能,所以肯定算不得Angular的优势。

但是Angular有着——

  1. 面向对象(类)+ 领域驱动 + typescript
  2. zone + rx

的优势。

文章来源于互联网:2020年是否还可以用angular ?

发表评论