什么是web前端开发工程师?主要做什么的?

上一篇 / 下一篇  2014-04-17 16:07:41 / 个人分类:其它

最近经常听朋友们说“Web前端开发工程师”有点好奇,上网查了一下,总结一下:

随着互联网的迅猛发展和普及,一个新型的行业和新兴的职位正在上升到技术的层面:web前端开发

Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/DOM/Flash等各种Web技术进行产品的界面开发。制作标准优化的代码,并增加交互动态功能,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。

工程师的职责:

1.      -为网站上提供的产品和服务实现一流的Web界面,优化代码并保持良好兼容性

2.      -Web前端表现层及与前后端交互的架构设计和开发

3.      -JavaScript程序模块开发,通用类库、框架编写

4.      -利用各种Web技术模拟开发产品原型

5.      -配合后台开发人员实现产品界面和功能

6.      -Web新技术调研和资讯整理

7.      -精通HTML/XHTMLCSS,熟悉页面架构和布局,对Web标准和标签语义化有深入理解

8.      -精通AjaxJavaScript(或者ActionScript)DOM等前端技术,掌握面向对象编程思想

9.      -熟悉一种以上后台开发语言(PHP/JavaC/C++/.NET)以及一种数据库(MySQL/Oracle),有Linux系统操作

10.    web前端开发工程师需要长期的web开发经验,例如:

11.    -Web技术创新及丰富互联网应用开发(Rich Internet Applications)有浓厚兴趣

12.    -对用户体验、交互操作流程、及用户需求有深入理解

具体技能描述:

·        【必备】UserInterface

 

1.    PhotoShop/Fireworks Design
a -
配合美工将草图形成具体的符合WebPage的设计
b -
有快速制作分层高品质PSDPNG的能力
c -
能迅速将PSDPNG的内容构思成div+css或者tableHTML代码

2.    Flash Design
a -
基本动画效果
b -
复杂的交互体系设计,了解第三方swf辅助设计软件
c -
复杂的交互体系设计以及较强的对各类外埠资源(PNGJPGMP3WAV等)的整合能力。精通部分第三方辅助设计软件(AESwishMaxSwift3D等)

·        【必备】Browser-side (Web Application)

 

1.    XHTML/CSS
a -
基本的layout实现
b -
严格跨平台的layout实现以
c -
优雅的HTML code,尽可能符合标准并有SEO的考虑因素。在任何平台、浏览器下基本保持一致。不要求了解各种CSShacks,但要求知道遇到问题应该如何查阅资料以在第一时间内解决。能够为JavaScript开发人员提供最好操作的DOM结构,让JS开发人员在开发的时候认为一切都已经准备就绪了,而不是捉襟见肘

2.    JavaScript/Ajax/DOM
a -
基本的DOM操作,了解AJAX,可以实现数据通信
b -
基本的DOM操作,能写高效率的OOP代码,以降低维护成本
c -
基于需求,进行不同的开发,选择合适的框架,做到代码效率最高,用户体验最好,代码下载量最小,并且可以在单独甚至更多产品线中最大限度重用代码

3.    Flash Developement
a -
基于TimelineActionScript操作,能实现简单交互
b -
掌握a外,能实现数据层通信(与服务器以及本地SharedObject
c -
精通AS1-3,能根据需求进行各类RIA开发。无论是要求支持FlashPlayer8的,还是FlashPlayer9的,都能做到开发效率最高、灵活性最大(比如对HTML层的接口设计,等等)。

·        【必备】Client-side (Desktop Application)

1.    Apollo
a -
产品级的封装,基本技术了解(如何打包、如何加入HTMLJavaScript等)
b -
掌握a的同时,能利用ApolloAPI独立设计、开发OS的文件I/O功能。
c -
掌握基本技能的同时,对”3D概念体系有所认知。这里”3D”即:Design(设计)、Development(开发)、Deploy(产品部署)。能用Apollo

2.    Windows Presentation FoundationWPF/ESilverlight
(待定,欢迎补充)

·        【增补】Server-side (修改:经考虑,这个技能不参与评级)
本来列举了”1Server端简单的技术、脚本”2MediaServerRed5)接口作为Web前端工程师技能列表的一种(服务器、数据逻辑层技能的)评判标准。但似乎很多朋友对于前端工程师是否应该掌握Server端技能的必要性表示怀疑。确实,要掌握好上述的展现层技能不是意见容易的事情,而且前端工程师的确非常辛苦。但是,站在另一方面来说,辛苦的原因是什么,我不知道在你日夜奋战div+CSS的时候思考过没有。就我的经验,前端的辛苦在于以下几个方面:

1.    重复劳动多,大量的div+css都是重复的,即便可以复制粘贴,但几千行的div海洋中去寻找一个入口恐怕都非常痛苦

2.    需求变更多,往往你折腾几个小时终于把跨平台问题解决好了,而且在IE67Firefox下面都能显示同样的效果了,甚至连JavaScript交互都已经快搞定了。突然上面说需求要变。这无疑是莫大的痛苦。

也许表面上看,这跟Server端技能无关,但我觉得有好的Server端的意识,一定会有所帮助(当然不可能解决所有的问题)。毕竟信息结构和数据库是密切相关的,而Server是连接数据库的唯一渠道(至少大多数B/S应用是如此)。掌握Server端的基本技能,对于同逻辑层开发人员设计接口是非常重要的。而且HTML表现层在开发时与数据的分离,也与Server端的各种模板技术有关。例如PHP中的Smarty模板(我曾经用的)、jspmodel2概念等等。HTML结构如何设计,如何让HTML重用,甚至在HTML层进行OOP的开发(我现在在新产品线中设计的前端开发流程),都需要Server端的支持。最起码,你要告诉php程序员你需要什么。如果你完全对PHP一无所知的话,那也无从谈起了。
此外,对于创业团队,往往人手非常有限。为了让运营成本降到最低,所有的技术人员都有义务对Server端技术有所了解。如果为了修改一个网页的标题还要跑去喊PHP程序员连接Remote Server的话,那实在是增加了整个公司的运营成本。

 


TAG:

 

评分:0

我来说两句

Open Toolbar