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

回想四年前我刚入行的时候,那时候不少人对于前端的见解是“切图,画页面,有个编辑器+浏览器就能干,门槛低”,如今已经彻底不是那样了,能够说如今的前端这个职业的门槛虽然仍是没怎么变,可是整个行业的门槛提高了,换句话说就是整个行业对于前端这个职位要求更高了,对于前端小白的需求量下降,对于高级前端的需求量还在上升,甚至是供小于求的局面。从市场经济学角度上讲你只有进入到高级级别,才能真正吃到行业的红利。 所以想要入行的朋友要先想清楚,不要头脑发热,若是你想清楚了,那么请继续往下看。 说实话,如今的前端大环境对初学者来讲实在有点不友好,学习资料鱼龙混杂,参差不齐,有质量很高的学习资料,也有谬论,先后不一,观点错误,或者讲述不清晰的。 更可怕的是质量低下的文章有时候更受欢迎,所以须要你们有很好的甄别能力,但这对于初学者来讲实在有些困难,我在这里就来谈一下 初学者如何少走弯路,而且系统性地学习前端javascript

兴趣是最好的老师

兴趣无论对于学习什么来讲都是最好的老师。固然前端也不例外,若是你对这一门感兴趣,绝对会对你有很大的帮助。前端

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

权威,权威,仍是权威

其实技术越往上走,越会关注标准,关注协议等更上层和抽象的东西。而制定这些协议和标准的人每每都是世界上的“殿堂级”程序员,所以关注这些东西对于他们来讲就是权威,对他们来讲就很是很重要,可是这对于初学者来讲彷佛还比较遥远。那么初学者如何对接“权威”呢? 刚才提到了网上的学习资料良莠不齐,这其实对于入门学习来讲是很不利的,就像童年时期对于整我的生的影响同样,入门阶段对于整个前端开发生涯的影响也是巨大的。关于如何初学者如何对接权威,我这里总结了如下三点: 看一些权威的书籍,包括前端基础,软件工程以及算法等。这里不太建议看太老的,毕竟技术的发展是很快的,之前很是经典的书并必定适合看了,尤为是初学者而言。这里前端方面我重点推荐两本书,一本是《你不知道的JS》,一本是《JavaScript语言精粹》。除了前端,你还能够看一些软工类的书,我我的比较喜欢的有《程序员修炼之道》等,算法类的有《图解算法》,《编程之美》等。其余的我就不一一赘述了,想要更多书单的能够私信我。react

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

(你们能够看到我下载了不少documentation)

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

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

作一些完整的简单项目

你们能够尝试作一些简单的项目,不要嫌简单。 在作的过程每每能发现不少问题,若是有问题那这正好是本身提升的机会。 若是你以为很简单,也没有关系,你能够思考一下,我有没有可能作的更好?我能不能把这些东西封装起来,创建更高一层的抽象(A New Level of Abstraction),作到DRY(Don't Repeat Yourself)。 接下来就是关于怎么找项目。 你能够找个正式工做或者实习来作,也能够本身找一些小项目来练手, 比较常见的练手项目有模仿某个网站,APP或者搭建本身的我的主页,博客系统等。作好了不只能够当敲门砖,说不定会收益很长时间呢。实在没有什么项目练手,这里再推荐一个网站,你能够再上面打怪升级。freecodecamp 如今你已经掌握了前端开发的基本概念和技能,那么如何作到更进一步,持续成长,作到高级呢?我相信这是不少人的疑问,下面咱们就来看一下。git

学习路线

你可能已经听过过大前端这个词,我这里不是劝退你哦。如下内容很高能,不过不少知识点不知道不要紧,由于就算是工做了不少年了老手也很难了解其中的大半知识点。 我我的为了让本身巩固知识,同时也为了帮助他人,总结了大前端下的30多个主题内容,内容覆盖大前端的方方面面,虽然是从面试角度出发,可是你用来提高本身,查缺补漏也是颇有用的。程序员

多图预警:github

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

对于其余主题也是同样,我都会尽量地深度讲解和剖析,而且从多方面理解,我相信这是在市面上不多见的。面试

并且我还画了不少图,来帮助你们理解一些抽象的知识点。算法

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

开源项目

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

输入 + 输出

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

我还会按期作总结,写文章,写开源项目,作分享等,目的一方面是影响他人,另外一方面是成长本身。

持续学习

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

  • 日报周报。 你们能够订阅一些前端方面的日报周报,这方面其实有不少,这里只推荐一个我常看的一个JavaScript周刊。我本身也出了一款《每日一荐》, 天天推荐一个优秀的开源项目,优秀文章, 周一到周五咱们不见不散。

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

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

关注我

你们能够关注个人公众号《脑洞前端》,公众号后台回复“大前端”,拉你进《大前端面试宝典 - 图解前端群》。回复“leetcode”,拉你进《leetcode题解交流群》

最后祝你们在前端的路上越走越远。

相关文章
相关标签/搜索