浅谈如何做一名优秀的WEB前端工程师
随着近两三年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及,前端开发这个行业也开始备受关注。
前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。Web前端开发核心技术主要包括HTML、CSS、JavaScript等。HTML仅仅是简单的标记语言!CSS 只是无类型的样式修饰语言。当然可以勉强算作弱类型语言。Javascript 的基础部分相对来说不难,入手还算快。也正因为如此,很多人认为前端很简单。其实不然,虽然前端开发领域有很多自学成“才”的同行,但大多数人都停留在会用的阶段,因为后面的学习曲线越来越陡峭,每前进一步都很难。
那么,一名优秀的、甚至卓越的前端开发工程师应该具备什么条件?
1、明确前端的工作内容
Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。前端作为一个工作,其主要工作领域是浏览器端,核心技术包括 JavaScript,css,html 等。还要处理服务器通信,以及部分服务器脚本开发的工作,比如发布、测试脚本,jsp、php页面脚本。有时,还需要与产品经理、交互设计,共同完成一些交互设计。可以看出,前端处于设计与后台的中间领域,起到承上启下的作用。这也就要求前端工程师的知识面在横向上必须要广。服务器技术要懂,产品与交互也要懂。所以经常有前端工程师称自己游走在设计与编码的边缘。
2、明确前端在项目开发中的必备技能
A. 全浏览器兼容。后台工程师、客户端工程师,无论你们用什么语言开发,都会有一套可以信赖的统一的接口(框架,或sdk)。前端?没有!我们需要同时懂得至少三种浏览器内核的接口,还有面对各种莫名其妙的bug。
B. 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!做到这两点,其实很难。
横向技能面要广。懂交互设计;懂视觉设计;略懂后台技术;精通http协议;linux操作;shell;vim;git;svn;至少熟练使用一门后端语言(java,c#,php,python);至少使用过一个MVC开发框架,还有前端的各种开源项目(jquery,requirejs,seajs,bootstrap,yui,……);还要能够灵活运用“面向对象”,“面向过程”,“函数式”的编程方法,否则很容易在JS这门灵活的语言中迷失自己;还要懂设计模式,和客户端应用的常用架构模式。
纵向技能要深。Js、css、html5、css3、……
C. 优秀的Web前端开发工程师应该具备快速学习能力。Web发展的很快,甚至可以说这些技术几乎每天都在变化!如果没有快速学习能力,就跟不上Web发展的步伐。前端工程师必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而前端工程师的工作就是要搞清楚如何通过自己的Web应用程序来体现这种翻天覆地的变化。说到这里,我想起了一个大师说过的一句话:对于新手来说,新技术就是新技术。对于一个高手来说,新技术不过是旧技术的延伸。
D. 关注用户体验,懂得交互设计。帮助产品经理和交互设计师校验错误是前端工程师的义务和责任。很多问题只有在实现时才会发现,如果作为实现者的你,没有及时发现前置环节中出现的错误。那这些错误很可能最后直接交给用户“欣赏”。有时,人手紧张,一个懂交互,懂产品的前端工程师可以一个人当三个人用。
3、明确前端需要储备的知识结构
Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。
总之,在这样一个技术发展迅猛的时代,数聚传媒秉承CARE2企业文化,力求紧紧跟随时代的步伐,做出让客户满意的页面体验效果,也要求数聚传媒研发团队的前端小伙伴们,为成为更优秀的高级前端开发工程师而努力着。