前端工程师说明(仅以自勉)

如今,一位合格的前端工程师,必须对视觉设计有兴趣。前端

很显然,要处理大量的Web应用程序需求,技术任务就要进行分类,以便于多人同时处理网站请求。事实上,如今已经不可能一我的快速地解决全部的技术细节了。web

 

1.前端的误解算法

大多人都认为前端开发是一个[相对于其余模块来讲更简单的领域],在他们心中的前端工程师是这样工做的的:编程

一、把Photoshop文件、图片或者线框放进一个网页;
二、偶尔设计Photoshop文件、图片或者线框;
三、用JS编程,为网页制做动画、过渡效果;
四、用HTML和CSS编程,肯定网页的内容和形式。

 

事实上,前端工程师在作的是:后端

一、在设计师和工程师之间建立可视化的语言;
二、用可视化的设计,定义一组表明内容、品牌和功能的组件;
三、为Web应用程序的公约、框架、需求、可视化的语言和规格设定底线;
四、定义Web应用程序的设备、浏览器、屏幕、动画的范围;
五、开发一个质量保证指南来确保品牌忠诚度、代码质量、产品标准;
六、为Web应用程序设定适当的行距、字体、标题、图标、填充等等;
七、为Web应用程序设定多种分辨率的图像,设备为主的实体模型,同时维护设计指南;
八、用account semantic,Accessibility,SEO,Schemas,Microformats 标记Web应用程序;
九、用一种友好的,消耗小的,设备和客户端感知的方式链接API,获取内容;
十、开发客户端代码来显示流畅的动画、过渡、延迟加载、交互、应用工做流程,大多数时间用来考虑渐进加强和向后兼容的标准;
十一、保证后台链接安全,采用跨地域资源共享(CORS)的程序考虑,防止跨站点脚本(XSS)和跨站点请求伪造(CSRF);
十二、最重要的是,尽管有严格的期限、利益相关者的要求,以及设备的限制,不管如今仍是未来永远是「客户第一」。

为了显示上述目标,前端工程师采用了从可视化到编程的多种工具 ,甚至有时要照顾市场、 UX 到内容tweakes等等。浏览器

 

2.前端工程师的作事方式缓存

糟糕的前端工程师是这样作事的:安全

一、滥用JS库,由于他们实际上并不了JS的内部(e.g. 一切都用jQuery);
二、滥用JS插件,抄别人的代码哪怕本身根本读不懂(e.g.jQuery.doParallaxPls.js);
三、给Web应用程序添加CSS框架,却只用到CSS/JS的5%,没有看到任何的需求、设计或者比较和评价;
四、认为只要添加了CSS框架,网站就能够「有求必应」;
五、一边在说着「响应式web设计」,却对服务器端技术一无所知;
六、用CSS编程时无论预处理器、命名规范等,却用不合适的selector/ids/magic numbers等;
七、忽视表现、内存泄露(并不理解内存泄露的真正含义),不会检测代码;
八、不会用指标衡量一个产品,或者这种指标旨在本身的电脑、浏览器、设备有效;
九、忽视软件技术。

入门容易精通难,计算机和软件的基础对你用JS或浏览器编程都很是重要。web多是最有影响力的平台和环境之一,在那里执行的程序必须被当心对待。一位优秀的前端工程师不只要考虑web技术和语言,而且还要了解全部不一样的组件、系统和概念。服务器

 

优秀的前端工程师在即便面对普通的任务会作的事情:前端工程师

一、DNS解析、使用CDN和关于multiple Hostnames as part of resources request.
二、HTTP Headers (Expires, Cache-Control, If-Modified-Since)
三、Steve Souders的全部规则(High Performance Websites)
四、如何解决PageSpeed, YSlow, Chrome Dev Tools Audit, Chrome Dev Tools Timeline显示的全部问题;
五、什么时候把任务传到服务器和客户端;
六、缓存,预取和负荷技术的使用;
七、Native JS,知道什么时候从头开始作,什么时候查找别人的代码,同时能够评估这样作的优缺点;
八、modern MVC Javascript libraries (e.g. AngularJS, EmberJS, ReactJS), graphic libraries (e.g. D3, SnapSVG), DOM manipulation libraries (e.g. jQuery, Zepto), lazy loading or package management libraries (e.g. RequireJS, CommonJS), task managers (e.g. Grunt, Gulp), package managers (e.g. Bower, Componentjs) and testing (e.g. Protractor, Selenium)的相关知识和用法;
九、CSS标准、modern conventions、 strategies (e.g. BEM, SMACSS, OOCSS)的知识和用法;
十、JS的电脑知识(内存管理,单线程的性质,垃圾收集算法,超时,范围,提高,模式)

换句话说,若是说精通HTML+CSS+JS,了解后端知识,只是60分的合格前端;那么要想成为受追捧、拿高薪的80分优秀前端,要对业务需求和、架构设计有真正的运用;而100分的顶级前端,则必需要可以兼顾技术和设计,更接近「之前端开发为主的全栈工程师」了。

 

来源:为何整个互联网行业都缺前端工程师?

相关文章
相关标签/搜索