随着互联网的普及,技术的发展也是日新月异。作为一名程序员,如果只会一种编程语言显然不能够满足市场需求。因此,快速学习各种新技术、新语言应该成为程序员必备的能力。
今天聊聊我是如何快速入门React Native的,希望借此帮助朋友们提升自己的学习能力。毕竟,我们都是有方法论的人,我会在大家的武器库里新增两件武器,在认知体系里升级两个认知。
先说说什么是React Native。它于2015年诞生于Facebook,为开发者带来一套跨平台、动态更新的JavaScript框架。口号是:Learn once, write anywhere: Build mobile apps with React
。这意味着,我们学会了React Native可以同时为iOS和Android两个平台开发业务逻辑几乎无差别的两个App。
还是不懂这是什么?没关系。因为这并非重点,重点是,我们如何学习新知识。
十步学习法
我在去年阅读了一本书,叫做《软技能·代码之外的生存指南》,这是一本非常棒的书,看标题,似乎是写给程序员看的。然而,书里没有提到一行代码,它的受众并没有局限于互联网从业者,而是所有渴望进步的人。书中有一个非常厉害的学习方法论,叫做十步学习法,让我印象深刻。
第一步:了解全局
万事开头难,需要有全局观:React Native可以做什么?不可以做什么?需要什么开发环境?使用哪些IDE方便开发且交互友好?原来React Native官方提供了非常多的常用组件能够满足日常开发需求;但是如果需要调用平台的硬件资源时,比如启用摄像头,地图定位,陀螺仪等,并不太方便,离不开原生方法的调用;原来它是基于React的,依赖于Node开发环境,需要使用命令行工具方便快速调用,因此我们需要安装Node,需要安装官方提供的命令行工具;原来常用的编辑器都可以用来进行开发,那就挑选自己喜欢的咯,比如我喜欢用Atom和Sublime。
……
当我搞清楚了这些问题后,会对React Native有了一个全局的认识。
第二步: 确定范围
集中精力明确自己到底要学什么,比如学习React Native基础知识,可以了解创建iOS和Android App需要哪些知识和步骤。
第三步: 定义目标
定义可以量化的目标。这次我的入门目标是完成公司项目中一个模块的React Native实现。
第四步: 寻找资源
大量收集各种资料。在网易云课堂、慕课网、简书、极客学院等网站搜寻各种学习资料。具体细节使用Google搜索相关博文。
第五步: 创建学习计划
这一步可以理解为自己写书时候的大纲。比如我给自己创建的学习计划是用50个小时学习React基础,用20个小时学习与Native的混编,用15个小时学习热更新,最后用20个小时来实现功能。每天抽取约3小时投入其中。
第六步: 筛选资源
知道了学什么以及按照什么顺序学,那么就要决定用哪些资源,筛选出最有价值的资源。我推荐的资源有:
- 官方文档
- 慕课网:ReactNative基础与入门
- 慕课网:React Native开发双平台GitHub App
- CrazyCodeBoy博客:http://www.devio.org
我的筛选理由是:
- 官方文档权威、文档全面,支持修改演示代码预览执行结果
- 英文不太好的可以学习慕课网ReactNative基础与入门课程,内容简单易懂,实操性强
- React Native开发双平台GitHub App课程是实战项目,可以让我们比较深入的学习使用React native
第七步: 开始学习,浅尝辄止
快速学习基础知识,立刻开始实际操作。如果我们一直学习却不去实践不会有很快的进步的,当我们有了开始练习的开发环境的时候,立刻去学习。遇到不不懂的问题,不要着急,先跳过,坚持看完。
第八步: 动手操作,边玩边学
这一步没有任何规则,可以做任何你想做的事情。比如这里我会写各种好玩的组件,每完成一个组件就会有成就感,就会感觉有趣。
第九步: 全面掌握,学以致用
这一步你要用好奇心来驱动学习。当我们掌握到一定的程度,就不在满足于写一个小功能了,而是想做出有用的产品。不是么?
第十步: 乐为人师,融汇贯通
“你告诉我的,我都忘了。你教会我的,我都记得。让我乐在其中,我就一定能学会。” 这一点一会儿会再聊到。
MAKE
至此,我使用的学习方法论介绍完了吗?其实并没有,我的核心学习方法论是MAKE
。这是个关于“速成”方法论。然而,我理解的速成并非“迅速成功”,而是“快速入门”。速成绝无可能,但是快速入门不仅绝对有可能,而且还绝对必要。
MAKE: Minimal Actionable Knowledge and Experience
意思是:
最少必要知识
想要获得某项技能的时候,一定要想办法在最快的时间里,摸索清楚最少必要知识(MAKE)都有哪些?然后迅速地掌握它们,在那一瞬间,任何人都完成了“快速入门”。
那么,学习React Native这件事的MAKE集是什么呢?我总结出了三点:
- React
- Components
- 会查文档
React是基础知识,我们需要掌握其中的每个概念。当我们了解了React基础之后,就可以学习如何写Components了,学会写各种Component,就学会写App页面了,因为这些页面都是由各个Component组成的。
一旦我们掌握了前两个MAKE,剩下要做的就是多练习了。练习过程中遇到问题最重要的是要会查文档,比如查官方Component的用法,官方接口如何使用,遇到问题会使用Google搜索等。这个MAKE主要是为了提升我们解决问题的能力。
付费就是捡便宜
学习方法论说完了,但是在执行的过程中可能会有一些疑问。我搜集到了很多学习资源,该如何选择呢?事实上,很多课程不成体系。事实上,付费的课程是比较好的。事实上,付费就是捡便宜!因此,我花了500元左右买的慕课网上的付费课程。
我的付费观念能够转变成这样是因为我吃了很多免费的亏。吃的那些亏让我明白,牛人的认知差异真的会比我们大的多,他们的认知会让他们的行动很积极且正确。想要学习新的知识,就应该找那些比自己牛的人,跟着他们学肯定是捡便宜。
教是最好的学
这是一个绝招。很多时候,我们自认为学会了某一个技能,其实不一定学会了!不信,你自己尝试将他们写出来,很有可能你的脑子里一片空白,什么都写不出。如果你能将自己所学讲给别人听,说明确实是理解了,至少说明逻辑是清晰的。我的做法是,当我觉得入门了React Native的时候,在公司部门内部进行一次分享。这么做,确实明智,加深了我对这个技能的理解。
十步学习法和MAKE方法论是两个非常强大的武器,配合两个妙招,几乎可以搞定所有技能的学习。值得你一试!