likes
comments
collection
share

为什么选择 React

作者站长头像
站长
· 阅读数 11

从一个菜鸟,到现在能够非常熟练的使用 React Native 开发多款跨端应用,我和 React 相爱相杀已经超过七年了。

在这七年多的时间里,React 帮助我完成了 web 端,app 端,桌面端等非常多的项目。简单到一个普通页面的展示,复杂到一个独立的大型股票交易系统。可以说,React 伴随了我大半个职业生涯与成长历程。

因为对 React 的热爱,我的职业生涯过得非常顺利,在这短短的几年里,React 成为国内各大前端团队的宠儿,熟练地掌握 React 让我轻松得到了许多好的工作机会,很显然,在未来很长一段时间里,React 仍然将会是前端开发的主流选择。

对于每一个前端开发者来说,熟练掌握 React 并将其运用于项目实践,是一项应该掌握的核心技能。

React 开发思维引领时代

至少未来五年内,前端必定依然是组件化开发的五年。

组件化思维是高效开发的核心所在,也是目前各大前端框架都在推崇的开发思维。

在 React 官方文档中,专门以一章《React 哲学》向大家描述组件化思维的使用方式。这篇被许多人忽略的文章是 React 官方文档最精华的部分。

除了组件化开发思维之外,虚拟 DOM,JSX,高阶组件,render props 等等特性,都是 React 率先提出。

2018 年底,React Hooks 的强势推出,让组件化开发更加接近所见即所得,开发效率有了质的飞越,再一次确定了 React 在前端框架中的领导地位。

可以感受到,虽然 React 已经推出多年,但依然充满活力,React 的未来依然值得期待。

React 拥有完整的生态环境

从 Kotlin 和 Flutter 的推广路径来看,所有的前端方案,都在试图利用一套技术方案解决所有问题。

跨端方案对于企业降低团队人力成本有着非常大的吸引力。

无论是从企业用人成本的角度出发,还是从团队技术选型,项目维护成本的角度考虑,多端统一一套技术方案,一定是未来的趋势,这就是行业里常常被提及的大前端!

而 React,在大前端的道路上,已经走了 7 年。

无论是桌面端开发,还是 Android/iOS 开发,React 都有对应的成熟解决方案。

在国内,小程序是大前端不可忽视的重要一环。2019 年初,Taro 强势推出,弥补了 React 生态的最后一环,React 直接成为了跨端解决方案中,最成熟,最完善,也最值得优先考虑的技术体系。

React 具有超高的开发效率

Flutter 借助更为统一的 UI 组件,更高效的渲染速度进入跨端方案的竞争中来,刚出来时的火热程度,大有一统天下的气势。

却被 React Hooks 强势狙击。

组件化思维 与 React Hooks 完美结合,让 React 在开发效率上大幅度提高,这成为了所有不想加班程序员的首选。因此前端团队在做技术选型时,就不可能忽视 React Hooks 这一特性的存在。React Native 也再次拥有了无法被替代的理由。

市场紧缺 React 高阶人才

一个成熟的项目产品需要多个客户端的支持。我们熟知的有 Android、iOS、电脑桌面、Web 网页,以及最近几年非常火热的小程序。

不同的客户端的底层技术不一样,对于公司来说,如果每一个客户端都需要一个技术团队来支持,那么团队的用人成本就太高了。因此跨端方案一直是所有客户端解决方案追求的目标。

而 React 在跨端方案的成熟,让 React 成为了许多团队的必选技术栈。这也导致了市场对 React 高端人才的需求大大增加。

值得大家高兴的是,在如今的人才市场里,React 高级人才处于并将长期处于一个供不应求的紧急状态。我有维护一个微信群,群里有许多阿里、腾讯、字节跳动等大公司的朋友,每隔一段时间,他们都会在群里询问是否有会 React 的朋友想换工作。包括我自己出去找工作,也能非常明显的感受到,熟练掌握 React,能够更轻松的获得大量工作机会。

作为前端开发者,想要学习一门前端框架傍身,React 是最优选择,没有之一。

正确看待 React 的学习难度

想要学习 React 的朋友很多,但是自学 React 并非那么容易,特别是对于新人而言。那么和其它前端框架相比,为什么 React 更难学一点呢?

1. React 的本质在于传达一种开发思维,而初学者很难真正的领会到这一点,几乎所有人都没有觉得应该将 React 当成一种开发思维去学习,因此学习的效果不理想就是自然而然的事情了

2. React 的开发模式经历过好几个版本的更新与迭代,每一次更新,开发方式都是一次巨大的调整与升级,因此后来者会比较不适应,找到的资料与自己想要学习的内容可能匹配不上;

3. 因为 React 意在传达一种开发思维,把许多解决方案都交给了社区,因此官方文档中的内容并没有包含这些解决方案。在官方文档中,知识并不完整,其他重要内容诸如 Redux,React Router 等都需要额外学习,有的新人在刚开始接触时,甚至不知道有这些内容。也正是因为这些内容的缺失,新人朋友无法感受到一个完整的 React 项目应该长成什么样子,于是内心就滋生许多疑问与顾虑;

4. 一个完整的 React 项目无法脱离 webpack 而独立存在,因此学习 React 开发,webpack 的学习是必不可少的一环。可是如何学习 webpack 又是另外一个巨大的挑战。webpack 是什么?有什么用?它在项目构建的过程中扮演了什么角色?一系列疑问令人感到头疼;

5. 最近两年,TypeScript 成为了大中型前端项目的刚需。许多团队对于 TypeScript 的要求,成为了 掌握 React 的又一大难点。这让许多人犯了难。TypeScript 的学习并非一蹴而就,需要花费额外的时间与精力认真掌握。于是,在这种情况之下,React 的运用难度再一次增加;

而针对这些学习中的痛点,本书都会一一解决。让 React 的学习变得非常轻松。

学前技术储备

能够带领你进步的,不是比你强大很多的大牛,而是刚好比你走得快那么一步的脚印。你刚好需要,而我的文章里刚好有,这就是最大的学习效率。这也是为什么有的人回过头去阅读以前已经读过的书,反而觉得收益更大的原因。

那么也就意味着,想要保持最高的学习效率,在系统学习 React 之前,你需要有自己的积累与沉淀。

1. 扎实的 HTML/CSS 基础

2. 扎实的 JavaScript 基础,推荐阅读《JavaScript 核心进阶》