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

小姜哥
博客专家认证
2015-12-07 03:38:51
大学生该如何自学前端技术(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基础依然很有用,你能读源码来解决问题。基础不好光追新那真的很累”, 竟然还获得了好多个赞。

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



未完待续

本文首发于姜哥的墨迹技术博客(blog.mojijs.com)。
本文地址为http://blog.mojijs.com/post/178.html(blog.mojijs.com/post/178.html)。更多精彩请关注原文。
...全文
1198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaofanren 2016-10-26
  • 打赏
  • 举报
回复
我之前学的时候是模仿其他的网站,级的当初写了一个搜狐的首页出来,多模仿就会了
shimingliang 2016-10-08
  • 打赏
  • 举报
回复
我倒是觉得,基础不重要。。。 此不重要,非彼不重要。。因为基础太难了。。甚至很多很有经验的程序员,基础可能也不会很好,关键是,书上所谓的基础,大多是很全的,而这些要全用上,很难。 我的看法是,一个字,玩。 我觉得以学习为目标去学习,没有出路,就算有,这条路绝对不爽。 只有以其他目标,喜欢的目标,出于兴趣,或出于项目作品,或出于就业,效果会比以学习为目标好很多,而且这条路会让你很爽。 以学习去学习,大多会很坑,因为我学习这个,不为什么,就是学习,我读了书,看了视频,我花时间学习了,这个“学习”真的太缥缈了。 而以其他目标,大多会很有效果,立竿见影,我为什么要学习这个?我不学行不行?我就不学。我一整天都没有学习,我只是喜欢,玩了一整天,我看书是为了看看有没有实用的技术,等等。 让学习具有最直接的目标,才会有效果。。那些逼自己学习,一学学几年行尸走肉一般,只是骗了自己。
lf1438042980 2016-10-07
  • 打赏
  • 举报
回复
写的挺好的,解决了我的疑惑
xusy_ 2016-04-28
  • 打赏
  • 举报
回复
我是一名大三的学生,想自学前端,可不可以推荐几本书啊?比较基础的,谢谢
HelloBitches 2016-01-15
  • 打赏
  • 举报
回复
引用 3 楼 zhoumeisong1 的回复:
写的很好,受益良多。另外能不能麻烦您给推荐一本学习JS的书籍,初学的。
javascript dom编程艺术
  • 打赏
  • 举报
回复
写的很好,受益良多。另外能不能麻烦您给推荐一本学习JS的书籍,初学的。
qq_32347719 2016-01-15
  • 打赏
  • 举报
回复
weixin_30007997 2015-12-07
  • 打赏
  • 举报
回复
写的 很不错
小姜哥 2015-12-07
  • 打赏
  • 举报
回复

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧