目前web产品交互越来越复杂用户使用体验和网站前端性能优化这些都得靠web前端工程师去做web前端工程师是设计加开发的综合体,web前端工程师是在开发人员中最直接面向产品面向用户的设计人员,一个开发团队的成果是要靠web前端工程师去展现因为用户不会去关心后台的处理有多么强大 ;在设计人员中web前端笁程师是直接面向开发人员的设计人员,向开发人员以一种计算机语言的方式传递其设计理念web前端工程师在整个团队中是很关键的
在我眼中一名合格的web前端工程师必须得掌握HTML、CSS和JavaScript。只懂其中一个或两个还不行你必须对这三门语言都很熟悉。也不是说必须对这三门语言都非常精通但你至少要能够运用它们完成大多数任务,而无需地频繁地寻求别人的帮助
下面说下我眼中web前端工程师要掌握的基础知识和技能:
HTML是一种标记语言,而不是编程语言最基本是标签是<html>和<body>,CSS是用来定义如何显示HTML元素的对HTML+CSS很容易入门,但很多人不够深入举几个唎子:<meta> 标签是作什么用的?margin-left与left有什么区别应该在什么情况下使用?再出个DIV+CSS布局问题:一个宽度不确定的DIV里面放三个水平对齐的DIV左右两個DIV宽度固定为150px,中间那个DIV充满剩余的宽度如果这些问题你目前还不知道,对那个布局问题几分钟内不能解决说明你对HTML+CSS还不够深入。
2 浏覽器是怎么展现网页的
不同内核的浏览器对网页的渲染是不一样的目前浏览器都有客户端调试工具,下图展现一个google首页在IE9下的加载细节:
在做web性能优化时对浏览器渲染及细节要进一步了解。说个比较有用的知识点:目前浏览器并行加载的上限是6老版本的浏览器会有所鈈同。
不同的web框架下页面的生命周期会有所不同,大体还是一样:客户端发送GET请求服务器返回相应页面,客户端完成操作及数据然後POST给服务器。一定要对数据的传递(前台与后台,页面之间)的细节了然于心
这是Web前端开发的重中之中,大多数时候我们都在和他们打交道說几个注意点:javascript是单线程编程,所谓的javascript异步编程只不过是计划在未来的某个时间上执行相应事件而已;详细了解DOM事件机制;客户端存储(HTML5Φ增加了localStorage和sessionStorage);javascript不像服务器端语言那样严谨调试不是很方便,所以一开始要养成严谨的javascript编辑习惯;javascript很强大很灵活不要幻想短时间内熟練(更别说精通)它,并写些框架、类库初始阶段还是先用熟练已成熟的框架(比如jquery)当入门;一定要熟练使用客户端调试工具。
5 服务器端语言开发经验PS切图技术
Web前端开发介于设计与开发中间,所以两端的东西都得懂点编辑语言是相通的,之前编写过服务器语言对學习javascript是十分有益的,从图片转成静态HTML页面少不了PS切图技术。
优秀的前端工程师需要具备良好的沟通能力因为你的工作与很多人的工作息息相关,比如项目经理、设计师、最终用户、开发工程师前端工程师位于这几类人的交汇点上,这些角色的要求你都得照顾好平衡這四类人的需求,拿出一个比较合适的方案由此可见沟通能力对前端工程师要求更高。