Web前端是一个很新的职业,在国内乃至国际上真正开始受到重视的时间不超过5年,Web前端开拓是从网页制作演变而来的,名称上有很明显的时代特性,在互联网的演变进程傍边,网页制作是Web1.0时代的产品,其时网站的基本内容都是动态的,用户利用网站的行为也以浏览为主,Web前端的岗位职责是利用(X)HTML5、CSS、JavaScript、DOM等各种Web技能结合产品的界面开发,制作标准化纯手工代码,并增加交互功能,开拓JavaScript和Flash模块,同时结合后端开拓技能仿照全部效果,结束丰富互联网的Web开拓,致力于经过进程技能改进用户体验...
参与企业真实的项目积累实战经验
真实企业项目实战,成立项目专项小组,团队完成,更贴近工作场景。
课程贯穿企业核心项目贯穿全课程,培养Web大局观
云服务器真实部署,项目上线,投入使用。
真实对接企业,标准化,规范化,流程化的工作流。
实战讲师手把手教学,完成50000行代码。
学员自主完成3个不低于10000行代码的项目。
随着硬件的完善、高性能浏览器的出现和宽带的普及,技术可以在用户体验方面实现更多种可能,前端技术领域迸发出旺盛的生命力。网页不再只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。随着手机成为人们生活中不可或缺的一部分,成为人们身体的延伸,人们迎来了体验为王的时代。移动端的前端技术开发前景宽阔。此外,前端技术还能应用于智能电视、智能手表甚至人工智能领域。因此越来越多的人开始学习Web前端技术。
HTML5已成为移动互联网领域的主宰者
01游戏
现在用HTML5开发的游戏已经越来越成熟,未来也必将制作更多游戏
02网络应用
是未来的一种趋势,因为HTML5的特性“跨平台”让开发更**快捷
03微信
微信小游戏,微信商城,微信小程序,前端新型热门 吸金项目
04苹果
苹果已使用HTML5。各种你想象不到的产品,已经在你的生活中出现
今天小编要跟大家分享的文章是关于Web前端工程师需要牢记的前端性能优化有哪些?熟悉Web前端工作的工程师都知道前端性能优化是前端工作中非常重要的一部分。今天小编就从实际的工程应用角度出发,聊我们最常遇见的前端优化问题,希望能够对大家有所帮助。
1. 减少HTTP请求次数
尽量合并图片、CSS、JS。比如加载一个页面,如果有5个css文件的话,那么会发出5次http请求,这样会让用户第一次访问你的页面的时候会长时间等待。而如果把这个5个文件合成一个的话,就只需要发出一次http请求,节省网络请求时间,加快页面的加载。
2. 使用CDN
网站上静态资源即css、js全都使用cdn分发,图片亦然。
3. 避免空的src和href
当link标签的href属性为空、script标签的src属性为空的时候,浏览器渲染的时候会把当前页面的URL作为它们的属性值,从而把页面的内容加载进来作为它们的值。所以要避免犯这样的疏忽。
4. 为文件头指定Expires
Exipres是用来设置文件的过期时间的,一般对css、js、图片资源有效。他可以使内容具有缓存性,这样下回再访问同样的资源时就通过浏览器缓存区读取,不需要再发出http请求。如下例子:新浪微博的这个css文件的Expires时间是2016-5-04 09:14:14
5. 使用gzip压缩内容
gzip能够压缩任何一个文本类型的响应,包括html,xml,json。大大缩小请求返回的数据量。
6. 把CSS放到顶部
网页上的资源加载时从上网下顺序加载的,所以css放在页面的顶部能够优先渲染页面,让用户感觉页面加载很快。
7. 把JS放到底部
加载js时会对后续的资源造成阻塞,必须得等js加载完才去加载后续的文件,所以就把js放在页面底部最后加载。
8. 避免使用CSS表达式
举个css表达式的例子
font-color:expression((neW Date()).getHours()%3 ? "#fff" : "#aaa");
这个表达式会持续的在页面上计算样式,影响页面的性能。并且css表达式只被IE支持。
9. 将CSS和JS放到外部文件中
目的是缓存文件,可以参考原则4。 但有时候为了减少请求,也会直接写到页面里,需根据PV和IP的比例权衡。
10. 权衡DNS查找次数
减少主机名可以节省响应时间。但同时,需要注意,减少主机会减少页面中并行下载的数量。IE浏览器在同一时刻只能从同一域名下载两个文件。当在一个页面显示多张图片时,IE 用户的图片下载速度就会受到影响。所以新浪会搞N个二级域名来放图片。
11. 精简CSS和JS
这里就涉及到css和js的压缩了。比如下面的新浪的一个css文件,把空格回车全部去掉,减少文件的大小。现在的压缩工具有很多,基本主流的前端构建工具都能进行css和js文件的压缩,如grunt,glup等。
12. 避免跳转
有种现象会比较坑爹,看起来没什么差别,其实多次了一次页面跳转。比如当URL本该有斜杠(/)却被忽略掉时。例如,当我们要访问 http:// * 时,实际上返回的是一个包含301代码的跳转,它指向的是 http:// */ (注意末尾的斜杠)。在nginx服务器可以使用reWrite;Apache服务器中可以使用Alias 或者 mod_reWrite或者the DirectorySlash来避免。
另一种是不用域名之间的跳转, 比如访问 http:// */bbs 跳转到 http:// bbs.*/ 。那么可以通过使用Alias或者mod_reWirte建立CNAME(保存一个域名和另外一个域名之间关系的DNS记录)来替代。
13. 删除重复的JS和CSS
重复调用脚本,除了增加额外的HTTP请求外,多次运算也会浪费时间。在IE和Firefox中不管脚本是否可缓存,它们都存在重复运算JavaScript的问题。
14. 配置ETags
它用来判断浏览器缓存里的元素是否和原来服务器上的一致。比last-modified date更具有弹性,例如某个文件在1秒内修改了10次,Etag可以综合Inode(文件的索引节点(inode)数),MTime(修改时间)和Size来精准的进行判断,避开UNIX记录MTime只能精确到秒的问题。 服务器集群使用,可取后两个参数。使用ETags减少Web应用带宽和负载
15. 可缓存的AJAX
异步请求同样的造成用户等待,所以使用ajax请求时,要主动告诉浏览器如果该请求有缓存就去请求缓存内容。如下代码片段, cache:true就是显式的要求如果当前请求有缓存的话,直接使用缓存
$.ajax({
url : 'url',
dataType : "json",
cache: true,
success : function(son, status){},
error : function(){}
})
16. 使用GET来完成AJAX请求
当使用XMLHttpRequest时,浏览器中的POST方法是一个“两步走”的过程:首先发送文件头,然后才发送数据。因此使用GET获取数据时更加有意义。
17. 减少DOM元素数量
这是一门大学问,这里可以引申出一堆优化的细节。想要具体研究的可以看后面推荐书籍。总之大原则减少DOM数量,就会减少浏览器的解析负担。
18. 避免404
比如外链的css、js文件出现问题返回404时,会破坏浏览器的并行加载。
19. 减少Cookie的大小
Cookie里面别塞那么多东西,因为每个请求都得带着他跑。
20. 使用无cookie的域
比如CSS、js、图片等,客户端请求静态文件的时候,减少了 Cookie 的反复传输对主域名的影响。
21. 不要使用滤镜
IE独有属性AlphaImageLoader用于修正7.0以下版本中显示PNG图片的半透明效果。这个滤镜的问题在于浏览器加载图片时它会终止内容的呈现并且冻结浏览器。在每一个元素(不仅仅是图片)它都会运算一次,增加了内存开支,因此它的问题是多方面的。
完全避免使用AlphaImageLoader的最好方法就是使用PNG8格式来代替,这种格式能在IE中很好地工作。如果你确实需要使用AlphaImageLoader,请使用下划线_filter又使之对IE7以上版本的用户无效。
22. 不要在HTML中缩放图片
比如你需要的图片尺寸是50* 50,那就不用用一张500*500的大尺寸图片,影响加载(说到这里可能有朋友会说了,后台上传的图片我也没办法控制他上传的尺寸啊,这里只是说的最开始做静态页面的时候的一些注意事项,至于后面怎么去操作,那就看网编怎么办了,尽可能把自己能做的做到最好就行了)
以上就是小编今天跟大家分享的关于Web前端工程师需要牢记的前端性能优化有哪些?的文章,基本可以涵盖现在前端大部分的性能优化原则了,很多更加geek和精细优化方法都是从这些原则里面延伸出来的。希望本篇文章能够对正在从事Web相关工作的小伙伴们有所帮助。想要了解更多Web相关知识记得关注Web前端培训官网哦~
【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】
免费为您提供优质的机构
稍后会有专业老师给您回电,请保持电话畅通
易达招生网@版权所有 豫ICP备12014175号
本站文章由用户自行上传发布,如有侵权内容请及时联系我们删除。