2019年React学习路线图

之前我们已经介绍了2019年Vue学习路线图,而React作为当前应用最广泛的前端框架,在Facebook的支持下,近年来实现了飞越式的发展,所以,我们将在下文中介绍2019年React学习路线图,希望给想学React的开发者一些借鉴。

这就是2018年的React路线图。它非常全面,2018年剩下的时间可能不够你学会所有这些,但不要担心,所有的技术在2019年仍然有效。

图片来源:https://github.com/adam-golab/react-developer-roadmap/blob/master/roadmap.png

1. 基础知识

不管你要学习哪个Web开发框架或库,都必须掌握基础知识,如HTML、CSS和JavaScript,这三个是Web开发的三大支柱。

HTML

HTML是Web开发人员最重要的技能之一,因为它为网页提供了基本结构。

CSS

CSS用于设置网页样式,让网页看起来更好看。

JavaScript

JavaScript让网页具备交互性。React是基于JavaScript的,因此在学习React之前,你应该先了解JavaScript。

2. 通用的开发技能

无论你是前端开发人员还是后端开发人员,甚至是全栈工程师,都必须了解一些能够让你在编程世界中生存下来的通用开发技能。

学习GIT

你必须在2018年完全了解Git。尝试在GitHub上创建一些存储库,与其他人共享你的代码,并学习如何在你喜欢的IDE中克隆Github上的代码。

了解HTTP(S)协议

如果你想成为一名Web开发人员,那么了解HTTP绝对是有必要的。

我不是要你去阅读HTTP(S)规范,但你至少应该熟悉常见的HTTP请求方法,如GET、POST、PUT、PATCH、DELETE、OPTIONS以及HTTP/HTTPS的工作原理。

学习终端

虽然前端开发人员学习Linux或终端并不是强制性的,但我强烈建议你熟悉以下终端,了解如何配置你的shell(bash、zsh、csh)等。

算法和数据结构

好吧,这又是一个通用编程技能,成为React开发者不一定需要了解这些,但要成为真正的程序员,这是必备技能。

学习设计模式

就像算法和数据结构一样,成为React开发者并不一定要学习设计模式,但学好设计模式会让你变得更好。了解设计模式将帮你找到能够经受住时间考验的解决方案。

3.学习React

你必须学好React才能成为一名React开发者。学习React最好的资源是它的官方网站,但作为初学者,它对你来说可能有点难。

3.1 学习构建工具

如果你想成为一名专业的React开发者,那么你应该花一些时间熟悉一下你将作为Web开发者需要使用的工具,比如构建工具、单元测试工具、调试工具等。
 
以下是路线图中列出的构建工具:

包管理器:

  • npm
  • yarn
  • pnpm
  • 任务执行器
  • npm脚本
  • gulp
  • WebPack
  • Rollup
  • Parcel

顺便说一句,并非要学习所有这些工具,对于初学者来说,学习npm和Webpack应该足够了。在你对Web开发和React生态系统有了更多的了解后,你就可以学习其他工具。

3.2 样式

如果你的目标是成为React开发者,了解一些样式相关的知识只会有益无害。路线图中提到了很多CSS相关的东西,比如CSS预处理器、CSS框架、CSS架构和JS中的CSS。
 
我建议你至少学习一下Bootstrap,这是你经常会用到的CSS框架。

如果你想进一步学习bootstrap,也可以学习Materialise或Material UI。

3.3 状态管理

这是React开发者应该关注的另一个重要领域。路线图中提到了以下一些需要掌握的概念和框架:

  • 组件State/ContextAPI
  • Redux
  • 异步操作(副作用)
  • Redux Thunk
  • Redux Better Promise
  • Redux Saga
  • Redux Observable
  • Helpers
  • Rematch
  • Reselect
  • Data persistence
  • Redux Persist
  • Redux Phoenix
  • Redux Form
  • MobX

如果东西太多,我建议你只关注Redux。

3.4 Type Checker

由于JavaScript不是一种强类型语言,因此编译器不会捕获那些与类型相关的错误。
 
随着应用程序的增长,你可以通过类型检查捕获大量错误,尤其是如果你可以使用Flow或TypeScript等JavaScript扩展对整个应用程序进行类型检查。
 
React也提供了一些内置的类型检查功能,可以用它们帮你尽早发现bug。
 
由于Angular也使用了TypeScript,我认为可以同时学习JavaScript和TypeScript。

3.5 Form Helper

除了Type Checker之外,还可以学习像Redux Form这样的Form Helper,它提供了在Redux中管理表单状态的最佳方法。除了Redux Form之外,还有Formik、Formsy和Final。

3.6 路由

组件是React声明性编程模型的核心,而路由组件是应用程序的重要组成部分。

React Router提供了一组导航组件,这些组件可以通过声明的方式与你的应用程序组合在一起。

除了React Router之外,你还可以看看Router 5和Redux-First Router。

3.7 API客户端

在今天的世界中,你很少会构建独立的GUI,相反,你将有更多机会使用REST和GraphQL等API构建与其他应用程序发生交互的东西。

值得庆幸的是,React开发者可以使用很多API客户端:
 
REST

  • Fetch
  • SuperAgent
  • axios

GraphQL

  • Apollo
  • Relay
  • urql

Apollo客户端是我的最爱,它提供了一种使用GraphQL构建客户端应用程序的简便方法。Apollo可以帮你快速构建使用GraphQL获取数据的UI,并可以与任意JavaScript前端一起使用。

3.8 辅助库

这些库可以让你的工作变得更轻松。React开发人员可以使用很多辅助库,如下所示:

  • Lodash
  • Moment
  • classnames
  • Numeral
  • RxJS
  • Ramda

这些不一定都要学,路线图中的Lodash、Moment和Classnames是用黄色标注的,所以应该先从它们开始学习。

3.9 测试

测试是React开发者的一项重要技能,但经常被忽视,如果你想在竞争中保持领先,就要学习一些用于测试的库。这些库可用於单元测试、集成测试和端到端测试。
 
以下是路线图中提到的库:

单元测试

  • Jest
  • Enzyme
  • Sinon
  • Mocha
  • Chai
  • AVA
  • Tape

端到端测试

  • Selenium, Webdriver
  • Cypress
  • Puppeteer
  • Cucumber.js
  • Nightwatch.js

集成测试

  • Karma

你可以学习你想学习的库,但建议一定要学习Jest和Enzyme。

3.10 国际化

这是前端开发的另一个重要主题。你可能需要支持日本、中国、西班牙和其他欧洲国家的本地GUI版本。
 
 路线图中建议你学习以下技术,它们都很好理解:

  • React Intl
  • React i18next

这两个库都提供了React组件和API来格式化日期、数字和字符串,包括复数和处理翻译。

3.11 服务器端渲染

你可能会想,服务器端渲染和客户端渲染之间有什么区别。在使用客户端渲染时,你的浏览器会下载一个最小的HTML页面,然后通过JavaScript并将内容填充到页面中。
 
在使用服务器端渲染时,React组件是在服务器上进行渲染的,将输出的HTML内容传到客户端或浏览器。
 
路线图推荐了以下的服务器端渲染:

  • Next.js
  • After.js
  • Rogue

不过我建议学习Next.js应该足够了,Max的“ React 16 — The Complete Guide”也涵盖了Next.js的基础知识。

3.12 静态站点生成器

Gatsby.js是一个现代静态站点生成器。你可以使用Gatsby创建个性化的登录网站体验。它将你的数据与JavaScript相结合,并创建格式良好的HTML内容。

3.13 后端框架集成

React on Rails将Rails与Facebook的React前端框架(服务器渲染)集成在一起。它提供了服务器渲染,通常用于SEO爬虫索引和UX。

4.移动端

React Native正迅速成为使用JavaScript开发具有原生外观的移动应用程序的标准方法。
 
路线图中建议你学习以下库:

  • React Native
  • Cordova/PhoneGap

但我认为只要学习React Native就足够了。

5.桌面端

还有一些基于React的框架可用于构建像React Native Windows这样的桌面GUI,让你可以使用React构建原生UWP和WPF应用程序。
 
路线图建议使用以下几个库:

  • Proton Native
  • Electron
  • React Native Windows

它们都是进阶的内容,如果你已经掌握了React,可以看一下它们。

6.虚拟现实

如果你对构建基于虚拟现实的应用程序感兴趣,还可以了解以下像React 360这样的框架,让你可以通过React开发VR体验。如果你对这个领域感兴趣,可以进一步了解React 360。
 
英文原文:

https://hackernoon.com/the-2018-react-js-roadmap-4d0a43814c02

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章