前端开发框架_前端开发框架Angular生死年

0ca04a1be1ae61aeb0fa06f95d5eb5e6.png

这个标题,并不是说前端开发框架Angular明年就会火或者会死去,而是说,今年将会决定它接下来死活的趋势。

举例一个迹象:twitter在2019年转向react,Netflix也有同样的意向。而这两家公司,之前都是用Ember。

Ember框架,和Angular非常近似。基本上,就是填了一些坑的另一个Angular。Angular对开发来说,有几个明显问题:

  • 强制typescript
  • 模板文件使用.html文件,没有设计自己的后缀名,编辑器无法区分这是html,还是Angular模板,不利于语法解析。
  • 官方教程不考虑前端新人,生涩难啃。

而Ember解决了以上3个问题。

  • 不强求typescript。毕竟如今ES6已经可以写的很舒服了,typescript很多时候并非必须。除非开发人员脑残,硬要去写ES5语法。
  • 模板文件有单独文件后缀.hbs,有利于编辑器解析语法。
  • 官方教程照顾新手,硬是把Angular这种重量级框架,学习难度降低到了Vue级别。

除此以外Ember还拥有Angular体系的优点:强健、清晰、完善的面向对象 和 组件机制。

听起来如此美好,即使如此,twitter和Netflix还是要把它淘汰掉。可见作为近亲的Angular多么生死攸关。

为什么?根本原因,只有1个:性能。

Angular和Ember作为同类框架,拥有无法避免的框架太重、性能低下的问题。这个性能体现在3方面:

  • 包尺寸太大。Ember有1.8mb。Angular不是一个文件,而是一套文件,加起来尺寸也非常重。
  • 浏览器首次加载太久,渲染太久,导致页面有段时间是白的,尤其是手机端。
  • 之后的持续运行性能,以及处理大量列表的性能,也比不上轻量级框架。

Ember似乎解决不掉性能问题,随着开发,性能越来越差,现在性能比Angular还慢1.5倍。结果就是用户越来越少。

Angular知道性能、轻量化的呼声有多么高,选择了非常痛苦的道路:重新设计lvy引擎

这直接导致,angular落后它自己的时间表整整一年。任何人都应该知道,一个项目延误一年,是多么严重的事情。

能轻量化多少?性能能提高多少?就是Angular几年后,是生是死的关键。


谁有可能代替Angular?Twitter 和 Netflix已经告诉你了,React。

为什么不是Vue?

Vue3.x不好说,但目前的Vue就是个坑。

有经验的开发人员,以及有过服务器端开发经验的人,会知道下面几点:

  • 清晰、完善、强健的面向对象 和 组件机制的重要性。
  • 知道不完善的体系,哪怕开头简单,后面只会越来越乱,越来越坑,因此不会往下跳。

举个例子。小白看到前面地上有糖,会兴高采烈往前冲。老手知道前面地上有坑,有地雷,所以看到糖,也不会往前跑。

Vue在起步时,明显大量参考了当时的Angular2 alpha的思路理念,但选择了ES5语法。之后,随着功能日趋靠近Angular,它的体系复杂度,也已经接近Angular,却没有Angular清晰、健壮。

原本以为,Vue在3.0时,会根治这一点,成为一个ES6的、轻量级的Angular。一旦如此,就结束了Angular的生命。

但看了他们对Vue3.0的设计,发现似乎跑偏了。这是否会给Angular机会,还要看React脸色。


几年前,React实际上有非常严重的性能问题,比当时刚起步的Angular2性能还要低下。而React按道理应该是个中轻量级框架,却在所有指标中,性能垫底,差到可以用惨不忍睹来形容。那个时候,我是很不理解React用户为什么要上这条贼船的。

结果,React痛定思痛,下狠心解决性能问题,2年后,还真就让他们解决了。

如今的React,就像是个浏览器 web组件的加强版:

  • 性能可接受
  • 上手容易
  • 接近原生,充分利用浏览器原生组件机制

随着所有浏览器在2019年已经全部实现web组件标准,现在的React,开发舒适度,已经接近Nodejs。

2年前,我还在说,当时最好的选择,是VUE+ES6的面向对象和组件机制。现在,以React的完善度来看,不光Angular面临威胁,如果VUE3.0不能实质性飞跃的话,都会面临明显用户流失。

如果真的如此,React几年后,就会呈现一统天下的趋势。如今本人也是毫不犹豫的拥抱了React。

而这并不是好事,因为React其实不是个理论上的完美框架,因为jsx不是个理论最佳方案。

有过面向对象经验的开发人员,应该能分析出,理论上的前端最佳形态,应该是个轻量级的Angular。

还是那句话,从前端的历史发展来看,新框架迅速流行,然后迅速被淘汰,周而复始。

能够终结这个命运循环的,只有面向对象体系+高性能两个条件同时满足,才有可能。希望这一天尽快到来,因为大量开发人员已经被坑得快吐血了。


附录:

twitter最终倒向React的直接原因,是发现招人容易,价格便宜量又足。但促成这一点的,则是Ember多年性能低下,热度不足,而React最近的性能又满足了商业需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值