我是如何从零开始学习前端的

首先,我是个文科生,大学里只学过vb,以为计算机编程这东西太玄乎,不是我玩得转的。javascript

后来机缘巧合去作了一家互联网创业公司的HR,阅了上千份程序员的简历,面了上百个不一样水平不一样领域的程序员。跟程序员接触得越多,我越以为编程是一件颇有挑战、颇有趣的事情。尤为是前端这一块,结识了好几位前端大牛。其中一位告诉我,若是你真的感兴趣,那就先去写几个css

HTML静态页面
吧。

可当时我连个HELLO WORLD都不会写,更不知道HTML是个啥?前端

因而我花了一个晚上在慕课网上听了几节HTML+CSS基础课,次日我把w3school在线教程上HTML+CSS的API所有过了一遍后,随便在网上找了个简单又漂亮的网页,就开始仿写个人第一个HTML静态页面了。java

那几天一连模仿写了好几个HTML静态页面(写不出的地方我就直接打开chrome控制台,copy那部分的样式)。git

当时白天要上班,只有晚上有时间能够写HTML。这对写代码上了瘾的我来讲实在不痛快,恰好当时公司人员配置基本完整,个人招聘任务也能够告一段落了。我便暂时离开了公司开始了个人一个月前端自学生涯。程序员


这一个月我作了什么

看书github

通过以前的仿写网页页面的练习,我已经对经常使用的HTML标签、css样式比较熟练了,是时候开始系统的学习前端的各类技术了。但是,要从哪里开始呢?算法

最后我决定先沿袭我大学时的学习方式————考期的最后两周把要考试科目的教材从头至尾预习一遍再复习一遍。这种方式可让我在短期内了解这门科目包含的所有知识,而且发现这个科目的核心内容或可能的考点。chrome

因而,我在图书馆找来了JavaScript DOM编程艺术 (第2版) 这本书,花了3、四天先后通读了一遍,把其中的代码事例也完整的本身敲了一遍。编程

这本书真的很是适合初学者,通俗易懂,讲解详细,让我对javascript有了一个大概的了解,也让我更有自信。因而,我立刻又从图书馆借了另一本书————JavaScript高级程序设计(第3版),打算趁热打铁花一个礼拜的时间把这本书攻克下来。

然而最终我只读到三分之一的位置就读不下去了,由于我以为这本书不是很适合初学者。尤为是第六、7章的面向对象的程序设计、闭包、继承这些东西,虽然能读懂但彻底不知道为何要面向对象、为何要使用闭包、为何要继承?

对于js的初学者来讲,你的第一要务是把功能实现,把代码写出来,不要管代码优不优美,放心大胆的repeat yourself。等将来你看别人优秀的代码多了,天然而然会去模仿,不断改进本身的代码。

作题

读了这一又三分之一本书后,我开始寻找练兵场。不少人建议直接去github上pull request作项目。个人天,这对初学者来讲简直太难了,别人的代码连看都看不懂更别谈本身去写了。

因而,我去quora中寻找答案,很快我就发现了一我的Quincy Larson——teacher at FreeCodeCamp.com,顺着他的答案,我找到了他创办的一个前端开源社区————Free Code Camp。当初我关注这个社区的时候,它的关注者才几千人,截止到目前,它在github上已经有93661颗星星了...

我能够确定地告诉每个前端初学者,FCC是大家最佳入门前端的地方,没有之一。它为前端初学者设计了一套详细的前端进阶路线,而且每一步都提供详实的讲解和针对性的实践练习。具体的介绍FCC里面都有,基本上把它的全部课程都通关后在国内找份前端的工做不成问题。

FCC中对我最有用的部分是它的初级算法和中级算法这两部分,能够做为对你前面js语法学习成果的一个检验。全部题目都是没有答案的。

课程

写代码这活思路很重要,不过对初级前端来讲,熟能生巧更重要。因此接下来我混迹在各类国外网络前端学习社区:Code School、Code Cademy、Khana Cademy等等,把其中我能看懂的部分几乎所有看了一遍,代码也都敲了一遍,扎扎实实的巩固了几遍前期我学到的各类前端知识。

我真诚建议英语水平还能够的前端初学者不要去看国内的视频教学网站,都直接看国外的。

我真诚的建议理解能力还能够的前端初学者不要去参加任何前端培训课程,网上的优秀的资源多的都学不过来了,为何还要花钱去被填鸭式教育?高中还没被填鸭够吗?

我一直在作的事情

基本上作完上面三步我就去找工做了,最终去了一家创业公司,成了公司惟一的前端开发。我很是感谢这家公司CEO对个人承认,愿意接纳一个前端的初学者进公司,独立负责前端方面的需求。我很是感谢CTO对个人信任,放心让我本身去学习各类新的技术并运用到公司实际项目当中去。

下面的部分是我一直坚持在作的,它们对我过去一年多的成长起了相当重要的做用。

解惑

对初学者来讲,写代码的过程会遇到各类各样奇葩的bug,当你身边空无一人,本身又苦苦找不出bug的缘由的时候,谁能帮助你?

答案是: Stack Overflow 和 Google。

我能够很确定的告诉大家,你学习过程当中遇到的一切问题都能在google和stackoverflow上找到答案。若是找不到,说明你问题描述的有问题。

提及关于【学会提问】这个话题,我在stackoverflow上还被扎扎实实地上过一课。我在stackoverflow上提的第一个问题见下图:

而后这个话题就被踩了三次,获得的回答是这样的:

这位仁兄说的很对,这种找bug的提问不该该丢到stackoverflow来,本身仔细的去debug确定能找到问题所在的。之因此会提这种问题,只有一个缘由————懒,本身懒得花时间去debug。如今我偶尔有空上来segmentfault看一些提问,仍是会看到不少诸如『你能帮我看看哪里有问题吗?』、『不知道哪里错了』之类的伸手党问题。

我相信segmentfault问答版块的定位跟stackoverflow应该是差很少的,既奖励优质的回答,也鼓励优质的提问。因此下次当你有问题的时候,先尝试用一句通俗的话去归纳你的问题,再去google。没法用一句话通俗归纳出来的问题,不是一个好问题。拒绝作伸手党,从我作起。

前沿

当你越深刻地了解前端,越会发现它的美妙。这两年前端领域的发展很是快,各类有趣的新技术、框架、库层出不穷,有无数优秀的前端都在为前端技术在更广更深的领域变得更牛逼而努力。

虽然初级前端的基本功不好,但这并不妨碍你去跟踪前沿。千万不要关着门研读经典,前端技术发展那么快,不少过去奉为经典的东西如今可能已通过时了。

最好的跟踪前沿的方式就是订阅一些前端方面的周报,它们把一周前端各个领域的一些优秀的文章、教程、代码整理成一份周报,你要作的仅仅是从一堆标题的列表中找出标题你能看懂或者感兴趣的,然而再去读。

我先列出部分我订阅的周报:
Javascript Weekly
Mobile Web Weekly
HTML5 Weekly
订阅以上三个就足够了,必定要看国内的周报的话,码农周刊还能够。

这些周报里既有前沿的技术分享,又有大量优质的tutorial,很是适合前端的学习。你们看周报读文章尽可能读国外的,毕竟国内的文章不少都是翻译国外的,甚至直接抄袭...

若是还有富裕的时间,我还会去这几个网站上吸金...
网页连接
网页连接
网页连接

基本上天天早晨上班前,我就会大概浏览一下邮箱和以上三个网站,看到跟我最近作的工做相关领域的文章,用Readability直接send to kindle,然而空闲时间或者晚上再好好研读它们。

其实不少文章都是科普性质的,很是容易看懂,你们放开胆去看吧,看不懂也不要紧,有个大概的印象就好了。

宝器

最后我要祭出真正的大宝器,说实话我前端学习时间的30%都花在这个大宝器上了...

这个大宝器就是网页连接
我简直没法用语言来形容它对个人帮助有多么大。

对于初学者来讲最头疼的就是直接阅读API或者源码了,不少文档写的都不是给初学者看的。而youtube上有大量优秀的前端工做者上传了他们对新技术新框架新库的讲解视频,不只帮助了我弄懂API, 更重要的是让我看到这些API在实际项目当中到底应该怎么用。

推荐的频道:
LevelUpTuts
The New Boston
LearnCode.academy

除了以上几个tutorial性质的频道外,你们还要关注一些jsconf的频道。国外常常会举行js的研讨分享会,邀请的嘉宾都是在各个领域研究比较深的,他们分享的东西大可能是比较前沿同时有趣的东西,你们必定要按期跟踪一下。

conf相关频道:
JSConf
React.js Conf 2016

最后的坦白

最后我得认可这一次我又标题党了...无非是想吸引更多前端初学者进来,但愿你们都能少走一些弯路,也但愿那些从零开始自学前端的同窗更有勇气去面对本身的选择。

你们若是有任何问题,能够直接回复或者给我私信。

相关文章
相关标签/搜索