web页面重构和前端性能优化

更新日期: 2018-09-25阅读: 2.7k标签: 重构

网站重构:

在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。 也就是说是在不改变UI的情况下,对网站进行优化,在扩展的同时保持一致的UI。 


对于传统的网站来说重构通常是: 

表格(table)布局改为DIV+css 
使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对IE6有效的) 
对于移动平台的优化 
针对于seo进行优化 
深层次的网站重构应该考虑的方面 
减少代码间的耦合 
让代码保持弹性 严格按规范编写代码 
设计可扩展的api 
代替旧有的框架、语言(如VB) 
增强用户体验 
通常来说对于速度的优化也包含在重构中 
压缩JS、CSS、image等前端资源(通常是由服务器来解决) 
程序的性能优化(如数据读写) 
采用CDN来加速资源加载 
对于JS dom的优化 
HTTP服务器的文件缓存 


你有用过哪些前端性能优化的方法?

   (1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。 

 (2) 前端模板 JS+数据,减少由于html标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数 

 (3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。 

 (4) 当需要设置的样式很多时设置className而不是直接操作style。 

 (5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。 

 (6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。

 (7) 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。 

 (8) 避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢。 对普通的网站有一个统一的思路,就是尽量向前端优化、减少数据库操作、减少磁盘IO。向前端优化指的是,在不影响功能和体验的情况下,能在浏览器执行的不要在服务端执行,能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join查询),减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等。程序优化永远要优化慢的部分,换语言是无法“优化”的。


链接: https://www.fly63.com/article/detial/1109

web页面的重构和回流【转载】

在了解什么是重构和回流之前,我们应该先看看浏览器是怎么渲染的?浏览器的渲染过程;什么是重构和回流;什么操作会引起重绘、回流;浏览器对回流的优化;如何减少回流、重绘

代码重构!你敢吗?

我从基础架构部门,转调到业务部门。技术负责人想让我搞定业务系统的稳定性问题。当时的业务系统确实存在不少问题,不过我初来乍到,对整体系统不熟悉,就想在熟悉一段时间后再动手。

代码重构的基本认知

代码不可能在第一次就写得完美,这是一个持续修改的过程,那么应该怎么来进行呢?好代码的检验标准就是人们是否能轻而易举地修改它。

前端项目重构要点总结

项目是公司主打业务产品之一的可视化子项目,与其他子项目几乎没有耦合,所以可以单独拎出来重构。具体业务不作描述。技术主要用的是Vue2系列和JavaScript,还有一个自研的可视化工具库。第一个重构原因就是没有引入静态类型

重构保持函数的单一职责

单一职责的定义可以理解为:一个对象或者方法,只做一件事。遵守单一职责的实例太多了,下面简单列举一下。说是这样说,但是大家看着可能会有点懵,看不出来遵守单一原则有什么好处,下面看一个实例。

指尖前端重构(React)技术调研分析

React是当前前端应用最广泛的框架。三大SPA框架 Angular、React、Vue比较。Angular出现最早,但其在原理上并没有React创新的性能优化,且自身相对来说显得笨重。Vue出现最晚,其核心原理学习了React

web前端代码重构

1. 整理一套vscode中格式化配置,在页面保存时自动格式化,团队成员格式统一(搭配eslint)。2. 整理项目中的命名(不要嫌长,但也不能过于冗长,尽量能让人一眼看明白)

JavaScript重构技巧-让函数简单明了

JavaScript 是一种易于学习的编程语言,编写运行并执行某些操作的程序很容易。然而,要编写一段干净的JavaScript 代码是很困难的。

代码重构的实战经验和那些坑

我在一家创业公司的小团队里搞软件开发。彼时我们有一位真实的企业客户,且软件的第一版也已发布。开发按进度完工,在发布时我欣喜若狂

前端的自动化重构

过去,我一直想着抽时间写一个小的前端工具,以对代码进行自动化的重构。但是呢,经过我再三的考虑,我暂时取消了这个打算 —— 主要是没时间

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!