自从接触网站开发以来到现在已经有六个年头了,今天偶然整理电脑资料看到当时为参加系里面一个比赛而做的第一个网站时,勾起了在这网站开发道路上的一串串回忆,成功与喜悦、烦恼与纠结都历历在目,感慨颇多。在此与大家分享,希望对初学Web前端的各位童鞋来说有所帮助。欢迎各位吐槽、拍砖。
先从大家学习上的一个误区开始谈起。
前端开发是一个近几年兴起的新兴行业,所以远没有电子商务那样成熟的课程体系,大学内也没有完整的前端课程体系,所以学习前端在国内无非就是培训,以及自学。
培训是针对那些有条件的人来说,很多小伙伴更喜欢的是自学。但是一个人自学毕竟力量是有限的,为了让想学习的人可以更好的学习,给大家推荐一个裙,前面是6 5 7,中间是一 3 七,最后面就是九 零 六,这里有很多想学习的人和你一起交流,也有大牛每天晚上免费教学,想要学习的人都可以加入我们,但是我们只欢迎想学习的人,不是来学习,随便看看的就不要进了。
Web前端的学习误区
网页制作是计算机专业同学在大学期间都会接触到的一门课程,而学习网页制作所用的第一个集成开发环境(IDE)想必大多是Dreamweaver,这种所见即所得的“吊炸天”IDE为我们制作网页带来了极大的方便。
入门快、见效快让我们在不知不觉中已经深深爱上了网页制作。此时,很多人会陷入一个误区,那就是既然借助这么帅的IDE,通过鼠标点击菜单就可以快速方便地制作网页。
那么我们为什么还要去学习HTML、CSS、JavaScrpt、jQuery等这些苦逼的代码呢?这不是舍简求繁吗?
但是随着学习的深入,就会发现我们步入了一种窘境——过分的依赖IDE导致我们不清楚其实现的本质,知其然但不知其所以然。
因此在页面效果出现问题时,我们便手足无措,更不用提如何进行页面优化以及完成一些更高级的应用了。其原因是显而易见的——聪明的IDE成全了我们的惰性,使我们忽略了华丽的网页背后最本质的内容——code。
正确的方向胜过无谓的努力
有两只蚂蚁想翻越一段墙,寻找墙那头的食物。一只蚂蚁来到墙脚就毫不犹豫地向上爬去,可是每当它爬到大半时,就会由于劳累、疲倦而跌落下来。虽然它不气馁,一次次跌下来,又迅速地调整一下自己,重新开始向上爬去。
另一只蚂蚁观察了一下,决定绕过墙去。很快,这只蚂蚁绕过墙来到食物前,开始享受起来;而另一只蚂蚁还在不停地跌落下去又重新开始。
很多时候,成功除了勇气、坚持不懈外,更需要方向。也许有了一个好的方向,成功来得比想象的更快。如果在错误的路上奔跑,再怎么努力也是白搭。学习Web前端也是如此,首先应该选择一个正确的学习路线。
Web前端的学习路线结合我的学习经历、近年来辅导学生的经验以及公司中实际项目的需求,在这里将Web前端的学习分为以下几个阶段
第一阶段——HTML的学习。
超文本标记语言(HyperText Mark-up Language 简称HTML)是一个网页的骨架,无论是静态网页还是动态网页,最终返回到浏览器端的都是HTML代码,浏览器将HTML代码解释渲染后呈现给用户。因此,我们必须掌握HTML的基本结构和常用标记及属性。
HTML的学习是一个记忆和理解的过程,在学习过程中可以借助Dreamweaver的“拆分”视图辅助学习。在“设计”视图中看效果,在“代码”视图中学本质,将各种视图的优势发挥到极致,这种对照学习的方法弥补了单纯识记HTML标签和属性的枯燥乏味,想必对各位初学的小盆友们来说必定是极好的!
在学习了HTML之后,我们只是掌握了各种“原材料”的制作方法,要想盖一幢楼房就还需要把这些“原材料”按照我们设计的方案组合布局在一起并进行一些样式的美化。
于是进入第二个阶段——CSS的学习。
CSS是英文Cascading Style Sheets的缩写,叫做层叠样式表,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言其样式是可以复用的,这样就极大地提高了我们开发的速度,降低了维护的成本。
同时CSS中的盒子模型、相对布局、绝对布局等能够实现对网页中各对象的位置排版进行像素级的精确控制。通过此阶段的学习,我们就可以顺利完成“一幢楼房”的建设。
“楼房”建设完成之后,我们可以交给用户使用,但是如果想让用户获得更佳的体验,我们还可以对“楼房”进行更深一步的“装修”,让它看起来更“豪华”一些。
为了完成这个任务,我们进入第三个阶段——JavaScript的学习。
JavaScript是一种在客户端广泛使用的脚步语言,在JavaScript当中为我们提供了一些内置函数、对象和DOM操作,借助这些内容我们可以来实现一些客户端的特效、验证、交互等,使我们的页面看起来不那么呆板,屌丝瞬间逆袭高富帅!有么有?
此时,也许你还沉浸在JavaScript给你带来的惊喜之中,但你的项目经理却突然对你大吼道:
“这个效果在××浏览器下不兼容,重新搞……”
“不兼容?”瞬间石化了有木有?
“我擦,坑爹啊!那可是花了我一个晚上写了几百行代码搞定的啊,吐血了都!”
JavaScript的兼容性和复杂性有时候的确让我们头疼,还好有“大神”帮我们做了封装。
接下来我们进入第四个阶段——jQUery的学习。
jQuery是一个免费、开源的轻量级的JavaScript库,并且兼容各种浏览器(jQuery2.0及后续版本放弃了对IE6/7/8浏览器的支持),同时现在有很多基于jQuery的插件可供选择,这样在我们实现一些丰富的动态效果时更方便快捷,大大节省了我们开发的时间,提高了开发速度,这也充分体现了其write less,do more的核心宗旨。这个Feel倍儿爽!有么有?
“豪华大楼”至此拔地而起,但是每天这样日复一日,年复一年的盖楼,好繁琐!能不能将大楼里面每一个单独部件模块化,当需要盖楼时就像堆积木一样组合在一起,这样岂不是爽歪歪?可以实现吗?答案是肯定的。
这种思想在Web前端开发中也是适合的,于是乎就出现了各种前端框架,在这里推荐给大家的是Bootstrap。 Bootstrap是Twitter推出的一个开源的用于前端开发的工具包,是一个CSS/HTML框架,并且支持响应式布局。一经推出后颇受欢迎,一直是GitHub上的热门开源项目。
在项目开发过程中,我们可以借助Bootstrap提供的CSS样式、组件、JavaScript插件等快速的完成页面布局和样式设置,然后再有针对性的微调样式,这样基于框架进行开发大大缩短了开发周期。站在巨人的肩膀上就是爽!
Web前端的学习建议
最后给大家聊聊在学习Web前端中的一些建议和方法。
在CSS布局时需要注意的一个问题是很多同学缺乏对页面布局进行整体分析,不能够从宏观上对页面中盒子间的嵌套关系进行把握,就急于动手去做,导致页面中各元素间的关系很混乱,容易出现盒子在浮动时错位等情况。建议大家在布局时采用“自顶向下,逐步细化”的思想,先用几个盒子将页面从整体上划分,然后逐步在盒子中继续嵌套盒子。
“君子生非异也,善假于物也”,在学习的过程中还要多浏览一些优秀的网站,善于分析借鉴其设计思路和布局方法,见多方能识广,进而才可以融会贯通,取他人之长为我所用。
同时还要善于使用Firebug这个利器。Firebug一方面可以在我们学习过程中帮助我们调试自己的页面,另一方面我们可以使用Firebug方便地查看、分析别人网站的源代码,“偷”也是一种技能!
随着移动互联网热潮的到来,移动开发越来越受到大家的追捧,响应式布局、微网站等需求量不断增加,也是我们Web前端未来的发展方向之一,学有余力的同学可以多多关注。最后祝愿大家能在Web前端开发道路上走出一片更宽更广的天地!
web前端通常称为软件设计或者美工,普遍工资确实要比网页设计高,因为软件的收费比网页或者网站高多了,一个网站收费过万就算比较高了,而软件随随便便就是好几万的,一二十万、几十万甚至上百万的都也是正常,但是网站的制作周期比较短,小点的网站通常是一两周之内就可以完成,而软件的周期短则几个月、半年,长则一年几年都有可能,像我们公司就是给政府部门做监控及统计软件的,每个项目随随便便都是半年以上的制作周期。
收费嘛自然也比较高,有个项目都做了3年了,不过这个项目是个长期项目,不断的提交又不断的增加新功能而已。
话说回来,网页设计和web前端其实差别并不太大,对于设计师来说两者也就是界面模式不同而已,对于熟练的设计师来说,两者之间可以很好的转换,页面/界面布局的方式其实还是一样的,使用的也还算div+css布局。
我本人做这行已经8年了,刚开始做了2年的网页设计,后来转了软件设计一直做到现在,老实说做软件设计确实是工资高了,工作也更轻松了,因为做网页的公司普遍规模都不大,为了能有收益必须大量的接单,这也势必造成工作量很大,但是设计公司又普遍是有项目提成的,所以工资有时候反而比做软件的高,做软件的普遍是拿固定工资的,所以说两者的工资水平并不是绝对的,只能说做软件更轻松一些。
网页设计一般包含整站网页视觉方案,前端开发简单来说就是负责将网页设计和互动设计的方案转换为可工作的Html + Css + js文件。学习前端开发,推荐千锋教育,立足于职业教育培训领域,公司现有教育培训、高校服务、企业服务三大业务板块。
在互联网行业中, 网页设计和前端开发是项目中的不同环节。网页设计一般指交互设计和视觉设计, 他们负责将商业需求转化为 Web 解决方案, 最终产物是交互稿和视觉稿, 分别用于说明网页的外观和 actions. 而前端开发则是通过交互稿, 视觉稿, 将预期的效果实现出来, 最终产物是 HTML Demo, 包括 HTML, CSS, JavaScript 代码。(但据三点共圆所知, 有些公司的 CSS 和 JavaScript 开发也是分开的, 比如腾讯)。前端开发,需要涉及ajax交互,需要改变页面显示,复杂的ajax应用需要涉及很多模块的划分、业务逻辑的考虑,在ajax应用越来越成熟强大的今天,很多过去后端处理的业务逻辑工作也慢慢放在了用户的浏览器上来完成,这些工作也就交给前端工程师来做了。
想要了解更多关于前端开发和网页设计的相关信息,推荐咨询千锋教育。千锋企业合作部于2013年成立,主要针对企业用人需求和学员职业规划进行服务。经过8年发展,企业合作部已经成为千锋连接企业和学员的重要纽带。服务面对企业建立全方位、立体化、遍布全国的企业合作网络,覆盖全国一线二线城市大中小型公司,成功帮助20000余名人才实现就业,合作企业达20000余家,每年签订1000余份人才培养订单,让广大学员没有后顾之忧。
网页设计一般包含整站网页视觉方案,提供PSD或PNG格式的主要页面预览图,高级一点的还会给出标准配色表,风格设计指南(内含一般性风格设计规格:设计理念,留白间距,按钮样式,使用场景)等附件。大公司一般还有交互设计师,主要关注人机界面的易用性和用户友好性。
前端开发简单来说就是负责将网页设计和互动设计的方案转换为可工作的Html + Css + js文件。
在互联网行业中, 网页设计和前端开发是项目中的不同环节。
网页设计一般指交互设计和视觉设计, 他们负责将商业需求转化为 Web 解决方案, 最终产物是交互稿和视觉稿, 分别用于说明网页的外观和 actions. 而前端开发则是通过交互稿, 视觉稿, 将预期的效果实现出来, 最终产物是 HTML Demo, 包括 HTML, CSS, JavaScript 代码。(但据三点共圆所知, 有些公司的 CSS 和 JavaScript 开发也是分开的, 比如腾讯。)
前端开发,需要涉及ajax交互,需要改变页面显示,复杂的ajax应用需要涉及很多模块的划分、业务逻辑的考虑,在ajax应用越来越成熟强大的今天,很多过去后端处理的业务逻辑工作也慢慢放在了用户的浏览器上来完成,这些工作也就交给前端工程师来做了。
如果根据明确分工的话,前端开发不包含ui设计部分,主要工作在于切图、制作静态页面、制作特效、jq、ajax、与后台程序结合部分。
大家所认为的前端开发工作主要在于UI设计和用户体验。三点共圆向客户提供的前端开发内容包括:UI设计,axure交互文档,静态页面制作,css3 动画和jq动画。最终提供的成品文件包括:img、css、js、html、icon、font。至于与后台程序结合的工作则可以不负责。
可以说“会做网页”不等于“前端开发”。前端开发是写代码的,是用代码来构建网页界面和交互。
如果把前端开发工程师和网页制作对立开来讲,就不能不说说其中的区别了:
第一:两者的知识面差距是巨大的。
网页制作只需要掌握DIV+CSS就行了,现在还有大量使用Dreamweaver的网页制作人员存在就是个很好的证明,好一点的网页制作人员会懂些简单的js,可能会修改些js代码。而一个前端开发人员是在这个基础上把知识面进行了很大的扩展。比如为了提高页面解析速度的背景图合并技术,一个简单的背景图合并需要成熟的标签嵌套思想和简单的ps技术;比如对搜索引擎友好的属性的设置,标签的使用。
第二:两者对技术的理解深度差距是巨大的。
一个技术较高前端开发人员的代码质量要远远高于一个网页制作人员,表现在代码精简度与可读性、图片的处理、对搜索引擎友好性、以及后期维护的难易度等等方面。很多网页制作人员极少使用a标签,设置链接的时候习惯用input加js跳转。这都是技术面广度差距引起的对div+Css技术理解深度不足的体现。
前端开发人员全局性的视角,可以让代码变成一种艺术。div+css的技术就好像一把宝剑,网页制作人员也就能练成华山剑法,而前端开发人员耍的是独孤九剑。剑是同一把,关键在耍剑的人而已。
第三:两者在具体工作中的受重视程度是差距巨大的。
这个很好理解,高技术有高待遇,受重视,受尊敬,更好的发展前景。