因公司业务需要,近半年都在着手开发reactNative应用,在此记录下学习路径,希望对想入门reactNative开发的开发者有帮助,个人觉得如果没有实际业务驱动,个人驱动力又不足的话,很难靠自己写demo坚持的学习下来,在学习的过程中,我总结了三座大山:
- 环境搭建(不要笑,搞不定环境真的很烦人)
环境搭建建议上ReactNative中文网,在学习的初期,这个网站可以给你很多的帮助,翻译了大部分文档
IDE我刚开始使用的是WebStorm,比较省心,后来尝试了[VSCode] (https://code.visualstudio.com/download)就回不去了,推荐这两个
还需要理解RN的开发模式,reactNative只是桥接原生的中间层,debug模式下本地会起一个默认端口为8081的node服务,负责把js代码打包传输给native端运行,这个刚开始会爬坑,比如端口占用啦,node服务没起来运行不到js代码报错之类,release环境可以本地打包成bundle包内置在native端,或者远程下发到端执行 - 掌握框架:React/ReactNative
框架的使用建议可以结合官方文档和reactNative中文网结合着学习
框架掌握是重中之重,在此并不是鼓吹只学框架,不看原理,在初期掌握框架的使用是很重要的,可以快速做出应用,比较容易坚持下去,理解框架基本原理,比如理解setState的异步和render的机制,写程序的时候就会规避很多不必要的渲染操作,提高程序的性能 - 语言关:JavaScript
语言的学习我觉得是个循序渐进的过程,基础语法掌握以后,可以逐渐做一些实践,写写小应用,给自己正向的反馈,api的部分就是边查js标准库边使用,熟能生巧,标准库可以看阮一峰老师的JavaScript 标准参考教程和MDN-JavaScript 标准库,同时ECMAScript 6 入门也是必经之路
以上是我大致的学习路径,此外还有CSS,HTMl,TypeScript,Redux框架等其他知识都需要一一去点亮,实践过程中还会遇到一些以前没接触过前端类库,比如loadsh,Moment.js,每一方面深入学习都需要许多精力
最后附上我在学习redux时写的demo,一个简单的计数器