从一个 React 菜鸟,到现在能够非常熟练的使用 React Native 开发多款跨端应用,我和 React 相爱相杀已经超过六年了。
在这六年多的时间里,React 帮助我完成了非常多的项目,web 端的,app 端的,桌面端的。简单到一个普通页面的展示,复杂到一个独立的大型股票交易系统。可以说,React 伴随了我大半个职业生涯与成长历程。
因为对 React 的热爱,我的职业生涯过得非常顺利,在这短短的几年里,React 成为国内各大前端团队的宠儿,熟练地掌握 React 让我轻松得到了许多好的工作机会,很显然,在未来很长一段时间里,React 仍然将会是前端开发的主流选择。对于每一个前端开发者来说,熟练掌握 React 并将其运用于项目实践,是一项必须掌握的核心技能。
1
React 开发思维引领时代
至少未来五年内,前端必定依然是组件化开发的五年。组件化思维是前端高效开发的核心所在,也是目前各大前端框架都在推崇的开发思维。
在 React 官方文档中,专门以一章《React 哲学》向大家描述组件化思维的使用方式。这篇被许多人忽略的文章是 React 官方文档最精华的部分。
除了组件化开发思维之外,虚拟 DOM,JSX,高阶组件,render props 等等特性,都是 React 率先提出。
2018 年底,React Hooks 的强势推出,让组件化开发更加接近所见即所得,开发效率有了质的飞越,再一次确定了 React 在前端框架中的领导地位。
可以感受到,虽然 React 已经推出多年,但依然充满活力,React 的未来依然值得期待。
2
React 具备完善的全套解决方案
从 Kotlin 和 Flutter 的推广路径来看,所有的前端方案,都在试图利用一套技术方案解决所有问题。
跨端方案对于降低团队人力成本有着非常大的吸引力。无论是从企业用人成本的角度出发,还是从团队技术选型,项目维护成本的角度考虑,多端统一一套技术方案,一定是未来的趋势,这就是行业里常常被提及的大前端!
而 React,在大前端的道路上,已经走了 7 年。
无论是桌面端开发,还是 Android/iOS 开发,React 都有对应的成熟解决方案。
在国内,小程序是大前端不可忽视的重要一环。2019 年初,Taro 强势推出,弥补了 React 生态的最后一环,React 直接成为了跨端解决方案中,最成熟,最完善,也最值得优先考虑的技术体系。
3
React 具有超高的开发效率
Flutter 借助更为统一的 UI 组件,更高效的渲染速度进入跨端方案的竞争中来,刚出来时的火热程度,大有一统天下的气势。
却被 React Hooks 强势狙击。
组件化思维 与 React Hooks 完美结合,让 React 在开发效率上大幅度提高,这成为了所有不想加班程序员的首选。因此前端团队在做技术选型时,就不可能忽视 React Hooks 这一特性的存在。React Native 也再次拥有了无法被替代的理由。
4
市场紧缺 React 高阶人才
一个成熟的项目产品需要多个客户端的支持。我们熟知的有 Android、iOS、电脑桌面、Web 网页,以及最近几年非常火热的小程序。
不同的客户端的底层技术不一样,对于公司来说,如果每一个客户端都需要一个技术团队来支持,那么团队的用人成本就太高了。因此跨端方案一直是所有客户端解决方案追求的目标。
而 React 在跨端方案的成熟,让 React 成为了许多团队的必选技术栈。这也导致了市场对 React 高端人才的需求大大增加。
值得大家高兴的是,在如今的人才市场里,React 高级人才处于并将长期处于一个供不应求的紧急状态。我有维护一个微信群,群里有许多阿里、腾讯、字节跳动等大公司的朋友,每隔一段时间,他们都会在群里询问是否有会 React 的朋友想换工作。包括我自己出去找工作,也能非常明显的感受到,熟练掌握 React,能够更轻松的获得大量工作机会。
作为前端开发者,想要学习一门前端框架傍身,React 是最优选择,没有之一。
5
正确看待 React 的学习难度
想要学习 React 的朋友很多,但是自学 React 并非那么容易,特别是对于新人而言。那么和其它前端框架相比,为什么 React 更难学一点呢?
-
React 的本质在于传达一种开发思维,而初学者很难真正的领会到这一点,几乎所有人都没有觉得应该将 React 当成一种开发思维去学习,因此学习的效果不理想就是自然而然的事情了;
-
React 的开发模式经历过好几个版本的更新与迭代,每一次更新,开发方式都是一次巨大的调整与升级,因此后来者会比较不适应,找到的资料与自己想要学习的内容可能匹配不上;
-
因为 React 意在传达一种开发思维,把许多解决方案都交给了社区,因此官方文档中的内容并没有包含这些解决方案。在官方文档中,知识并不完整,其他重要内容诸如 Redux,React Router 等都需要额外学习,有的新人在刚开始接触时,甚至不知道有这些内容。也正是因为这些内容的缺失,新人朋友无法感受到一个完整的 React 项目应该长成什么样子,于是内心就滋生许多疑问与顾虑;
-
一个完整的 React 项目无法脱离 webpack 而独立存在,因此学习 React 开发,webpack 的学习是必不可少的一环。可是如何学习 webpack 又是另外一个巨大的挑战。webpack 是什么?有什么用?它在项目构建的过程中扮演了什么角色?一系列疑问令人感到头疼;
-
最近两年,TypeScript 成为了大中型前端项目的刚需。许多团队对于 TypeScript 的要求,成为了 掌握 React 的又一大难点。这让许多人犯了难。TypeScript 的学习并非一蹴而就,需要花费额外的时间与精力认真掌握。于是,在这种情况之下,React 的运用难度再一次增加;
而针对这些学习中的痛点,本书都会一一解决。让 React 的学习变得非常轻松。
6
学前技术储备
能够带领你进步的,不是比你强大很多的大牛,而是刚好比你走得快那么一步的脚印。你刚好需要,而我的文章里刚好有,这就是最大的学习效率。这也是为什么有的人回过头去阅读以前已经读过的书,反而觉得收益更大的原因。
那么也就意味着,想要保持最高的学习效率,在系统学习 React 之前,你需要有自己的积累与沉淀。
- 扎实的 HTML/CSS 基础
- 扎实的 JavaScript 基础,阅读过我的《JavaScript 基础进阶》最好
推荐阅读:关于如何学好 JavaScript,我写了一本书
网友评论