小姜哥的微信

大学生该如何自学前端技术(HTML CSS JavaScript)?

大学生该如何自学前端技术(HTML CSS JavaScript)?

这段时间面试了几个实习生,都是在校的研究生,有了一些想法,在这里记录一下。

据说很多学校都是不教前端编程的。还有好多学校是虽然教,但是只是用一两节课让同学们知道有HTML+CSS+JavaScript这么个东西,都入不了门,之后老师领着做东西,做法就是扒别人的网页,简单改一下。如果这些都是真的,那么前端技术就得靠自学了(也有可能花钱上培训班)。我是个文科生,我是自学的。

首先说这些年前端得到了足够的重视,并且有一些做后端的会转到前端。记得几年前有一个老大哥(游戏公司的技术总监)跟我说“以前大家不重视前段,做前端工资很低,只要脑子不是特别差就都去做后端了,现在借着HTML5的东风……“。看清楚了么?以前是脑子不好用的才去做前端。现在不一样了,前端得到了足够重视,待遇也相对较高,当然还是凭个人实力。

下面正式说如何学习前端,我觉得应该分两个阶段来学习。

第一阶段:读书,认真看基础知识,系统的看(可以边看边练习),不要去看那些不系统的网页或者去各种群里讨论最基础的问题。

需要说明的是基础是一切上层建筑的基石,没有基础只能算瞎胡闹,做东西全凭感觉去试验,东拼西凑拷贝别人代码。搭建空中楼阁很现实么?

有一个实习生跟我说他学习HTML+CSS+JavaScript是的资料是 http://www.w3school.com.cn/ (照搬国外的网站),这个网站确实在百度上很容易搜索到,但是他做得并不好,不适合系统的学习一门技术,作为新手应该看书。

如何选购书籍? 这是个技术活。讲个故事,讲完故事我会说如何选书籍。和我关系很好的一个大学老师给我讲他以前看了JSP一本书(好像是叫《从零开始学习JSP》,记不太清了,或者记错了)发现好多示例代码竟然是ASP的,据他说很多老师为了评职称可能随便到处找一些资料半个月攒一本书(大学老师评职称需要出书,出版社不给出的话竟然自己拿钱包销XXX册)。 这个故事告诉我们技术类书籍出的很多,很杂,国内很多书都是为了出书而出书(我不是故意埋汰国内出的书,有很多还是很棒的)。那么该如何防止被骗?很简单,买国外的,或者国外的翻译版,去京东或者当当这种网站搜索关键词之后按照销量排序,国外翻译的优先(英文原版一般都特别贵)。

书买回来了就要系统的读。再讲一个故事,我以前在一个创业公司干过,当时的一个同事刚毕业的时候是卖房子的(应该像链家那样),两年后他觉的自己不适合卖房子,听朋友说在互联网公司做技术很赚钱。趁着回江西老家过年在家围着火盆看CSS的书,用一个破笔记本边看边练,过完年找了一份工作,虽然不怎么好但是也算入行了,再换工作工资就高了。

其实我当时学习的时候也是看书,系统的看,静下心来看。当时用了大约一周到两周的时间看了《JavaScript高级程序设计(第2版)》的前八九章,感觉自己一下子就不一样了,比之前在网上东一耙子西一扫帚看的强多了。

另外学习基础的阶段不要好大喜功,不要急着非得要做出个什么东西来(试验的小例子除外),你还没达到那个程度(你还每到那份上),这个阶段你要做的就是看基础而不是做东西出来。当你把基础掌握好了自然会有融会贯通的感觉,也会体验思如泉涌的喜悦。还有小故事,有一个朋友学习JavaScript,在还没有看完JavaScript的数据类型就萌生想法要做一个东西出来,各种试验和找资料,最后的结果就是没做出来还耽误了时间。

第二阶段:学习框架。

框架,首先需要明确指出的是框架并不是什么新技术,框架是一些经验丰富的人运用基础技术封装起来类库,目的是为了提高生产效率或者是让一些水平差一些的人使用。好多公司都会有自己的内部框架,有一些做的好的内部框架会在open source和技术分享的感召下开源供大家免费试用,也有一些框架纯是为了卖钱而开发的(他们有些开源有些不开源)。这就是说在你实力够并且时间也够的情况下你也可以开发出来一个框架,以前我出去面试还有面试官问我是否自己开发过框架。

举一个简单的例子,好多公司产品线很多,但是他们都会用到一些表单、表格、图形图表等通用的组件,如果每个项目组都要自己开发的话即耗时又不统一,所以有一些公司就要成立一个公共组件组来为其他项目组提供公共组件,这就有点框架的概念。

再比如说JQuery,这个是个在前端牛A到不行的类库,他没有什么独创的技术,他也创不出来技术(新技术需要浏览器去实现),他做得事儿简单说就是屏蔽了浏览器的差异,让前端开发者统一起来按照他的规范来书写代码。

另外值得说的是不要迷恋于框架,框架会过时,比如曾经盛极一时强大到没朋友的YUM现在已经挂了。而你学到的基础知识还是有用的(有一些也会过时),而且如果你有扎实的基本功学习新框架也是非常容易的,你能读着人家的源码学习你还怕什么?我有这样的感觉,看文档理解不清楚什么意思(有时候也是因为文档不写),但是翻开源码一看就懂了。

前段时间在知乎闲逛,有一个人问了一个这样一个问题“对于一般程序员来说,怎么防止为了潮流技术 疲于奔命?”我是这么回的“我觉得我当时好好学的网络基础,网络协议,字符编码什么的现在还没过时。举个例子,别人在学习jQuery,你在认认真真的学习JS基础,现在Angular火了,你的JS基础依然很有用,你能读源码来解决问题。基础不好光追新那真的很累”, 竟然还获得了好多个赞。

如何选择学习哪个框架? 我觉得有两个标准,一是看用的人多不多,这个可以根据社区活跃程度或者招聘职位的多少来简单的分辨;另一个是看背后时候有强大的组织做支持,大公司支持的项目大多比小公司支持的要靠谱一些。当然如果你所在的公司要用,而你又没有离开的打算那么你就好好学吧。

未完待续

推荐文章

回到顶部