很多人并不了解前端开发到底是什么,即使是那些从事相关工作的业内人员也不是很清楚,这点在我工作的几年中深有体会,甚至有些时候整个项目下来本来应该几个人员合作完成的内容完全由一个人来实现,当然这样的结果常常并不理想,所以如果你打算学习前端开发工作最好事先了解下前端开发的相关内容,比如工作范围、存在问题、工作标准、工作要求等等。
1.被误解的前端开发
什么是前端开发呢?大多数人的回答可能是不就是设计网页的美工嘛,也有些人认为那些会使用 Dreamware这些编辑器完成一些网页功能就是前端开发了……因为大家对前端开发的认识不同所以对于前端开发工作内容也有很大不同,比如很多人觉的美工就是前端,他们认为美工应该完成所有的前端工作,但是真实的美工大多可能是从一些平面设计专业转行过来的,他们一点也不了解软件到底是什么,指望这些人去完成符合后端期待的前端实现,根本不可能。那么到底是什么原因造成大家对前端开发工作的误解呢?
造成前端开发工作误解很大原因和Web的发展有密切的关系。在最初的Web发展阶段,网页主要以展示为主,内容基本上都是静态的,从事相关工作的人员要求很低,只要可以保证页面的整齐美观就好。但是自2005年Web进入2.0时代后,网页的功能 越来越丰富,内容不再只是静态页面,而且和用户交互也逐步增加,对于这种变化使得前端的开发也变得越来越复杂,对于开发人员的要求也越来越高。
另外最初从事网站开发的人员只要掌握那些制作网页的工具就好,更多的时间更侧重于后端的开发工作。他们随着网页功能的变化走到现在,依然在负责网页功能的实现,这也就不难让人对前端工作产生误解了。
2.前端开发的职责
在工作中前端的工作范围很难界定,因为它会涉及到网站开发的方方面面。他需要确定UI设计师设计的界面是否可以通过技术实现,同时需要按照界面内容和后端开发人员确定是否可以提供相关的数据,所以作为前端工程师既需要有一定的审美眼光,保证页面的美观,同时有需要关注前端代码的质量。
在传统意义上的软件开发一般都是首先考虑后端可以提供哪些服务来确定前端的界面内容和风格,在这样的情况下,大多数情况下负责项目整体结构的都是多年从事后端开发工作的人员。但是随着web 的不断发展,出现一种模式是前端先设计相关的界面和内容,然后后端再设计方案实现相关的功能,这时候负责项目的就是前端开发人员,当然这种模式下前端开发人员不仅需要掌握前端实现的相关技术同时还需要了解后端的实现技术。不过这种模式只是在一些博客中见到过,大多数情况下我们还是和第一种情况类似都是后端确定数据后再确定前端界面和内容,不过这两种不同的方式对于前端人员的要求和工作内容还是有很大区别的。
3.前端开发的技能要求
虽然前端技术兴起的时间不是很长,没有明确的界限,不同的web 项目中要求的前端技术有所不同,但是还是有些技能是这些从业人员必须具备的,下面就是工作中前端开发人员必备技能的总结。
(1)HTML
HTML,简单的说HTML就像一个骨架,整个网页的结构都是在HTML中定义的,而且HTML本身内容并不复杂,只要掌握几类常用的标签就好,如用于链接、显示图片、列表、表格、表单等。在实现前端的技术中HTML很容易,十分容易上手和学习,但是编写语义良好、整齐简洁的HTML代码需要大量的练习才可以,因为复杂的HTML结构不仅不利于搜索引擎的检索,而且对于使用CSS样式和JavaScript实现一些效果也会很困难。
(2)CSS
CSS,样式就是为定义好的HTML结构添加一层外衣,使得页面变得美观,这种美好的样式也是吸引用户的方式。和HTML一样CSS也不复杂,只要掌握一些常见的样式就好。真正CSS部分要做到的就是使得CSS样式简洁、易读、可维护、性能良好,要实现这些需要我们重点理解CSS选择器以及继承相关的内容。
(3)JavaScript
JavaScript,通过HTML定义骨架、CSS添加外衣之后,要让网页变得富有活力就需要使用JavaScript,这一部分也是真正编程的部分。对于JavaScript要掌握的内容就不像HTML、CSS那样简单,因为首先JavaScript是一种脚本语言,所以它具有很大的灵活性,有时候可能造成错误,另外不同浏览器之间的兼容性问题也可能造成JavaScript语言出现错误。鉴于如上这些原因在学习JavaScript语言时要特别注意,本套课程涵盖基础语法、面向对象、函数、事件、BOM和DOM操作、表单处理、错误处理机制等内容,希望可以帮助大家更好的掌握JavaScript。
(3)前端框架
框架技术,随着前端框架的出现很大程度上降低了工作难度,使得即使是从事后端工作的人员也可以编写一个漂亮美观的页面。这些前端框架不仅统一了编码方式同时还解决了浏览器兼容问题。虽然前端框架的应用为开发带来福音,但是也造成了误解,很多人认为只要掌握这些框架就好了,对于那些基础内容就没必要再去掌握了,这点是非常错误的。我把接触的前端框架分为两类,针对CSS的框架、针对JavaScript的类库。虽然前端框架这部分内容并不在本套课程计划之内,但是我计划随后针对jQuery、Bootstrap、AngularJS这三种框架做一系列的课程来完善我们在本套课程中的博客系统,同时利用Bootstrap、AngularJS结合后端服务语言开发一个博客系统的管理系统,希望可以帮助大家掌握三个经典的前端框架,当然除了这三个之外还有很多类似的内容,如果大家觉的有需要可以在QQ交流群或者公众号中发消息给我,我会尽可能为大家提供帮助。
(4) 调试
调试,不管是前端人员还是后端人员调试都是一项必不可少的技能,在调试的过程中发现页面结构的变化、样式渲染效果、JavaScript代码执行情况以及后端返回数据,甚至可以直接修改网页的结构和样式。现在大部分浏览器都提供了供调试的控制台,而且值得一提的是之前的火狐浏览器需要按照Firebug才可以,现在已经不需要了,在最新版的火狐浏览器中已经查找不到相关的插件了。
如上所说的这些内容都是前端人员必备的技能,另外随着Web技术的发展,特别是越来越多的人习惯使用手机,所以在日常也要注意一些跨平台、跨浏览器的问题。