一文解读React简介

开课吧开课吧锤锤2021-07-08 15:04

    React是一个起源于Facebook的内部项目,因为当时Facebook对于市场上所有的JavaScriptMVC框架都不太满意,所以索性就自己写了一套,用来架设Instagram。做出来之后,发现这套东西还蛮好用的,于是就在2013年5月开源了。

React简介

    在这里我们需要稍微注意一下库(Library)和框架(Framework)的区别,React本身是一个用于构建用户界面的JavaScript库,而我们平时所说的React框架其实是指的是React/React-router和React-redux的结合体,库和框架的本质区别体现在于控制权:

React简介

    「库」是一个封装好的特定的集合,提供给开发者使用,而且是特定于某一方面的集合(方法和函数),库没有控制权,控制权完全在于使用者本身;

    「框架」顾名思义是一套架构,会基于自身的特点向用户提供一套比较完整的解决方案,如果使用者选定了一套框架,那么就需要根据框架本身做出一定的适应。

    为什么使用React?

    这是一个非常有趣的问题,也让我困惑和苦恼。在笔者还在学校的时候尝试用Vue搭建了一套简单的博客系统,学习曲线平滑,让只会一些基础HTML/CSS代码的我通过一段时间学习就能够上手了,但是学习React以来,进展变得相对缓慢..一部分原因是因为React创新性的开发模式以及让我感到无所适从的JSX语法(菜才是原罪)。

    Vue作者尤雨溪在知乎上回答「Vue和React的优点分别是什么?」这个问题的时候提到:

    这里我可以大方地承认,如果多年以后要论历史地位,React肯定是高于Vue的。事实上,我作为一个开发者,也是由衷地佩服JordanWalke,SebastianMarkbage这样的,能从开发模式层面上提出突破性的新方向的人。

    React从一开始的定位就是提出UI开发的新思路。当年PeteHunt最开始推广React的时候的一句口号就叫"RethinkingBestPractices",这样的定位使得React打开了一些全新的思路,吸引了一群喜欢折腾的早期核心用户,并在这个基础上通过社区迭代孵化出了许多今天被React开发者当作常识的pattern。这是React伟大的地方,Vue里面也有很多地方是直接受到了React的启发。React敢做这样的尝试,是因为它是Facebook。这样的体量的公司,在infrastructure层面获得质的提升,收益是巨大的,而且Facebook的工程师们足够聪明又要靠工资吃饭,改变他/她们的习惯并不是什么问题。而对外推广,则是一种大公司才有的“改变业界”的底气。

    相比「为什么使用React?」的理由,称赞React的倒是明显更多一些(React确实是突破性的开发模式)。

    是因为React组件化的思想吗?不是。这跟多少跟微服务化之类的概念有点儿类似,这是属于一个时代对于计算机工程的思想进步,是对于团队协作提出的新一种成熟的解决方案,也是必然的一种趋势。当前流行的不管是Angular/Vue还是React,都天然的支持着组件化的概念。

    那是因为React性能出众吗?应该也不是。或许React刚出世时因为其独特高效的虚拟DOM设计,能够在前端江湖中平步青云,但是现在前端技术都逐渐地趋于成熟(我也不懂,我乱说的..),从很多地方的对比数据中,都能够看得到其实React与其他框架的性能差异并不是特别大。并且体现在平时的开发中,这样对比不明显的速度差异,根本没有多大的用处。

    还看到一种观点,说React适用于构建大型的项目。在React体系中天然有着许多的约束,以及一些不成文的约定,这就好像是SpringBoot中默认提供给使用者的一些姿势,天然就有很强的工程性,加上一些约定俗成的代码风格or规约,这就使得Java很适合一些大型的团队项目。但能不能开发大型的项目从来都是取决于人,而不是采用了哪种框架。

    所以比较令人信服的理由是:像Java一样,React体系足够成熟,社区也非常活跃,你遇到的问题很容易在网络上找到答案,并且也有一些成熟的实践or轮子用以解决各种各样的问题。而且React还有一个比较特别的特性是:你能够比较无痛地使用ReactNative开发原生移动应用。

    以上就是开课吧广场小编为大家整理发布的“一文解读React简介”一文,更多Web教程相关内容尽在开课吧广场Web教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
云开发实战特训营