ÊׯÁÒ»ÃëäÖȾÔÔò
¶ÔÓÚAPPÀïÃæµÄH5Ò³ÃæÊׯÁäÖȾʱ¼ä²»Äܳ¬¹ý1Ã룬ÊׯÁ²»Òª¼ÓÔØÌ«¶à×ÊÔ´¡£

- ·þÎñÆ÷ÏìÓ¦±ØÐëСÓÚ200ms
- ¾¡Á¿ÉÙµÄÖØ¶¨Ïò
- ¾¡Á¿ÉٵĵÚÒ»´ÎäÖȾÇëÇóÊý
- ±ÜÃâ¹ý¶à×èÈûµÄJS¡¢CSS
- ¸øä¯ÀÀÆ÷Áô200msµÄäÖȾʱ¼ä
ÓÅ»¯ÎÒÃǵÄJSÖ´ÐÐЧÂʺÍäÖȾʱ¼ä
¼ÓÔØÓÅ»¯
¼õÉÙHTTPÇëÇó
¾¡Á¿¼õÉÙÒ³Ãæ¶Ôºǫ́µÄÇëÇóÊý£¬Äܺϲ¢µÄºÏ²¢¡£
- ºÏ²¢CSS¡¢JavaScriptµÈ´úÂë
- ºÏ²¢Ð¡Í¼Æ¬£¬Ê¹ÓÃÑ©±Ìͼ
ʹÓÃÏìÓ¦ÐÔÍøÒ³Éè¼Æ£¬±ÜÃâÖØ¶¨Ïò
ÏìÓ¦ÐÔÍøÒ³Éè¼ÆÊÇָͨ¹ýÍ¬Ò»ÍøÖ·ÌṩÏàͬHTML´úÂëµÄÍøÕ¾Éè¼Æ·½·¨£¬Ê¹Óû§²»Óÿ¼ÂÇËùʹÓõÄÊÇPC¡¢Pad¡¢APPÉ豸£¬×Ô¶¯ÊÊÓ¦ËùʹÓõÄÉ豸ÆÁÄ»¡£
ʹÓÃä¯ÀÀÆ÷»º´æ
ʹÓÃä¯ÀÀÆ÷»º´æ¼õÉÙ¶Ô·þÎñÆ÷µÄÇëÇó£¬ËùÓпɻº´æ¾²Ì¬×ÊÔ´(JS¡¢CSS¡¢Í¼Ïñ¡¢Ã½ÌåÎļþ¡¢PDFÎļþ)¶¼Ó¦¸ÃÔÚ·þÎñÆ÷¶ËÆôÓÃä¯ÀÀÆ÷»º´æ(»º´æÒ»ÇпÉÒÔ»º´æµÄ×ÊÔ´)¡£×¢£º HTML²»ÊǾ²Ì¬×ÊÔ´¡£
- ÉèÖÃExpires±¨Í·Îª½«À´Ä³¸öʱ¼ä£¬±ÈÈçÉèÖÃΪ1ÖÜ¡£Ôòä¯ÀÀÆ÷ÔÚÕâÒ»ÖÜÄÚ·ÃÎʽ«Ê¹ÓÃÒѾ»º´æµÄ×ÊÔ´£¬²»»á·¢³öGETÇëÇóÈ¥ÍøÂç²é¿´×ÊÔ´ÊÇ·ñ·¢Éú¸Ä±ä¡£³ý·ÇÓû§ÊÖ¶¯Çå³ýÁË»º´æ¡£

¶ÔÓÚÉèÖÃÁË»º´æµÄÍøÂçÇëÇóÎÒ´óÖ»ÁËÒ»¸öÁ÷³ÌͼÈçÏ£º

- ÉÏÃæÌáµ½µÄʹÓÃÍâÁªÊ½ÒýÓÃCSS¡¢JavaScript¿ÉÒÔÆô¶¯ä¯ÀÀÆ÷µÄ»º´æ¹¦ÄÜ
ÆôÓÃѹËõ¡¢ºÏ²¢¹¦ÄÜ
ͨ¹ý¶ÔHTML¡¢CSS¡¢JavaScriptµÈ×ÊÔ´½øÐÐѹËõºÏ²¢¡£²¢ÔÚ·þÎñÆ÷¶ËÉèÖÃGZip¡£
- Îļþ×ÊԴѹËõ£º½«¶àÓàµÄ¿Õ¸ñ¡¢»»Ðзû¡¢Ëõ½ø¡¢×¢Ê͵Ȳ»±ØÒªµÄ×Ö½ÚÈ¥µô´Ó¶øÌá¸ßÏÂÔØ¡¢½âÎö¡¢Ö´ÐÐËÙ¶È£¬ÕâÒ»ÀàµÄÔÚÏß¹¤¾ß±È½Ï¶à£¬ÕâÀïÁоټ¸¸öÈçÏ£º
ÔÚÏßJS/CSS/HTMLѹËõ http://tool.oschina.net/jscompress
Minify your JavaScript http://javascript-minifier.com/
YUI Compressor https://developer.yahoo.com/yui/compressor/
- ºÏ²¢Îļþ£ºÃ¿Ò»¸öCSS¡¢JSÎļþ¶¼ÊÇÒ»¸öHTTPÇëÇó£¬Êʵ±½«Ïà¹ØµÄ¶à·ÝÎļþºÏ²¢³ÉÒ»¸öÎļþÒÔ¼õÉÙHTTPµÄÇëÇóÊý¡£
minify https://github.com/mrclay/minify
- Æô¶¯ÍøÂç·þÎñÆ÷ѹËõ¹¦ÄÜ£ºApache¡¢Nginx¡¢IIS¶¼Ö§³ÖÅäÖÃѹËõ¹¦ÄÜ¡£
ÓÉÓÚÎÒÃǺǫ́ÏîÄ¿²ÉÓÃÁË.NET¼Ü¹¹£¬ËùÒÔÎÒÃÇÔÚ´ËÕë¶ÔIIS½øÐÐѹËõ¹¦ÄܵÄÅäÖá£IISĬÈÏÊÇÆô¶¯Ñ¹Ëõ¹¦Äܵģ¬IISÖ§³Ö¡°¾²Ì¬ÄÚÈÝѹËõ¡±ºÍ¡°¶¯Ì¬ÄÚÈÝѹËõ¡±Á½ÖÖ£¬ÈçÏÂͼ£¬

ÊׯÁ¼ÓÔØ¡¢°´Ðè¼ÓÔØ¡¢Ô¤¼ÓÔØ
ÊׯÁÓ¦¸Ã¾¡Á¿¿ØÖÆÔÚ1ÃëÖ®ÄÚ;¶ÔÓÚÏ൱ÆÁÄ»²»ÓõÄ×ÊÔ´Ó¦¸Ã·Åµ½Óû§ÐèÒªµÄʱºòÔÙ¼ÓÔØ(ÑÓ³Ù¼ÓÔØ¡¢ÉÏÀ¹öÆÁ¼ÓÔØ);¿É¸ÐÖªºÍ²»¿É¸ÐÖªµÄ¼ÓÔØ(Loading¼ÓÔØ½ø¶ÈÌõ¡¢Ìáǰ¼ÓÔØÏÂÒ»Ò³)¡£
äÖȾÓÅ»¯
HTMLÖÐÌí¼ÓViewportÀ´¼ÓËÙÒ³ÃæµÄäÖȾ
<metaname="viewport"content="width=device-width,initial-scale=1"> |
¼õÉÙDOM½Úµã
DOM½ÚµãÌ«¶à»áÓ°ÏìÒ³ÃæµÄäÖȾ£¬¾¡Á¿¼õÉÙDOM½Úµã
¶¯»ÓÅ»¯
- ¾¡Á¿Ê¹ÓÃCSS3¶¯»
- ºÏÀíʹÓÃrequestAnimationFrame¶¯»´úÌæsetTimeout
- Êʵ±Ê¹ÓÃCanvas¶¯» 5¸öÔªËØÒÔÄÚʹÓÃcss¶¯»£¬5¸öÒÔÉÏʹÓÃCanvas¶¯»(iOS8¿ÉʹÓÃwebGL)
CSSÓÅ»¯
±ÜÃâÄÚÁªÊ½ºÍǶÈëʽ´úÂë(CSS)
- ±ÜÃâÔÚHTML±êÇ©ÖÐдstyleÊôÐÔ(ÄÚÁªÊ½)
- ±ÜÃâÔÚ<style>±êÇ©Öж¨ÒåCSS(ǶÈëʽ)
ʹÓÃ<link>½«CSSдÔÚÍ·²¿<head>±êÇ©ÖÐ,¶ø²»ÒªÊ¹ÓÃ@import
ºÏ²¢CSSÒÔ¼õÉÙÎļþ¸öÊý** ÿһ¸öÎļþ¾ÍÊÇÒ»¸öHTTPÇëÇó
±ÜÃâCSS±í´ïʽ
CSS±í´ïʽµÄÖ´ÐÐÐèÌø³öCSSÊ÷µÄäÖȾ£¬Çë±ÜÃâCSS±í´ïʽ
ÒÆ³ý¿ÕµÄCSS¹æÔò
¿ÕµÄCSS¹æÔòÔö¼ÓCSSÎļþµÄ´óС£¬Ó°ÏìCSSÊ÷µÄÖ´ÐУ¬ÐèÒªÒÆ³ý¿ÕµÄCSS¹æÔò
¾¡Á¿ÉÙÓÃWeb×ÖÌå
Web×ÖÌåÐèÒªÏÂÔØ£¬½âÎö£¬ÖØ»æµ±ÃæÒ³Ãæ
²»ÉùÃ÷¹ý¶àµÄFont-Size
¹ý¶àµÄFont-SizeÒý·¢CSSÊ÷µÄЧÂÊ
ֵΪ0ʱ²»ÐèÒªÈκε¥Î»
JavaScriptÖ´ÐÐÓÅ»¯
±ÜÃâÄÚÁªÊ½ºÍǶÈëʽ´úÂë(JS)
- ±ÜÃâÔÚHTML±êÇ©ÖÐдÀàËÆÓÚonclickÕâÀàÊôÐÔ(ÄÚÁªÊ½)
- ¾¡Á¿±ÜÃâʹÓÃ<script>±êÇ©¶¨ÒåJS´úÂë(ǶÈëʽ)
JavaScriptдÔÚβ²¿»òÒì²½
- ÓÅÏÈ¿¼ÂÇÔÚ<script>±êÇ©ÖÐʹÓÃsrcÊôÐÔÒýÈëÍⲿJSÎļþ
- Äܹ»Òì²½ÑÓ³Ù¼ÓÔØµÄJS¾¡Á¿·Åµ½ÊׯÁ¼ÓÔØÍê³ÉÖ®ºó¼ÓÔØ£¬±ÜÃâÒòΪҪÏÂÔØ¡¢½âÎö¡¢Ö´ÐÐÔÙÈ¥äÖȾHTMLÔì³ÉÒ³ÃæµÄ×èÈû£º
<scriptasyncsrc="async.js"> |
- //ÈçºÎÒì²½¼ÓÔØ¶à¸öµÚÈý·½JS×é¼þ
- //https://gist.github.com/zenorocha/5161860
- (function(){
- varscript,
- scripts=document.getElementsByTagName('script')[0];
- functionload(url){
- script=document.createElement('script');
- script.async=true;
- script.src=url;
- scripts.parentNode.insertBefore(script,scripts);
- }
- load('//apis.google.com/js/plusone.js');
- load('//platform.twitter.com/widgets.js');
- load('//s.widgetsite.com/widget.js');
- }());
|
¼õÉÙÖØ»æ(Íâ¹Û·¢Éú±ä»¯)ºÍ»ØÁ÷(²¼¾Ö·¢Éú±ä»¯)
±ÜÃâ²»±ØÒªµÄDOM²Ù×÷£¬¾¡Á¿¸Ä±äClass¶ø²»ÊÇStyle
»º´æDOMÑ¡ÔñºÍÁбí.length
ÿ´ÎDOMÑ¡ÔñºÍÁбílength¶¼Òª¼ÆËã£¬ÌØ±ðÊÇÔÚforÑ»·ÀïÃæÊ¹ÓÃʱ£¬ÇëÓÃÒ»¸ö±äÁ¿±£´æÕâ¸öÖµÒÔ¼õÉÙÿ´ÎforÑ»·Ê±µÄÖØÐ¼ÆËã
¾¡Á¿Ê¹ÓÃIDÑ¡ÔñÆ÷
IDÑ¡ÔñÆ÷ÊÇ×î¿ìµÄ
ͼƬÓÅ»¯
ÓÅÏÈ¿¼ÂÇÆäËüͼƬ´úÌæ·½°¸
ÍøÂçÉÏÍùÍù×îºÄÁ÷Á¿µÄ¾ÍÊÇͼƬ£¬ÌرðÊÇÓû§ÔÚÊÖ»úÉÏ·ÃÎÊ£¬ÓÅÏÈ¿¼ÂÇÓÐûÓÐÆäËüµÄ·½°¸¿ÉÒÔ´úÌæÍ¼Æ¬£¬±ÈÈ磺
- CSS3
- SVG£¬ÊÇÒ»¸öXMLÎļþ£¬ÔÚÈÎºÎÆÁÄ»·Ö±æÂÊÉÏÈÎÒâËõ·Å¶¼ÊDZßÔµÇåÎúµÄ£¬ÇåÎú¶È²»»á±»ÆÆ»µ¡£±ÈGIFºÍJPEG¸ñʽµÄÎļþҪСºÜ¶à
- IconFont,°¢Àï°Í°ÍʸÁ¿Í¼±ê¿â
- Srcset(ÏìӦʽͼƬ)
ѹËõͼƬ
¿ÉÒÔʹÓÃͼƬѹËõ¹¤¾ß¶ÔͼƬ½øÐÐѹËõʹͼƬ¾¡¿ÉÄÜС
ʹÓÃͼƬѹËõ¹¤¾ß£¬±ÈÈçÌÚѶÖÇͼ
Ñ¡ÔñÊʵ±µÄͼƬ¸ñʽ
WebPÓÅÓÚJPG,PNG8ÓÅÓÚGIF;ÇëÎðʹÓÃBMPºÍTIFF¸ñʽ.ÕâÀï½èÓÃGoogleµÄÒ»ÕÅͼƬ¸ñʽѡÔñ·½°¸£º

WebPÊÇÒ»ÖÖ¼Ó¿ìͼƬ¼ÓÔØËٶȵÄͼƬ¸ñʽ,ͼƬѹËõÌå»ýÖ»ÓÐJPEGµÄ2/3,ĿǰFacebook,Google¡¢taobaoµÈÖªÃû¹«Ë¾¶¼ÔÚ×Ô¼ºµÄÓ¦ÓÃÀïÃæÊ¹Óà WebP¸ñʽµÄͼƬ¡£

ĿǰChrome¡¢Android¿ÉÒԺܺõØÖ§³ÖWebP¸ñʽ£¬iOS¿ÉÒÔͨ¹ýµÚÈý·½·½°¸À´Ö§³ÖWebP¡£
ʹÓÃCSS SpriteÑ©±Ìͼ
½«¶à¸öͼƬÕûºÏµ½Ò»¸öͼƬÖУ¬ÔÙÀûÓÃCSSÊôÐÔ(background-image¡¢background-position¡¢background-repeat)À´¾«È·¶¨Î»ÒªÏÔʾµÄͼƬ£¬¼õÉÙÁËHTTPµÄÇëÇóÊýºÍÇëÇó´óС¡£
±ÜÃâͼƬºÍiframeµÈµÄ¿ÕµÄSrc
¿ÕSrc»áÖØÐ¼ÓÔØµ±Ç°Ò³Ã棬ӰÏìËٶȺÍЧÂÊ¡£
CDN¼ÓËÙ
ͨ¹ýCDNÀ´¼ÓËÙÊÇÒ»ÏîÏà¶Ô¶øÑԳɱ¾±È½Ï¸ßµÄÓÅ»¯ÊֶΣ¬ËùÒÔÕâЩ°ÑËü·ÅÔÚËùÓÐÓÅ»¯·½·¨µÄ×îºó£¬µ«ËüÊÇÒ»Ïî·Ç³£ÓÐЧµÄÓÅ»¯·½°¸
CDN(Content Delivery Network)¼´ÄÚÈÝ·Ö·¢ÍøÂ磬½«Ô´Õ¾ÄÚÈÝ·Ö·¢ÖÁÈ«¹úËùÓеĽڵ㣬Ëõ¶ÌÓû§²é¿´¶ÔÏóµÄÑÓ³Ù£¬Ìá¸ßÓû§·ÃÎÊÍøÕ¾µÄÏìÓ¦ËÙ¶ÈÓëÍøÕ¾µÄ¿ÉÓÃÐÔ£¬½â¾öÍøÂç´ø¿íС¡¢Óû§·ÃÎÊÁ¿´ó¡¢Íøµã·Ö²¼²»¾ùµÈÎÊÌâ¡£
|