随着互联网的迅猛发展和普及,一个新型的行业和新兴的职位正在上升到技术的层面:web前端开发工程师Web前端开发工程师,除了主要职责外,还要为网站上提供的产品和服务实现一流的Web界面,优化代码并保持良好兼容,Web前端表现层及与前后端交互的架构设计和开发,配合后台开发人员实现产品界面和功能,利用各种Web技术模拟开发产品原型,Web新技术调研和资讯整理,精通HTML/XHTML、CSS,熟悉页面架构和布局,对Web标准和标签语义化有深入理解,熟悉Ajax、JavaScript(或者ActionScript)、DOM等前端技术,掌握面向对象编程思想。
一个好的Web前端工程师可不是那么好成为的,对他们的要求很全面,例如:
1、会用PS来进行图片的处理(比如切图,微调等)
2、用HTML/CSS实现mockup(可能还有SASS/LESS等工具)
3、熟悉JavaScript(比如前端的MVVM框架,客户端模板)
4、前端开发的工作流程(代码检查,精简化,模块化CSS,LiveReload,调试)
5、编写测试(静态检查,单元测试)
6、跨浏览器、跨设备的解决方法(不同分辨率,不同厂商)
7、会根据项目的特点选择不同的前端技术栈(移动端,Web站点,响应式设计等)
在有了基础的HTML/CSS/JS技能之后,你会尝试做的更好:
1、如何更高效的操作DOM
2、如何将CSS写的更加清晰易懂
3、如何编写更加易于维护的代码(更有意义的单元测试)
4、如何组织大型的项目结构,模块化,组件化等等
这些要求事实上已经不那么容易做到了。它可能会花费你2到3年时间来全掌握。但是2到3年之后,即便你已经成为了一个“合格的”前端工程师,这也还远远不够。在现实世界中,一个软件产品除了前端,还有非常广阔的空间,还有很多有趣的东西值得学习:
1、HTTP协议本身(缓存,鉴权)
2、Web容器/HTTP服务器如何工作
3、无状态的Web应用的工作原理(如何让网站正确地运行在集群上)
动态,静态内容如何分离部署(反向代理配置)
4、安全机制如何配置
5、监控机制如何配置
有了这些,也算是有点端到端的意思了。这时你也已经不是一个“纯前端”工程师了,系统中的大部分问题你都可以搞定,不过日常工作中可能更多的职责还是做前端的开发。但是这些还不够,软件除了交付之外,还有一些非功能性的需求:
1、端到端测试(UI测试,比如selenium server/web driver)
2、devops(比如数据库环境,测试服务器,CI服务器的自动化provision)
3、基本的UI设计原则(在某些页面确实的情况下,根据系统的已有UI做设计)
4、数据库性能优化
5、性能测试
这时候,你才能算是一个严格意义上的“前端”工程师。可见要想成为一名优秀的Web前端工程师是需要经历一番历练的,有基础的人可以自学,没基础的需要参加Web前端培训课程,这样学起来更方便。
Web前端工程师培训:http://www.ujiuye.com/zt/webqianduan/