今天看啥  ›  专栏  ›  lucifer210

零基础的前端开发初学者应如何系统地学习?

lucifer210  · 掘金  · 前端  · 2019-09-15 05:25
阅读 219

零基础的前端开发初学者应如何系统地学习?

说实话,现在的前端大环境对初学者来说实在有点不友好,学习资料鱼龙混杂,良莠不齐,有质量很高的学习资料,也有谬论,前后不一,观点错误,或者讲述不清晰的。 更可怕的是质量低下的文章有时候更受欢迎,因此需要大家有很好的甄别能力,但这对于初学者来说实在有些困难,我在这里就来谈一下初学者如何少走弯路,并且系统性地学习前端。

兴趣是最好的老师

兴趣不管对于学习什么来说都是最好的老师。当然前端也不例外,如果你对这一门感兴趣,绝对会对你有很大的帮助。

关于如何培养兴趣,我提一点,你可以尝试去做一些小的“发明创造”,从而激发自己内心的“成就感”。这些小发明可以是一些小工作,小页面。你可以从开源社区,比如Github或者一些论坛,甚至自己的生活中收集一些创作素材。对于我来说,我就做过一个“前端开发工作流”的软件,“siri”, “小门神”等,从而带来成就感,提升自己的兴趣。

权威,权威,还是权威

其实技术越往上走,越会关注标准,关注协议等更上层和抽象的东西。而制定这些协议和标准的人往往都是世界上的“殿堂级”程序员,因此关注这些东西对于它们很重要,但是这对于初学者来说似乎还比较遥远。那么初学者如何对接“权威”呢?

刚次提到了网上的学习资料层次不齐。这对于入门学习来说是很不利的,就像童年时期对于整个人生的影响一样,入门阶段对于整个前端开发生涯的影响也是巨大的。这里我总结了以下三点:

  • 看一些权威的前端书籍。但是不太建议看太老的,毕竟技术的发展是很快的,以前非常经典的书并一定适合看了。这里我推荐两本书,一本是《你不知道的JS》,一本是《JavaScript语言精粹》。还可以看一些软工类的书,我个人比较喜欢的有《程序员修炼之道》等,算法类的有《图解算法》,《编程之美》等。其他的我就不一一赘述了,感兴趣的可以私信我。

  • 查权威资料。 这里我推荐两个,一个是MDN的文章,真的是又全面又专业,绝对是前端开发必备神器,哪里不会点哪里。 另外推荐一个Google开发者 , 里面干货很多,绝对权威。 这里顺便再安利一个软件,用来查文档什么的,简直如虎添翼,这个软件的名字是Dash,大家可以把自己常用的框架,类库等导进去,想用的时候直接查询即可,比去网上搜更快更高效,这个软件对于定制的支持度也是蛮高的,谁用谁知道。

(大家可以看到我下载了很多documentation)

(你可以直达某一个documentation搜索,也可以全局搜索,甚至可以搜goole和stackoverflow,是不是很贴心?)

  • 关注一些圈内权威人士。 我一般会关注几个圈内比较知名的人的知乎,微博和twitter。这是我关注的Github的权威人士列表。其实这些都是公开的,你也可以点开我的知乎,微博资料看我或者大佬们关注了谁。

做一些完整的简单项目

大家可以尝试做一些简单的项目,不要嫌简单。 在做的过程往往能发现很多问题,如果有问题那这正好是自己提高的机会。 如果你觉得很简单,也没有关系,你可以思考一下,我有没有可能做的更好?我能不能把这些东西封装起来,建立更高一层的抽象,做到DRY(Don't Repeat Yourself)。

你可以找个正式工作或者实习来做,也可以自己找一些项目来练手。 比较常见的练手项目是模仿某个网站,APP或者搭建自己的个人主页,博客系统等。

我已经掌握了前端开发的基本概念和技能,那么如何做到更进一步,继续成长呢?我相信这是很多大的疑问和困惑,下面我们就来看一下。

学习路线

你可能已经听过过大前端这个词,我这里不是劝退你哦。以下内容很高能,很多知识点不知道没关系,因为就算是工作了很多年了老手也很难了解其中的大半知识点。

我个人为了让自己巩固知识,同时也为了帮助他人,总结了大前端下的30多个主题内容,内容覆盖大前端的方方面面,虽然是从面试角度出发,但是你用来提升自己,查缺补漏也是很有用的。

多图预警:

拿《编程题》主题来说,我总结了各大公司常考的几十道题目。

对于其他主题也是一样,我都会尽可能地深度讲解和剖析,并且从多方面理解,我相信这是在市面上很少见的。

而且我还画了很多图,来帮助大家理解一些抽象的知识点。

项目地址: lucifer.ren/fe-intervie… 欢迎围观。

开源项目

实话实说,很多优秀的思想,规范,写法我都是从优秀的开源项目中学来的。 我会不定期阅读一些优秀的开源项目源码,也会参与到开源的工作中去,这给我自己带来了很大的进步。 不仅技术得到了提升,团队协作,规范化等也有了质的提高,另外还认识了一些优秀的人。四年来,我阅读了很多优秀的源码,也尝试自己去造一些轮子,并开源出去,回馈社区。

输入 + 输出

前面重点讲述的是输入。 其实学习的过程不仅仅是输入,输出也是很好的学习方法。 输出的形式有很多,比如写博客,讲给别人,开源出去让别人用等。 这其实是很好的学习机会,这种学习方法可以让你的成长速度呈指数型增长,因此千万不要小看它。 我会通过以练代学的方式来学习,比如我学习React,我会迅速看文档,然后写demo,最后我会自己《从零实现React》来内化它。

持续学习

选择了技术这条路,就要做好持续学习,每日精进的准备,跟上时代潮流是很有必要的。

  • 日报周报。 大家可以订阅一些前端方面的日报,这方面有很多,我自己也出了一款《每日一荐》, 每天推荐一个优秀的开源项目,优秀文章, 周一到周五我们不见不散。

  • 深度参与开源项目。 关于如何参与开源项目其实可以另起一篇文章了,这里不再赘述,感性的话,我会再写一篇文章,大家记得关注我就好。
  • 定期总结,技术输出。 我的习惯是对于学习的内容定期和不定期地进行总结。 比如最近我在总结的[《leetcode题解》](现在有18k+ ✨了)(github.com/azl39798585…),《大前端面试宝典》

千万不要觉得算法对前端不重要,算法,网络,操作系统属于基础,从事相关工作的都应该认真学习,打好基础才行。

关注我

大家可以关注我的公众号《脑洞前端》,公众号后台回复“大前端”,拉你进《大前端面试宝典 - 图解前端群》。回复“leetcode”,拉你进《leetcode题解交流群》

最后祝大家在前端的路上越走越远。




原文地址:访问原文地址
快照地址: 访问文章快照