优秀的前端需要做到什么?

昨天在知乎上看到一篇文章,大概的意思是互联网行业不是真的缺会做前端的,缺的是优秀的前端。

下面是文章中提到的一些点,放在这里以自省:

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

  1. 在设计师和工程师之间创建可视化的语言;
  2. 用可视化的设计,定义一组代表内容、品牌和功能的组件;
  3. 为 Web 应用程序的公约、框架、需求、可视化的语言和规格设定底线;
  4. 定义 Web 应用程序的设备、浏览器、屏幕、动画的范围;
  5. 开发一个质量保证指南来确保品牌忠诚度、代码质量、产品标准;
  6. 为 Web 应用程序设定适当的行距、字体、标题、图标、边距、填充等等;
  7. 为 Web 应用程序设定多种分辨率的图像,设备为主的实体模型,同时维护设计指南;
  8. 用 account semantics, accessibility, SEO, schemas ,microformats 标记 Web 应用程序; 用一种友好的,消耗小的,设备和客户端感知的方式连接 API,获取内容;
  9. 开发客户端代码来显示流畅的动画、过渡、延迟加载、交互、应用工作流程,大多数时间用来考虑渐进增强和向后兼容的标准;
  10. 保证后台连接安全,采取跨地资源共享(CORS)的程序考虑,防止跨站点脚本(XSS)和跨站点请求伪造(CSRF) ;
  11. 最重要的是,尽管有严格的期限、利益相关者的要求,以及设备的限制,无论现在还是将来永远是「客户第一」。

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

糟糕的前端工程师

  1. JavaScript 类库乱用,对 JavaScript 本身并不了解,什么地方都用 jQuery;
  2. 滥用 JavaScript 插件,看都不看看就把别人的代码拿过来用,比如说;
  3. 不看需求,不做任何的比较和测试,就把CSS 框架加到项目中,但只用了其中 5% 的功能;
  4. 认为添加个 CSS Framework,网站就可以变成“响应式的”,或者响应式就像是一些小作料,随便就可以加入到一个网页应用中;
  5. 嘴上喊着“响应式的 Web 设计”,但服务端技术一点都不懂;
  6. 编写的 CSS 没有任何规范标准,不使用任何预处理器,也没有最佳实践。CSS 代码中充满了过度使用的选择器、ID、神奇的数字以及 !important;
  7. 不关心代码的性能和内存泄露(什么是真正的内存泄露也不清楚),不会对代码进行性能测试;
  8. 对产品没有任何的衡量指标,或者把“在我的电脑/浏览器/移动设备上可以工作”为指标;
  9. 忽视30年的软件工程实践,毫无章法的开发软件。

要知道,入门容易精通难,计算机和软件的基础对你用 JS 或浏览器编程都非常重要。web 可能是最有影响力的平台和环境之一,在那里执行的程序必须被小心对待。

一位优秀的前端工程师不仅要考虑 web 技术和语言,并且还要了解所有不同的组件、系统和概念。

顶级前端工程师需要具备的经验和最佳实践(这才是市场急需的前端):

  1. 了解 DNS 解析,充分利用 CDN,使用多个域名来完成资源的请求以缩短加载时间;
  2. 设置 HTTP Headers(Expires, Cache-Control, If-Modified-Since);
  3. 遵循 Steve Souders 给出的全部规则(High Performance Websites)
  4. 知道如何解决 PageSpeed、YSlow、Chrome Dev Tools Audit、Chrome Dev Tools Timeline 显示的所有问题;
  5. 知道什么任务该放在服务端,什么任务该放在客户端;
  6. 知道使用缓存,DNS 预取和资源预加载技巧;
  7. 精通 JavaScript,知道何时自己写何时借组别人的框架或代码,优劣明辨;
  8. 熟练使用现代 MVC JavaScript 框架(例如 AngularJS EmberJS React 等),图形库(D3、SnapSVG 等),DOM 操作类库(jQuery、Zepto 等),惰性加载或者模块管理类库(例如 RequireJS、CommonJS 等),任务调用工具(例如 Grunt Gulp 等),包管理工具(Bower Componentjs)以及测试工具(Protractor、Selenium 等);
  9. 掌握图片的格式,每种格式的优点,适用的场景;知道图片优化技巧以及加载策略(雪碧图、懒加载、缓存刷新以及 PNG 交错);
  10. 熟悉 CSS 标准、最新的转换工具积极策略规范(比如 BEM、SMACSS、OOCSS 等);
  11. JavaScript 的计算机科学(内存管理、单进程特性、垃圾回收算法、定时器、作用域、提升以及设计模式)。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

Angular vs React 最全面深入对比

如今,Angular和React这两个JavaScript框架可谓红的发紫,同时针对这两个框架的选择变成了当下最容易被问及或者被架构设计者考虑的问题,本文或许无...

1987
来自专栏空帆船w

我的公众号文章是如何排版的?

文字排版是一篇文章展现给读者的第一印象,不知道大家怎么看,反正我每次看到排版错乱的文章,往下读的兴趣直接减少了一半。

2452
来自专栏非著名程序员

我在开发微信小程序中用到的几个不错的库

昨天文章中给大家提到过,在今天的文章中,给大家分享一下,我在开发过程中用到的不错的一些微信小程序的开源库。说道做到,今天就给大家分享。 图片裁剪工具 图片裁剪工...

3119
来自专栏顶级程序员

手把手教你爬取互联网资源

文 | 杨真 在资源匮乏,搞人工智能和大数据应用没有数据,做社交应用找不到用户,开发图片应用缺少图片,的情况下,如何冷启动? 最好的办法就是做一个爬虫,批量从...

4757
来自专栏IMWeb前端团队

sheral——一个方便定制及扩展的UI组件库

sheral是什么 简单来说,sheral是个UI库,目前拥有25+常用移动端组件(如btn, card, media, nav, dialog, toast等...

2396
来自专栏Jerry的SAP技术分享

推荐一个有趣的Chrome扩展程序-查看任意网站的开发技术栈

对于前端开发人员来说,目前的前端框架层出不穷,最受欢迎的莫过于所谓的前端框架三驾马车:Angular, React和Vue。在学习的过程中,肯定好奇现在的互联网...

883
来自专栏机器学习算法与Python学习

缺数据玩不转机器学习?这里有一份超实用爬虫攻略

键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 作者简介 杨真 创业公司CTO 曾任腾...

2826
来自专栏用户2442861的专栏

前端开发介绍(包含调试什么的)

http://www.cnblogs.com/jikey/p/4259360.html

2502
来自专栏向治洪

android多屏幕分辨率适配

做android开发,开源嘛,满市场都是凌乱的机型,总少不了适配这样或那样的型号。在这里分享一下自己在开发中用到的方法。 首先要介绍一下drawable-md...

21010
来自专栏星流全栈

新手向:Vue 2.0 的建议学习顺序

955

扫码关注云+社区