1、Web开发和前端工程师定义
Web开发,就是架构在万维网(WWW)上的网站应用程序的开发。
传统的PC应用程序是Client/Server模式的,应用程序的逻辑存储和运行在桌面上,只有数据库运行在服务器端。而网站应用是Browser/Server模式的,它的程序和数据都是储存在服务器端的,在用户通过浏览器访问网站的时候,服务器就把浏览器端的逻辑和UI传输到浏览器中去运行。
简单讲,前端工程师就是负责Web应用程序BS架构中Browser部分应用程序开发的工程师。
2、职责
2.1、初级前端工程师任务:
项目一开始,要参与制定前后端对接规范,熟悉项目的编码、文档规范等。项目进行中,就要按照网站的视觉设计稿和交互稿开发所分配的部分任务。最后,参与项目的联调测试和发布。
2.2、高级(资深)前端开发工程师任务:
项目前期
要参与需求评审、交互评审、视觉评审,就项目技术可行性、项目难点等给出专业的意见和建议,并结合项目计划,根据技术实现要求(如兼容性要求、平台要求),评估人力和时间,预估风险。
完成分析和评估后,开始负责或者指导制定结构、编码和文档等开发规范和协作、任务、接口、测试、联调、发布等项目流程规范。
然后,为项目进行技术选型(包括框架、库、工具等),并负责培训、指导和问题解决。
项目中期
正式开发前,要先对开发任务进行分解,在项目的计划时间和参与人员间进行合理分配,并明确和任务管理模式。
任务分配完成后,进行项目建构和环境搭建,开始编码工作,包括指导或者负责模块设计和开发,及时检查项目的规范、设计等的实现。
在编码完成后,进行联调测试,并发布上线。
项目后期
根据项目新增功能,开发并迭代代码,维护网站的运行。
3、能力要求
3.1、基础能力
由于互联网上最新的技术、资源都是英语资源为主,所以前端工程师最基本的能力要求,就是英语阅读能力。
3.1、专业技能
前端工程师的专业基础是原生页面开发技术,包括:HTML(页面内容和结构)、CSS(样式)、PS(切图)、DOM编程、JavaScript;
生产力的构成主要是框架和库开发技术,包括:bootStrap、jQuery、React、Vue等,和必要的工具链,包括:github(代码库)、Git(版本控制)、npm(包管理)、webpack(打包工具)和各种DevTools。
专业技能的顶端,就是前端架构能力,包括项目流程设计管理、安全、性能等综合性能力。
3.1、通用技能
作为一种互联网开发工种,数据结构、算法分析、网络协议、编程范式、设计模式和软件工程都要有一定程度的掌握,毕竟Web开发也是广义的软件开发的一部分。
3.1、其他能力
由于前端工程是一个正在发展中的技术体系,很多技术栈都不怎么稳定,技术迭代很快,所以要做一个前端工程师,要具备一定的学习能力、分析能力、解决问题的能力、总结归纳能力、创新能力。