前端工程师在作:javascript
一、在设计师和工程师之间建立可视化的语言;前端
二、用可视化的设计,定义一组表明内容、品牌和功能的组件;java
三、为Web应用程序的公约、框架、需求、可视化的语言和规格设定底线;算法
四、定义Web应用程序的设备、浏览器、屏幕、动画的范围;设计模式
五、开发一个质量保证指南来确保品牌忠诚度、代码质量、产品标准;浏览器
六、为Web应用程序设定适当的行距、字体、标题、图表、填充等等;缓存
七、为Web应用程序设定多种分辨率的图像,设备为主的实体模型;安全
八、用account semantics,accessibility,SEO,schemas,microformats标记Web应用程序;前端工程师
九、用一种友好的,消耗小的,设备和客户端感知的方式链接API,获取内容;框架
十、开发客户端代码来显示流畅的动画、过渡、延迟加载、交互、应用工做流程,大多数时间用来考虑渐进加强和向后兼容的标准;
十一、保证后台链接安全,采起跨地域资源共享(CORS)的程序考虑,防止跨站点脚本(XSS)和跨站点请求伪造(CSRF);
十二、最重要的是,尽管有严格的期限、利益相关者的要求,以及设备的限制,不管如今仍是未来永远是“客户第一”;
顶级前端工程师具有的技能:
一、了解DNS解析,充分利用CDN,使用多个域名来完成资源的请求以缩短加载时间;
二、设置HTTP Headers ( Expires,Cache-COntrol,If-Modified-Since );
三、遵循Steve Sounders 给出的所有规则 ( High Performance Websites );
四、知道如何解决 PageSpeed、YSlow、Chrome Dev Tools Audit、Chrome Dev Tools Timeline 显示的全部问题;
五、知道什么任务该放在服务端,什么任务该放在客户端;
六、知道使用缓存,DNS预取和资源预加载技巧;
七、精通javascript,知道什么时候本身写,什么时候借助别人的框架或代码,优劣明辨;
八、熟练使用现代 MVC Javascript 框架 ( 例如 AngularJS EmberJS React 等 ),图形库 ( D三、SnapSVG等 ),DOM操做类库 ( jQuery、Zepto 等),惰性加载或者模块管理类库( 例如 RequireJS、CommonJS等),任务调用工具( 例如 Grunt Gulp 等),包管理工具( Bower Componentjs )以及测试工具( Protractor、Selenium 等);
九、掌握图片的格式,每种格式的优势,适用场景;知道图片优化技巧以及加载策略( 雪碧图、懒加载、缓存刷新以及PNG交错 );
十、熟悉CSS标准、最新的转换工具积极策略规范( 好比 EDM、SMACSS、OOCSS等 );
十一、JavaScript的计算机科学( 内存管理、单进程特性、垃圾回收算法、定时器、做用域、提高以及设计模式)。