很多读者经常问我: 恺哥, 我怎么样才能进阶前端呀? 能推荐一些资料嘛?
首先我们定个基调, 这里的进阶指的是让自己成为厉害点的人, 能够找工作不难的人, 相信大家都是想成为这样的选手吧~
其实大部分情况下你多学会了一门框架 / 库的使用, 或者多会了一门语言, 确实能让你做的事情更多了, 但是离你真正实现技术进阶还很远. 当然不是说多学技术就没用了, 而是说如果只是想靠多学点框架 / 库从而成为牛逼的人的这条路在我看来是错误的.
技术栈广泛只是其中一个组成因素, 你还需要其它的一些能力来共同帮助你进阶.
不要把自己限死在前端
经常看到很多读者说, 我一个搞前端的, 为什么要学操作系统, 算法, 数据结构等等?
如果你只是画个页面确实不需要学, 或者说大部分前端工作也并不需要这些能力. 但是如果你的目标是进阶, 这个必然是需要的. 无论是面试需要还是提升自己的编码能力或者技术栈层面的扩大亦或者与厉害的人交流, 或多或少都需要一些这方面的能力.
你可以把它优先级放低, 但不是视而不见听而不闻, 以为自己是个前端就高枕无忧, 无须学习它们了.
多会点技术是不够的
多会点技术是需要的, 但是是远远不够的. 这段时间学个 React, 下次又学点 Node. 确实你又多学会了两门技术, 但是处于会用的阶段是不够的.
在你学会 / 熟悉一门技术以后, 你应该转而去了解为什么它要这样设计, 它这样运行的可能原理是什么? 这里不是在推荐大家去阅读源码, 其实我一直不怎么推荐大家二话不说就去看源码.
读源码不是件简单的事情, 半途而废基本也是浪费时间. 除非你真的有需求, 需要借鉴它的思路造一个东西, 或者真的想去了解一部分的功能是怎么实现的, 否则真的没多大必要去硬啃源码.
更推荐的是读读别人总结的文章, 自己试着去思考或者实现一部分的 API, 这才是笔者更推荐的做法, 这样也能让你掌握的更好.
软实力
软实力也是需要同步提升的一块, 这部分更多的算是通用能力, 无论你用什么语言写代码, 都是可用的.
以下是笔者认为的一些有必要的软实力, 排名有先后:
能上谷歌的网络环境 (我也不知道怎么上)
起码能通过翻译软件辅助完成英文阅读
会通过谷歌搜索问题, 尽量使用英文搜 (不知道怎么组织语言就翻译出来), 这样你能获得更好的答案
学会抓关键字, 这个算是搜索问题的能力
更好的编码 / 设计能力. 这方面就需要多读点大部头了, 比如重构 / 架构设计方面的书籍.
总结
进阶不是靠着几本书, 几个视频就有了.
扩充技术栈 + 深入学会的东西 (多想想它们为什么要这样设计, 实现)+ 不把自己限死在一个领域 + 起码具备软实力其中的三点 = 进阶.
来源: http://www.jianshu.com/p/b400ea22d45a