加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React大热?再来泼冷水!

发布时间:2020-12-15 03:23:41 所属栏目:百科 来源:网络整理
导读:最近 人人都在聊ReactJS,Facebook也是大力支持,其旗下所有产品都全线使用React,单看列表也会亮瞎眼睛! AirBnB,Asana,Atlassian...... 如此多成功案例,后台又是大佬Facebook,大有势不可挡之势。 而之前一直热捧的AngularJS与其相比,更像是在上演一部

最近人人都在聊ReactJS,Facebook也是大力支持,其旗下所有产品都全线使用React,单看列表也会亮瞎眼睛!AirBnB,Asana,Atlassian......


如此多成功案例,后台又是大佬Facebook,大有势不可挡之势。


而之前一直热捧的AngularJS与其相比,更像是在上演一部夕阳红。最美不过夕阳红,温馨又从容...


谈论技术,许多工程师总是痴迷于耀眼光环,而抛弃其业务场景。贸贸然入坑,最后不能自拔。今天我们就再来聊聊ReactJS,看看它是否真的适合你?

ReactJS作为View框架有两大优势:

一、组件化

经历过jQuery时代的都了解,jQuery的DOM操作存在很多问题。

1. DOM操作繁杂冗余;代码量和软件维护成本成正比关系,甚至于几何关系,jQuery的代码量是出了名的多,老多了!

2. 不易封装; 代码相似却不相同,逻辑简单时,封装加大复杂性,逻辑复杂时,却又极难抽离共性

3. 不易扩展;没有封装,就导致系统没有架构,没有架构何谈扩展?

ReactJS抽离共性DOM为组件,绑定数据,基本解决了jQuery时代的弊端,不得不说是前端DOM开发的一大福音。

二、虚拟DOM(Virtual DOM)

前端从诞生的那天起,就存在性能问题。JavaScript Document本身就提供了Fragment来优化DOM操作。

ReactJS虚拟DOM的运行原理和Fragment大同小异。即存在一个类似缓存的Document,通过缓存来避免大量重复的DOM更新,而换成一次性更新。

前端组件化的概念一直存在,也有很多成熟的实现,从最早Backbone中的粗粒式View,到AngularJS中强大的Directive,都是组件化的缩影。为什么单单ReactJS的组件被人津津乐道呢?

答案在于其轻量级

轻量级有时是短板

很多人赞叹Java成熟、稳定、强大、流行、NB吊炸天,但不可否认它的重量级。我需要写一个简单的Test,先使用Maven构建,导入Spring,加入Hibernate,引入Apache Utils,配置XML,还需要.......咦,老乡,别走,我还没讲完呢!!!就因为其如此麻烦,在百度一搜一大把:spring-hibernate Example,这其实是对Java莫大的讽刺。

反过来看Python,一个py文件,就是一个应用程序,不得不感叹其小巧优美,怪不得很多人对其情有独钟!

然而,轻量级是好事吗?

Python如此小巧优美,可很多人提出:有哪些大型的系统在使用Python,这样的问题其实是在质疑其能力。

但是从没有人问这样的问题:java有谁在用?

ReactJS一如Python的优美,只有一个组件框架,即插即用,非常方便。但是很多时候,需要在前端处理复杂逻辑时,就需要自行设计前端架构。有谁因为其小巧,而愿意承受后期的复杂呢?

数据单向绑定

ReactJS为了性能考虑而舍弃双向绑定,即数据变化更新DOM,而DOM变化并不更新数据!舍弃DOM数据绑定,性能确实上了一个台阶,可是如果你要处理很多表单操作,只能呵呵呵了。

JSX模板

一直深深痛恶转换语言,一如前几年的JSF,现今的CoffeeScript,TypeScript等等。这些都是不愿意学习JS,而又不得不使用JS的人发明的。一直以来的经验告诉我,有转换就有伤害!

JSX模板是HTML和JS共存,类似写XML语言,经过JSX编译,转换为JavaScript语言,想象一下,在深入使用之后,你肯定会爆出一句:这编译器怎么这么傻X,这怎么编译成这样!!

看过以上,相信你也明白了。ReactJS就是为简单型,展示型系统所设计,类似Facebook,AirBnB,性能是最重要的,而逻辑相对简单,表单操作更是少之又少。

ReactJS也仅仅面向纯互联网业务,企业应用使用成本太高,建议放弃。如果你考虑引入ReactJS,要再三思量,ReactJS是否匹配你的业务。

目前百度上多数ReactJS的帖子,前面说的头头是道!最后一定附加Demo,测试,研究等字眼!


呵 呵 呵

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读