以下纯属个人体验与意见,不喜勿喷!!
如果你打算进入这个IT行业,想做前端开发,你要做好的准备,因为要学的要懂得的实在不少。我一直主张兴趣是学习最好的老师,如果没有兴趣可言,这条路我相信不会走太远。当然有些人可能现在还很迷茫,不知道自己兴趣在哪,不知道自己真正喜欢做什么,就像现在我身边有很多同学,即将毕业,可依然不知道自己想要做什么工作,不知道自己适合做什么工作,如果你已经出现这种现象了,请你好好静下来,学着了解一下自己,好多人迷茫是因为从来都不了解自己,不了解自己适合做什么,我觉得了解自己最好的方式是在行动中、在做事中了解自己,所以在大学里,很多事情想做的一定要多尝试去做,在做事中你就会渐渐发现自己的优缺点,慢慢发现什么样的工作适合自己。
我记得我一开始并不是走前端路线的,我一开始是自己自学java的,本来想一直从事java方面的工作,后来做了几个月,发现自己并不适合,后台语言逻辑性比较强,而我的逻辑性向来不是很好。因为坚持了大半年,发现确实不适合自己,才转向逻辑性相对弱点的前端。很多事就是应该多去尝试,尝试多了才会发现自己适合什么。前端入门主要包括html,css,javascript,html是结构,css是表现,javascript是行为。因为之前学java,有看过韩顺平老师的java视频,在里面就接触了一些前端方面的基础知识。
前端入门很快,基本自己自学一下就可以自己写出一个静态页面。前端具体要学什么,我是一直主张先学个基础,然后在做项目中慢慢领悟成长,很多东西你现在学得, 不用的话,过不了多久就忘了,而且我总感觉有些东西只用在项目中才会体会到它的真正用处,所以多找老师、多争取机会做点项目,只有项目的实践和开发才会让你真正了解整个流程和技术是怎样的,现在我就详细说一下前端入门要学的一些东西:
1,Html+css可以直接看w3school(http://www.w3school.com.cn/)上的教程,边学边练,每章后还有小测试。之后可以模仿一些网站做些页面(这个很重要,多模仿一下比较复杂的网页,其实在很多公司就是这样,设计师把图给你,你要把图用代码写出来了,实现它的兼容性和交互效果,这里还涉及到一个“切图”的技术,可以了解一下怎么把一张图切好,用代码将它实现),真正在实践中做到学以致用,如果想看书的,可以看一下《 Head First HTML与CSS、XHTML(中文版) 》,这本书对于html+Css入门比较容易点。
2,现在html和css都已经升级到了html5,css3,所以仅仅学html+css是不够的,现在外面的公司基本都用html5和css3,这两个的入门我之前也是直接看w3c文档。Html5和css3移动的会用得更多,在pc上ie浏览器很多版本都不支持。
3,JavaScript:不是所有的网页都必须有js,但是要想实现一些超酷的功能和界面的时候,就需要涉及到js。关于javascript的学习,我推荐以下几本好书(这几本也是我之前在学习的时候,一位资深前端介绍的):
(1):《JavaScript DOM编程艺术》
看这本书之前,请先确认一下自己对Javascript是否有个基本的了解,应该知道if else之类的语法,如果不懂,先去看看我第(2)推荐的《Javascript高级程序设计》的前三章,记住看三章就别往下看了,回到《JavaScript DOM编程艺术》这本书上来。
学习Javascript用《JavaScript DOM编程艺术》来入门最好不过了,老老实实看两遍,看完了你就会对JS有一个大概的了解,整本书都围绕着一个网页效果例子展开,你跟着老老实实敲一篇,敲完之后,你会发现这个效果不是常在网页中看到么,发现自己也能做出来网上的效果了,嘿嘿,小有成就感吧。
(2):《JavaScript高级程序设计》
有的书是用来成为经典的,比如犀牛书;还有些书是用来超越经典的,显然这本书就是这种。书中章章经典,由浅入深,其中第6章,关于JS面向对象的解说,没有教程出其右。
如果有一场满分100分的JS考试,看了《JavaScript DOM编程艺术》能让你拿到20分,那么看完这本书,你就能拿到60分以上了。学完后,你会成就感倍增的,相信我(至少看两遍,推荐三篇,跟着书上的代码一行行的敲)。
学了以上这两本,你js基本可以实现你所想要的功能了,现在招原生js的程序员也很多,精通js,已经可以找到一份很好的工作了。
(3)《javascript权威指南》这本书可以当平时没事可以翻翻,这本书比砖头还厚,可以到网上下载电子档的,这本书写得很基础,有空可以看看的,我自己有买一本,把它当工具书。
下面这些书要当你有一定js的功底再看:
(4)《JavaScript语言精粹》和《高性能JavaScript》
《JavaScript语言精粹》和《高性能JavaScript》算是JS高级教程的补充,里面有一些内容和JS高级教程重复了,两本书可以同时看,都不厚,可以对前面所学的有一个很好的加强和巩固。
(5)《JavaScript DOM高级程序设计》和《JavaScript设计模式》
在吃透了前面所说的书之后,接下来两本书的顺序已经无关紧要了,《JavaScript DOM高级程序设计》(注意和《JavaScript 高级程序设计》相区别)和《JavaScript设计模式》,这两本都是重量级的书,能让你的JS技术上一个新的台阶;这两本书前者主修炼外功,后者主修炼内功,有点想乾坤大挪移和九阳神功的关系。
4,jquery,bootstrap和AngularJS:这3个是前端我常用的框架,前端的框架实在太多了,参差不齐,每个公司用的框架都不一样,不过这3个框架是很多公司用的,jquery是javascript封装好的一个框架,用jquery实现网页的动画效果,能减少原生js的编写,代码量也会减少很多。Jquery可以看《锋利的jquery》,这本书讲得很基础,也可以看一下w3c文档关于jquery的介绍来入门。
bootstrap是Twitter推出的一个用于前端开发的开源工具包,它比较好的是响应式做得很不错,而且引入它的.css和.js文件,就可以直接调用它的class,不用写太多样式,减少自己css的编写,而且网页的很多特效可以直接套用它的模块,实现的效果也很酷炫。Bootstrap可以从它的中文网上学:http://www.bootcss.com/ 它现在已经升级到bootstrap3.0的,它更针对的是移动端响应式的,现在移动端这么火,它也是被很多公司所用,所以建议一定要去这个框架,不过它的一个很不足的是不兼容ie8以下。
AngularJS这个框架很牛逼,这个框架建议等你有一定基础再学,至少有做过几个完整项目再学,你才会体会到他的强大,AngularJS可以去慕课网(http://www.imooc.com/course/list?c=fe)学,看“大漠穷秋”的视频。
5,Ajax:ajax是学前端不可少的技术,我之前是看了我同学发给我的几集视频,很适合入门,如果想要的话,请联系我。也可以看w3c文档关于ajax的东西,我个人觉得w3c文档很多都很适合入门。书的话可以看一下《Head Frist Ajax(中文版) 》
6,设计类:有些公司前端和设计分的很清楚,有些相对比较小的公司前端和设计都要我们自己做,所以有空看一些设计配色类的书,《配色设计原理》这本书讲得不错,《深入浅出Web设计(Head First Web设计)》这本书有空也可以多看看。Ps就算学不到很精通,至少基本的网页图片处理也要会一些。Flash现在有些公司不怎么用,游戏公司会用得比较多,普通的项目一些动画基本用代码实现,很少用flash。
7,用户交互体验:这个真的要等你有一定工作经验再来了解,前端这个职位本来就是位于后台与用户交互体验之间,所以既要学好前端的知识,也要了解一点后台的知识,还要了解用户交互体验,要跟这两者沟通合作好。
总之一句话,以前前端开发只是做一些很简单的特效什么的,但伴着 ajax 的兴起,随着 HTML5 以及浏览器的性能越来越高,前端的开发越来越复杂,以前在后端的事情现在会放到前端来,以便给用户更好的体验。
但是前端开发比起后台,要处理的逻辑代码要少得多,大部分逻辑都比较简单,比较难搞的是浏览器兼容,以及考虑浏览器解析执行的性能问题。但是并不是说前端的开发很容易,其实很多时候是,一件事情用前端开发有 N 种方法,要找到最好的方法是需要有良好的架构设计的。前端技术更新的速度比后台技术要快很多,很多前端框架更新得太快,而且也特别特别多,所以想从事这一行的也要做好准备,要不断学习学习再学习。。。
不过也不要怕,一开始最重要的是把html+css+JS学好,先把一个框架和样式搭好,再来实现它的 特效。原生的js如果觉得比较难的话,可以先了解一下基础,先学JQuery,再慢慢学原生js.
以上更多的技术是关于PC的,现在移动端的很火,有空可以多了解一下这方面的技术,bootstrap,jquerymoblie,phonegap,个人觉得jquerymobile各个方面都不如bootstrap.有空可以多学booststrap
别问我前端有没有前途,很多人在问这个问题,我不知道,我只知道如果你喜欢前端,那么我相信不管怎样都不会混得有多差。
别问我前端的工作好不好找,不管哪一职位,工作好不好找都是看你的水平。
别问我前端累不累,这世界就没有不累的活,但你感兴趣了,乐在其中,自然也不会感到累了。
别问我怎么才能快速学好前端,我只能告诉你:多看多练多动脑!
苦逼码农,且码且珍惜。。。
福利:
1,以上我所推荐的书都可以在这个网址上找到:
http://www.w3cfuns.com/forum.php?mod=forumdisplay&fid=139&filter=typeid&typeid=183
这个网站上前端方面的书基本都有,有电子档可以下载,有空可以看看。
2,最近慕课网(http://www.imooc.com/course/list?c=fe)很火,前端的一些东西也可以在里面看看,不过它里面的东西你最好有点基础再看
3,http://www.imooc.com/course/list?c=fe 这个网址里面有前端开发的知识结构,该学什么需要什么都可以在里面了解
4,多看一些招聘信息,看一些公司招人的要求,看他们的需求,知道公司想招什么人,需要什么技术,就可以多花点心思钻研一下某个方面的技术,这个可以帮助你有更好的方向和目标。
下面是我刚开始出去实习时,之前写的一些的工作感触和体会:
我是大三暑假就开始出来做前端工作,记得刚来公司时,是先熟悉项目产品,一般其他公司都是这样,新人刚来一个星期都是先熟悉一下公司的东西,自己一开始有点接受不了的是,项目经理跟我讲述公司产品运行环境和各种软件时,全都是用英文说的,所有的专业名词他们都是用英文说,当时很不习惯,还常常慢半拍,停了很久才知道他说什么。所以还是想跟你们说,多学点英语吧,多练练口语吧,多学点专业英语吧,不是说过了四六级,拿了四六级的证后就把英语丢掉,做我们这一行你会发现,其实很多技术书都是英文,可以在项目里出现某个bug,在百度经常搜不到,如果你英文还可以的话,用英文关键词在google里搜索,很多问题会得到解决,总之,多学点英语,对你绝对有益无害。
还没出来工作之前,在学校就一直很想能快点出来工作,总以为工作能多学到很多在学校里学不到的东西。也确实如此,工作是可以学到很多,但我还是很想跟那些要从事IT的你们说,还没工作之前还是多学点东西,把基础打好。不要总想着出来工作后再学,到时你们会发现其实真的很吃力,压力会很大,公司是做事的地方,它每天都有你要完成的任务,每天有一定的工作量,也不要总想着工作中有人会一步步教你怎么做,上司可能只会跟你说一下大概的思路,他想你做成的效果,其他的你自己琢磨,自己钻研,当然如果你做不出来,这个时候,你也一定要厚着脸皮去向同事或你的项目负责人请教,千万不要一直在那里死抠,因为怕到最后还是弄不出来,却因为你而拖了大家的总体进度。
我主要是负责前端的,所以如果想从事前端的人员,一定要把jquery,js学好,我记得刚工作里,我的工作任务都是跟jquery有关的,每天都要解决很多因为jquery引起的问题,需要写很多jquery代码,那时才真正理解了、明白了jquery的内涵。都知道jquery是javascript的一个优秀框架,所以网页里很多功能都可以用jquery来实现。所以一开始出来做前端实习的人,html+css+js这三样是你的基本功,也是你开始工作一定要用到。这三样里,html+css是最简单但同时也是最重要的,因为我们知道html控制结构,你搭建的网页结构好不好,可维护性好不好,直接取决你html是否写得好,写得巧,而css是网页的一个点缀,网页美不美观,用户体验是否舒服,取决你如何设置你的网页样式。而javascript,原生态的javascript比较难写,而jquery却很好的实现了我们网页需要的大部分功能,所以能不能写好jquery也直接影响了我们网页的可维护性,和用户体验效果。html代表了结构,css代表了样式,而js构成了行为,行为可以控制你的结构和样式,一个网页其实大部分都要用到js,所以一定一定要学好。
html+css+js都说是基本功,做前端当然不仅需要好这三样,还有很多要学习,前端位于“用户体验”与“后台”之间,所以做前端的朋友,不仅要学好前端的东西,如:设计美工,网页切片等等,还要了解用户对产品的体验,了解用户的心理,还要学一些后台的知识,如:jsp,asp.net,php等。建议多看看一些招聘信息,看看公司具体的一些技术要求。当然很多东西还是要慢慢积累,慢慢理解吸收成为我们自己的东西。
想做前端的朋友,对浏览器的兼容性也要多了解,如果有机会的话一定多实践一下。浏览器兼容性一直是做前端人员觉得头痛的事,我自己也深有体会。不过我也总结了一些经验。建议大家去学一下bootstrap,用它来写样式,不仅简单,它的兼容性真心觉得棒!只需要加几个js,就可以兼容基本浏览器,真的很不错!!
想做前端的朋友,还要学会巧用浏览器的console,如果你有用过它来调度过代码,我敢肯定你一定会爱上它。我以前是用Google浏览器和FireFox,现在发现ie11更好用,它的控制台里可以查看ie11以下的界面的兼容问题,还可以进行调试,有了这个就不用ietaste来测ie不同版本的兼容问题,可以真心觉得ie11的console很好用。很多代码你可以先在console里先试一下效果,结果是你想要的再在自己的代码里写。这是个不错的工具。其实每个做前端的人自己应该都有收藏一些用得很习惯、觉得不错的工具。。。