首页 > 前端开发 > 正文

web前端开发通道 Web前端新手要掌握的性能优化

2023-09-07 03:15:09 | 我爱编程网

很多关注前端开发的朋友很希望了解web前端开发通道 Web前端新手要掌握的性能优化,今天我爱编程网为大家整理了相关文章,一起来看看吧!

web前端开发通道 Web前端新手要掌握的性能优化

Web前端新手要掌握的性能优化

今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文将分享一些前端性能优化的常用手段,包括减少请求次数、减小资源大小、各种缓存、预处理和长连接机制,以及代码方面的性能优化等方面。下面来和小编一起看一看吧!





base64:尤其是在移动端,小图标可以base64(webpack),大图片慎用(如果加载速度过于慢的,而且很重要的图片,可以用base64)


1、减少HTTP的请求次数和传输报文的大小


「CSSSprite(雪碧图、图片精灵)技术」


使用字体图标(IconFont)或者SVG等矢量图


+减少HTTP请求次数或者减少请求内容的大小


+渲染更快:因为它们是基于代码渲染的,而对于位图(png/jpg/gif)是需要先把图片编码在渲染


+不容易是帧变形


+也可以使用webp格式图片,这种格式要小一些(但是需要服务器端支持这种格式的请求处理)


「图片懒加载(延迟加载)技术」


+第一次加载页面的时候不去请求真实的图片,提高第一次渲染页面的速度,请求图片的额外消耗尽可能不要处理


+当页面加载完,把出现在用户视野区域中的图片做真实加载,没有出现的先不加载(节约流浪,也能减少对服务器的请求压力)


o对于数据我们也尽可能分批加载(不要一次请求过多的数据,例如分页技术)


音视频文件取消预加载(preload='none'),这样可以增加第一次渲染页面的速度,当需要播放的时候在加载


客户端和服务器端的数据传输尽可能基于JSON格式完成,XML格式比JSON格式要大一些(还可以基于二进制编码或者文件流格式,这种格式比文件传输好很多)


「把页面的css/js等文件进行合并压缩」


合并:争取css和js都只导入一个(webpack可以实现并合并压缩哦)


压缩:基于webpack可以压缩,对于图片自己找工具先压缩,可以使用服务器的GZIP压缩


图片BASE64(用BASE64码代表图片,减少HTTP,增加浏览器渲染速度,所以真是项目中,尤其是移动端,如果图片加载缓慢,BASE64一下就好了,;但是base64会导致文件中心的代码超级恶心,不利于维护和开发,所以减少使用);webpack中科院配置图片


2、设置各种缓存、预处理和长连接机制


不经常更改的静态资源做缓存处理(一般做的是304或者ETAG等协商缓存)


「建立Cache-Control和ExpiresHTTP的强缓存」


DNS缓存或者预处理(DNSPrefetch),减少DNS的查找


设置本地的离线存储(manifest)或者把一些不经常更改的数据做本地临时存储(webstorage,indexdb)等


有钱就做CDN(地域分布式服务器),或者加服务器


「建立Connection:keep-aliveTcp长连接」


使用HTTP2版本协议(现在用的一般都是http1.1),可以多条tcp通道共存=>管道化链接


一个项目分为不同的域(不同的服务器),例如:资源web服务器、数据服务器,图片服务器,视频服务器等,合理利用服务器资源,但是导致过多的DNS解析


Cache-Control的优先级高于Expires


基于本地存储,做数据的存储


3、代码方面的性能优化


减少对闭包的使用(因为过多使用闭包会产生很多不销毁的内存,处理不好的话,会导致内存溢出“栈溢出”),减少闭包的嵌套(减少作用域链的查找层级)


对于动画来说:能用css解决的不用js(能够用transform处理的,不用传统的css样式,因为transform开启硬件加速,不会引发回流,或者使用定位的元素也会好很多,因为定位的元素脱离文档流,不会对其他元素的位置造成影响),能用
requestAnimationFrame解决的不用定时器


+用requestAnimationFrame还有一个好处,当页面处于休眠无访问状态,动画会自己暂停,知道回复访问才开始,而定时器是不论什么状态,只要页面不管,就一直处理


避免使用iframe(因为iframe会嵌入其他页面,这样父页面渲染的时候,还要同时把子页面也渲染了,渲染进度会变慢)


减少直接对DOM的操作(原因是减少DOM的回流和重绘...),当代项目基本基于mvvm,mvc数据驱动视图渲染的,对DOM的操作框架本身完成,性能要好很多


低耦合高内聚(基于封装的方式:方法封装,插件,组件,框架,类库等封装,减少页面中的冗余代码,提高代码使用率)


尽可能使用事件委托


避免出现死循环或者嵌套循环(嵌套循环会成倍增加循环的次数)


项目中尽可能使用异步编程来模拟出多线程的效果,避免主线程阻塞(异步操作基于Promise设计模式来管理)


JS中不要使用with


避免使用css表达式


函数的防抖和节流


减少使用eval(主要原因是防止压缩代码的时候,由于符号书写不合规,导致代码混乱)


图片地图:对于多次调取使用的图片(尤其是背景图),尽可能把它提取成为公共的样式,而不是每一次重新设置background


减少filter滤镜的使用


尽可能减少选择器的层级


尽可能减少table布局


手动回收堆栈内存(赋值为null)


「栈溢出:死递」


functionfunc(){


func();


}func();


解决方案:


functionfunc(){


setTimeout(func,0);


}func();


相互引用:引用类型之间的相互调用,形成嵌套式内存


letobj1={


name:'obj1',};


letobj2={


name:'obj2',


x:obj1}


obj1.x=obj2;


以上就是小编今天为大家分享的关于Web前端新手要掌握的性能优化知识的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的web前端工程师。


web前端开发通道 Web前端新手要掌握的性能优化

前端学习方向

你好,前端的学习方向有这么几点

阶段1.前端核心基础

HTML +_CSS核心、JavaScript基础语法、JavaScript面向对象、JavaScript DOM和

BOM编程、jQuery框架

阶段2.HTML5 + CSS3 + 移动端核心 我爱编程网

HTML5新特性、Canvas专列、CSS3新特性、CSS3进阶、CSS3实例演练

阶段3.移动端

移动端核心、移动端适配、移动端特效

阶段4.服务器端

服务器端开发、数据库操作、前后端交互核心、微信公众号开发

阶段5.JavaScript高级

JavaScript基础深入剖析、JavaScript面向对象深入讲解、JavaScript异步编程、

JavaScript函数式编程JavaScript设计模式

阶段6.前端必备

性能优化、版本控制工具、模块化、项目构建工具

阶段7.高级框架

React框架基本使用、React框架进阶、Vue框架基本使用、Vue框架进阶、Vue源码分析

阶段8.小程序

原生小程序入门、原生小程序API使用、小程序框架Mpvue

前端学习方向

你可以根据这个学习的步骤,从上到下看看你自己哪些是掌握的,哪些是没有学过的,这样你就可以查缺补漏及时的找到自己的盲区,然后重点的攻克这些盲区,希望对你有所帮助。

web前端开发通道 Web前端新手要掌握的性能优化

Web前端工程师要掌握的工作经验

今天小编要跟大家分享的文章是关于Web前端工程师要掌握的工作经验。设计师与工程师的交流经常是鸡同鸭讲,牛头对不上马嘴,为了帮同学们搞定这个难题,小编整理了一个列表,帮同学们能跟工程师无障碍沟通,全是非常实用的知识点。





开发者一般不是令人惊艳的设计师,设计师也通常不是出色的开发者。虽然有很多例外,但这两行的门道对对方而言都是难以言说的谜,然而双方却要在这种情况下合作完成项目。作为在两个领域都工作过的人,北大青鸟web前端培训专家整理了一个列表,使设计师能够更好地辅助开发者开发应用和网站。下面来和小编一起看一看吧!


一、Photoshop


开发者经常需要处理设计师制作的Photoshop
PSD文件,因此任何对设计师有益的事情也会对开发者有益,包括绘制易于维护、易于理解的PSD文件。


1、有效地进行版本控制


设计师经常会面对各种装满了一堆没有清晰版本命名的PSD的文件夹。为了解决这个问题,设计师可以事先确定一种合适的版本命名格式(理想的格式应该使文件在字顺排序下自动有意义地排列)。


2、保持图层


不要轻易合并图层。需要导出时,通过组合,隐藏/显示图层的方式来进行,导出后再把文件恢复到原来的状态。不要轻易破坏有用的数据。电脑性能更不是合并图层的理由——若被此限制,你应该做的是买内存更大,性能更好的电脑。


3、对图层进行有意义的命名


虽然对图层命名比较繁琐,但这样做确实能够帮助理解,尤其是在重用文件元素的时候。命名时应确保文字图层的名称反应其内容。重复的图层也要进行有意义的命名,而不是简单的“副件”。


4、合理地对图层编组


应该把分散在不同图层的视觉元素编为一组。对单一设计的文件来说,编组整体上应该一致按照从左到右,从上到下的顺序。层次和顺序比按颜色编码图层更好,因为图层移动时,颜色还需要保持。


5、去掉不需要的图层


不再需要的旧版本、模版和参考材料以及临时复件应该从图层中及时删除。间歇性地浏览一下你的所有图层,及时删除不需要的东西。


6、使用图层复合


Photoshop的图层复合功能可以让你制作多组图层状态,如可见性,位置甚至图层风格。你可以用图层复合功能来灵活地在一份文件中整合设计中不同部分(比如网站的多个标签、应用的多个页面)。这样做可以不必保留重复的图层编组,从而减小文件大小。


7、保存矢量文件和可伸缩效果


在设计应用时,很可能会需要原设计两倍尺寸的图片来适应有双倍像素的新设备。确保在这种情况下你不需要重新绘制所有的图标。


二、助力开发者


还有一些特别与应用及网页设计相关的建议,每项都有相应的要求和限制。


8、学会在缩放时保存圆角


操作系统经常会统一圆角的角半径(iOS通常为12像素)。Adobe
Fireworks会保持圆角矩形的角半径,但Photoshop不会。因此确保你用直接选择工具来选取圆角的点并且以传统的方式缩放图像。


9、在72ppi下进行设计


一个像素就是一个像素,更多的像素只会生成更大的文件。不要通过改分辨率来蒙混过关。


10、对齐像素


确保相关的形状工具设置成对齐像素。根据你的需要使用像素网格等工具。一贯使用偶数尺寸来方便裁剪。


11、使用RGB模式


这点不仅对颜色显示重要,对开发者将颜色正确地写入代码也同样关键。


12、资源准备是你工作的一部分


很多(大多数)开发者除了基本的编辑功能外对Photoshop一窍不通。设计师需要适时地导出可能会在应用或网站上用到的裁剪图,因为毕竟他们是对文件和Photoshop最熟悉的人。这项工作虽然很痛苦,而且很耗时,但这是除“设计”外90%的工作。


13、谨慎地使用字体


不同的设备和操作系统的预设字体有所不同,因此不能确保这些设备都有你进行设计的电脑上的字体(事实上,你比一般人的设备上的字体都多)。基本上,将应用或网站上的文字以实际文本的格式呈现会有更好的效果,但这也使对字体的选择不仅基于视觉,还有可行性上的考虑。


还有一点值得注意,允许个人设计使用的许可也许不允许你将该字体完全使用在应用或网页上。在选定设计中使用的字体之前,确保和你的开发者或客户进行有效沟通。


14、确定设计尺寸


对移动设备应用来说,屏幕尺寸不是全部信息,你还需要考虑系统状态栏等的存在,以及他们如何在屏幕横排和竖排时影响尺寸(比如iOS设备的顶端状态栏会在横排的时候减小较小边的尺寸,在竖排的时候减小大边的尺寸)。和你的开发者确认一下应用是否为完整的全屏很必要。


15、使用平台风格


每个平台(操作系统)都有其独特的用户界面元素和交互风格(也会根据不同的设备有所不同)。在设计时注意这些风格,并且除了有特殊原因,不要进行与平台本身风格差别太大的设计。例如,在iPad上,你会发现这些需要注意的地方:


1、支持两种屏幕方向的强烈需求


2、双栏设计在两种屏幕方向上都可接受


3、将弹出框作为一种界面元素和分组机制


4、确定的文件浏览器的风格


5、在级别较高的导航栏中,返回按钮是向左指的图标


因此,在设计时要熟悉平台,因为你的设计要适应它。没有哪一种单一的设计可以适应所有的平台。。


16、对横排和竖排分别进行设计


不同的屏幕方向需要不同的交互设计风格,这不仅是因为屏幕宽高比,还因为用户以不同方向手持设备时外形、重量和平衡上的区别。只针对适应屏幕宽高比进行设计顶多是一个糟糕的妥协策略。


17、针对每种主流尺寸和情景进行设计


同一应用在手机、平板和电脑上的内容和交互都应有所不同。对移动设备而言,我们也需要考虑注意力持续时间、注意力分散、使用设备时的身体协调性减弱,以及用户在移动或危险情境下使用设备的可能性(例如走路时的障碍物、过马路时的交通情况以及驾驶安全性)。这些使用情景与设备的尺寸和本质有不可否认的关系,有效的设计应该充分考虑这些因素。


18、使用纯正的,至少实际的示例内容


好的示例内容标准有以下几条:


1、示例内容涵盖应用可能的长度,而不是仅仅为了原型设计的方便。


2、设计必需的数据缺省时的显示方案,尤其如用户照片等。


3、考虑不合需要的输入示例,比如需要进行裁剪的过宽或过长的图片。


4、包含极端或少见的名字示例,包括超长或不间断的姓和名。


5、地址不限制为当地的地址形式,而包括各种可能的长度和格式。


6、在设计的任何角落都找不到“Loremipsum”。


19、本地化考虑


当大多数人考虑支持其它语言时,他们想的是文本。而当设计师或开发者考虑本地化时,他们应该考虑的是布局。为了实现本地化,你的设计应该使所有文本支持与英文50%的宽度差异。在显示同等内容时,亚洲语言需要的空间比英语少接近50%,而欧洲语言会比英语多接近50%。这个问题在设计按钮和帮助文本时尤其重要。


20、考虑屏幕全局光源


作为设计师,你应该早就了解每个平台都有其不可改变的屏幕全局光源(例如在iOS上,是在中心的正上方,或90度)。所有高光和阴影效果都应该和平台的光源相协调。


21、明确导航和组织控件设计


向你的开发者明确展示你的设计中包含的标签、下拉菜单或者其它闭合机制。在进行这种控件设计时,要尊重平台的设计惯例。开发者在进行开发时需要明确了解信息层次,因此你要确保你的设计清晰地展示你的意图。图层复合在这种情况下非常有用。


22、导出图形时不进行压缩


在导出时以PNG
alpha通道格式保存,除非被明确告知其它保存方式。除非被明确要求,否则不要使用JPEG格式。不要考虑图像文件大小,因为开发者或他们的开发环境会对图像进行最优化。以透明背景导出每个元素,而不是纯色,即便你设计中的一部分背景确实是纯色的。


23、询问阴影的处理


和你的开发者沟通是否要将阴影效果包含在导出图中。通常情况下,开发者会用CSS或写代码来应用阴影,这样做事实上会比直接使用预先保存的阴影位图更方便容易。不要假定阴影效果应该包含在图像中,虽然在设计原型时用图层展示阴影效果。


24、理解按钮的构建方法


应用或网页上的按钮几乎都不是用单一的图片创建的,而通常是下面两种情况:


a:3部分图像,左端图像,右端图像,重复的单像素宽的中间部分(允许图像的横向扩展)


b:9部分图像,上中下-左端图像,上中下-右端图像,以及3个重复的上中下中间部分(允许按钮的横向和纵向扩展)


最后想法


任何软件都应该是平面设计、交互设计和开发三者合作的结果,这三部分都同等重要。知道另外领域的需求对我们自己的工作非常有帮助。


以上就是小编今天为大家分享的关于Web前端工程师要掌握的工作经验的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助,想要了解更多web前端知识的小伙伴们记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利!


以上就是我爱编程网为大家带来的web前端开发通道 Web前端新手要掌握的性能优化,希望能帮助到大家,更多相关信息,敬请关注我爱编程网!
与“web前端开发通道 Web前端新手要掌握的性能优化”相关推荐
web前端开发中的优化 Web前端新手要掌握的性能优化
web前端开发中的优化 Web前端新手要掌握的性能优化

Web前端应该从哪些方面来优化网站1、图片整合,减少图片获取加载;2、代码精简,减少不必要的标签;3、样式抽取,尽量将样式独立到.css文件,而不是写在html中;4、样式能用代码尽量用代码,而不用图片;5、同一个系统中,布局、样式的统一可操作性、交互方面的优化。Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文

2023-09-27 09:54:45
web前端开发优化插件 Web前端新手要掌握的性能优化
web前端开发优化插件 Web前端新手要掌握的性能优化

web前端开发常用工具有哪些Web前端是为了协调前端设计与后端开发之间工作的岗位,是最接近产品和设计的工程师,起到衔接产品和技术的作用,前端为用户可以看到的部分负责,所以也是最接近用户的工程师。Web前端开发基础技能:HTML、CSS、JavaScript前端的开发中,在页面的布局时,HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和

2023-09-14 18:46:13
web开发前端数据阻塞 Web前端新手要掌握的性能优化
web开发前端数据阻塞 Web前端新手要掌握的性能优化

Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文将分享一些前端性能优化的常用手段,包括减少请求次数、减小资源大小、各种缓存、预处理和长连接机制,以及代码方面的性能优化等方面。下面来和小编一起看一看吧!base64:尤其是在移动端,小图标可以base64(webpack),大图片慎用(如果加载速度过于慢的,而且很重要的图片,可

2023-08-30 13:32:46
web前端开发图片加载不出 Web前端新手要掌握的性能优化
web前端开发图片加载不出 Web前端新手要掌握的性能优化

webgis前端开发在运行时浏览器加载不了地图视图显示参数设置不当。要使发布在ArcGISServer上的地图资显示在浏览器上,需要对视图显示属性如范围、中心点和缩放等参数进行正确设置,否则将会导致地图加载不出来,由此得知,webgis前端开发在运行时浏览器加载不了地图是视图显示参数设置不当导致的。Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能

2023-10-10 16:31:43
前端开发web性能优化 Web前端性能优化的实用技巧汇总
前端开发web性能优化 Web前端性能优化的实用技巧汇总

如何进行web前端性能优化?提起Web前端性能优化的问题,前端开发人员非常熟悉,对于一个网站而言,即使内容和功能再优秀,如果用户需要花费很久的时间才能打开,这样迟早会消耗用户的耐心,并最终失去用户。那如何才能优化前端性能?归纳为三步一、关键资源字节数字节数也就是通常说的减少资源文件(js、css、image、video...)的大小。1、压缩前端使用uglif

2023-09-12 11:49:08
web开发前端性能优化 Web前端性能优化的实用技巧汇总
web开发前端性能优化 Web前端性能优化的实用技巧汇总

Web前端性能优化的实用技巧汇总今天小编要跟大家分享的文章是关于Web前端性能优化的实用技巧汇总。javascript在浏览器中运行的性能,可以认为是开发者所面临的最严重的可用性问题。这个问题因为javascript的阻塞性而变得复杂,事实上,多数浏览器使用单一进程来处理用户界面和js脚本执行,所以同一时刻只能做一件事。js执行过程耗时越久,浏览器等待响应的时间越长。一.提高加

2023-09-14 05:49:40
web前端开发中的性能优化 前端性能优化之路——图片篇。
web前端开发中的性能优化 前端性能优化之路——图片篇。

Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文将分享一些前端性能优化的常用手段,包括减少请求次数、减小资源大小、各种缓存、预处理和长连接机制,以及代码方面的性能优化等方面。下面来和小编一起看一看吧!base64:尤其是在移动端,小图标可以base64(webpack),大图片慎用(如果加载速度过于慢的,而且很重要的图片,可

2023-10-15 15:10:42
web前端开发中页面性能优化 Web前端性能优化的实用技巧汇总
web前端开发中页面性能优化 Web前端性能优化的实用技巧汇总

Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文将分享一些前端性能优化的常用手段,包括减少请求次数、减小资源大小、各种缓存、预处理和长连接机制,以及代码方面的性能优化等方面。下面来和小编一起看一看吧!base64:尤其是在移动端,小图标可以base64(webpack),大图片慎用(如果加载速度过于慢的,而且很重要的图片,可

2023-10-12 03:20:19