<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[很有必要]精简代码，为网站减负的十大建议]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 21 Jan 2014 01:38:30 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	网站快速加载，是提供良好用户体验的前提。然而，网站功能的不断增多，程序包的不断臃肿，导致网站访问时较大的下载量，最终影响了响应速度。没有一个用户喜欢等待，如何减少代码量，为网站减去过多负担，Craig Buckler在sitepoint网站发表了一篇文章《10 Quick and Easy Fixes to Reduce Page Weight》，分享为网站减负的十个建议。下面为该文的编译内容。<br/>2013年，网站页面的重量增加了32%，竟然达到了1.7MB，包含96个独立HTTP请求。这只是一个平均数值，其中近一半的网站已经超过了这个数值。网站的过度臃肿正趋于流行，其中很大的责任在于Web开发者。<br/>过于笨重的网站将严重影响网站的最终体验，主要表现在以下四个方面：<br/>•更大的下载量，导致更慢的用户体验。并不是每个人都拥有20M的网络连接，尤其是对于那些不发达地区。不管你的网站多么优秀，用户永远不希望等待。<br/>•移动Web访问正迅速发展，移动网民几乎占到所有网民的1/4。在典型的3G网络连接下，一个1.7Mb的网站加载需要近一分钟。如果你的网站无法高效工作于这些移动设备，那采用响应式Web设计技术又有什么用呢？<br/>•网站加载速度已被谷歌加入排名算法中。加载缓慢会降低网站排名，同时也会影响搜索引擎优化。<br/>•网站包含的代码越多，更新和维护它所花费的时间就会越长。<br/>Craig Buckler预言，2014年网页的重量将会下降。那如何精简代码，为网站减负呢？Craig Buckler给出了十条建议。这些建议中涉及到的技术均是大家熟知的。<br/>1.启用GZIP压缩<br/>根据 W3Techs.com上的数据显示，近一半的网站都未进行过压缩。在Web主机上，通过简单的服务器设置即可开启GZIP压缩。<br/>2.支持浏览器缓存<br/>如果浏览器能容易地缓存一个文件，那它就无需反复下载该文件了。实现该功能的一个解决方案，就是在HTTP头中设置合适的 Expires Header、上一次修改时间或采用的 ETags。<br/>你可通过配置服务器来自动完成以上工作。下面是Apache中的.htaccess文件，其中的代码实现了“将所有图片缓存一个月”的功能。<br/>3.使用CDN<br/>浏览器限制了每个域中可同时处理的并发HTTP请求数量：4至8个。如果你的网页需要从域中加载96个资源，那浏览器最多可设置12组并发请求。（因为文件大小并不同，这种情况实际上并不会发生，但该限制仍然适用。）<br/>如若从另一个域中请求静态文件，则可使浏览器处理的HTTP请求数量加倍。此外，一个文件被调用后就会产生一个缓存文件，以供下一个调用它的网站使用。我们可选用JavaScript库（如jQuery）和字体库，同时你也可以考虑专用的图片托管。<br/>前面提到的三条建议可以加快网站的加载速度，下面的建议将帮助我们检查网站代码，以高效地减少网站重量。<br/>4.删掉没用的资源<br/>网站一直在变革之中。如果你不再使用某组件，那就删掉与之关联的CSS和JavaScript。如果它们包含在一个单独文件中，处理起来就会很简单。否则，你需要借助一些工具，如Chrome的Audit开发工具、 JSLint、 Dust-Me Selectors、 CSS Usage、 unused-css.com，也可构建 grunt-uncss此类的工具。<br/>5.合并和压缩CSS<br/>理想的情况是只拥有一个CSS文件（如果你使用RWD以支持IE的老版本，那就需要两个CSS文件。）构建并维护几个单独的CSS文件也算合理，但在部署到产品服务器之前，你应该将它们集合在一起，并删掉那些不必要的空白区域。<br/>Saas、LESS和Stylus等预处理器可帮你完成这些痛苦的工作。 Grunt.js、 Gulp等工具可自动化你的工作流。如果你更喜欢GUI，可借助Koala提供的免费跨平台应用。<br/>如果你觉得这些比较麻烦，也可手动通过命令行工具将CSS文件集中在一起，如在Windows中，可使用如下代码：<br/>在Mac/Linux中，可使用如下代码：<br/>最终文件经过在线CSS压缩工具（如 cssminifier.com、 CSS Compressor &amp; Minifieror等）压缩后即可运行。<br/>最后，请记住在头部（Head）加载所有CSS，以便浏览器展示接下来的HTML元素，同时也可避免浏览器下次再重绘页面元素。<br/>6.压缩并合并JavaScript<br/>平均每个页面需加载18个JavaScript文件，所以我们要将自己编写的JavaScript代码进行合并和压缩。我们可以自己构建压缩工具，也可以使用在线工具，如 YUI Compressor、 Closure Compiler及 CompressorRater。<br/>使用JavaScript压缩工具进行压缩，必须十分谨慎。你的代码有一点小问题，即便丢失了一个分号，压缩过程也可能会失败。无论如何，对JavaScript文件进行压缩，可减少HTTP请求数量，从而提高网站性能。<br/>最好在&lt;/body&gt;之前加载JavaScript，这样可确保该脚本不会阻碍其它内容的加载，同时在该脚本被下载和执行之前，页面的内容已加载完毕，并可阅读了。<br/>7.使用正确的图片格式<br/>错误地使用图片格式会增加网页的负载。图片格式通常有以下使用原则：<br/>•照片使用JPG格式；<br/>•其他的使用PNG格式。<br/>当你有一些小图像，它们仅包含有限的几种色彩集，采用GIF格式，其压缩效果可能更好。本文暂不讨论向量图。<br/>现在有大量免费的图形软件包，可用来转换图片的格式。其中像XnView允许你批处理这些文件。请记住下面两条原则：<br/>JPG为一种有损压缩格式，其质量介于0（质量很差、更小的文件）至100（质量最好，更大的文件）之间。介于30至70之间的大部分图片显示效果比较好。<br/>PNG支持256颜色表和24位的真彩色。如果你不需要透明，并能控制调色板，那256的PNG图像颜色模式可能压缩得更好。<br/>8.重整大图片的尺寸<br/>即便是最入门级的智能手机上的照片机（三百万像素），其拍出来的照片往往太大而不适合在网站上显示。但大部分内容编辑者往往将图片直接从相机中直接上传到网站上。因此，我们需要一个可以自动调整图片尺寸的系统。<br/>图片的尺寸永远不能超过它所在容器的最大值。如果网站模板的宽度最大为800px，那图片的宽度就不能超过该值。一些高分辨率、Retina显示屏，可显示宽度为1600px的图片，但这仍比从相机中直接输出的图片要小。<br/>在减轻网页重量方面，图片尺寸的调整起着重要的作用。将图片尺寸缩小50%，可节省75%的总空间，相当于减少了文件大小。<br/>9.进一步压缩图片<br/>即便已将图片调整为正确的格式和尺寸，你仍可使用一些分析和优化图像的工具进一步压缩图片。这些工具包括 OptiPNG、 PNGOUT、 jpegtran和 jpegoptim。大部分工具可独立安装，也可整合入你构建的过程中。另外，还有一些在线工具，如Smush，它可以工作于云上。<br/>10.去掉不必要的字体<br/>Web字体对设计进行了重大改革，减少了基于图像的字体的使用。但是，使用传统字体后，网页的代码量往往会增加数百KB。所以网站中这种字体的使用尽量控制在两、三种以内。<br/>利用以上提到的方法，大部分网站可以将减去30~50%的重量。对于一般的网站，可以减掉800KB的代码量，访问速度可获明显提升。（<br/><br/><br/>来自：http://www.csdn.net/article/2014-01-20/2818201-ten-quick-fixes-reduce-page-weight
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [很有必要]精简代码，为网站减负的十大建议]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>