在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。 也就是说是在不改变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指只管不使用文件系统作为缓存、削减读写文件次数等。程序优化永远要优化慢的部门,换语言是无法“优化”的。
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入
3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入
链接: http://www.fly63.com/article/detial/1109