最近看了一篇文章 在 2016 年学 JavaScript 是一种什么样的体验?。看完之后真是深有体会。以前上大学的时候觉得前端比较简单,最近入坑之后发现东西真的很多。
各种眼花缭乱的框架,让很多人患上了选择困难症。网上诸多类似的提问
Angular,React,Vue学哪个好?
jQuery会过时吗?是否还需要学习?
这两年市场上的 Hybird App、Web App 越来越多,不少公司看上了 一套框架,多种平台 的优点,转而让原 iOS、Android 的员工去学习相关知识。作为一个 iOS 开发,我也是这样入坑的。在维护 iOS 旧的原生项目的过程中,我需要尽快地掌握前端相关知识,好为公司开发新的 Web App。
强迫使用新东西的过程是痛苦的,会有一种对于陌生事物的排斥。我也在告诉自己,多学点东西是好的,不要逃避。大概讲一下我学习的过程吧。
最初,我花了一周时间看完了一个网上的前端教学视频,并把视频中的项目代码敲一遍,使用笔记软件做上笔记。买了一本《JavaScript DOM 编程艺术》在家看。公司旧项目需要用 MUI 替换部分原生界面,并使用 Cordova 和原生进行交互,我边学边做慢慢也习惯了。
后来新项目确定要用 ionic2 来进行开发。我主要在官方文档,业余看了《图解HTTP》、《Angular 权威教程》、《JavaScript 高级程序设计》。也在网上看了一些 Promise、Rxjs 的电子书。慢慢的也算是能用 ionic2 进行一些开发工作了。
在网上看到过一句话,现在前端的技术栈,不是一个新人能掌握的了的
。层出不穷的技术让浮躁的心静不下来,总感觉要学的东西多的让人绝望。这种感觉很不好受,但并不是我们放弃的理由。有的时候我也经常推迟自己的学习计划,因为人容易沉浸在自己心里的舒适区。
我们总会找到借口来安慰自己的拖延,比如 我太累了需要休息、我不在状态、我还没做好充分准备等等。然后就会自己接受自己的安慰,理所当然的跑去休息、玩游戏。人是好逸恶劳的,其实这些都属于身体的一种保护机制。我们如果想强迫自己做一些事情,需要一些方法来控制自己。
下面分享一点学习经验,包括但不限于编程。
制定短期、可量化的目标
为什么玩游戏这么爽,学习总学不进去,看代码这么心烦。玩游戏爽是因为他总会给你一个反馈,比如你杀掉这个怪得到 50 经验;你通关了拿到了 3 星评价等。所以我建议把学习计划拆成一些小目标,不要出现这些时间过长或者模棱两可的计划。如:
- 3 个月内入门前端
- 掌握 Angular 框架
这种目标根本无从下手,前几天兴致满满,后面马上就扔一边了。我们应该这么做,举个例子:
- 我有一套前端视频,每天看两集
- 学习 React Native 官方文档,每天看两个章节
- 阅读一篇博客,并把示例代码再敲一遍
劳逸结合
很简单,比如你可以告诉自己。今天的计划完成后,我马上去玩 LOL、Dota2、王者荣耀等。人不是机器,是需要娱乐的,天天看鸡汤打鸡血,反弹的时候会爆发极大的厌学、不想上班的情绪。
使用笔记软件、写博客
有道云笔记、印象笔记、OneNote 都是不错的笔记软件。把自己的计划写在上面、把常用的东西记录下来、把你学到的知识写在上面并按层级划分成体系。也许你会喜欢上记笔记。
如果学到了知识,把自己的东西写成博客分享出来,也是一件很棒的事情。不用怕写的东西没人看,也许就帮助到其他人了呢,没人看就当做云备份了哈哈。
多写多练
思而不学则殆,只看文档和视频绝对不可取,一定要多写代码、多写代码、多写代码。就算是简单的代码,多写慢慢都会有收获。有一些不理解的地方,写多了也许哪一天就突然顿悟了。
最后
有的朋友会觉得,我已经浪费了这么多时间,现在努力还来得及吗?送给你一句很常见的话。
种一棵树最好的时间是十年前,其次是现在。