Awesome
<h1 align="center"> <br> <a href="https://github.com/thedaviddias/Front-End-Performance-Checklist"><img src="https://raw.githubusercontent.com/thedaviddias/Front-End-Performance-Checklist/master/images/logo-front-end-performance-checklist.jpg" alt="Front-End Performance Checklist" width="170"></a> <br> <br>  Front-End Performance Checklist  <br> </h1> <h4 align="center">ð® äœãããæ©ãåäœããããã®å¯äžã®ããã³ããšã³ãããã©ãŒãã³ã¹ãã§ãã¯ãªã¹ãã§ãã</h4> <p align="center">ã·ã³ãã«ãªã«ãŒã«: "ããã©ãŒãã³ã¹ãèæ ®ããŠãã¶ã€ã³ã»ã³ãŒãã£ã³ã°ããããš"</p> <p align="center">  <a href="http://makeapullrequest.com">    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome">  </a>  <a href="https://discord.gg/btHQRkm">    <img src="https://img.shields.io/badge/chat-on_discord-4837E2.svg?style=flat-square" alt="Discord">  </a>   <a href="https://opensource.org/licenses/MIT">    <img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="Licence MIT">  </a> </p> <p align="center">  <a href="#䜿ãæ¹">䜿ãæ¹</a> ⢠<a href="#contributing">Contributing</a> ⢠<a href="http://feedback.frontendchecklist.io/">ããŒãããã</a> ⢠<a href="https://www.producthunt.com/posts/front-end-performance-checklist">Product Hunt</a> </p> <p align="center"> <a href="https://github.com/JohnsenZhou/Front-End-Performance-Checklist">ðšð³</a> <a href="https://github.com/WilliamDASILVA/Front-End-Performance-Checklist">ð«ð·</a> <a href="https://github.com/ParkSB/Front-End-Performance-Checklist">ð°ð·</a> <a href="https://github.com/fernandofawkes/Front-End-Performance-Checklist">ðµð¹</a> <a href="https://github.com/lex111/Front-End-Performance-Checklist">ð·ðº</a> </p> <p align="center"> <span>Other Checklists:</span> <br> ð <a href="https://github.com/thedaviddias/Front-End-Checklist#---------front-end-checklist-">Front-End Checklist</a> ⢠ð <a href="https://github.com/thedaviddias/Front-End-Design-Checklist#front-end-design-checklist">Front-End Design Checklist</a> </p>Table of Contents
- HTML
- CSS
- Fonts
- Images
- JavaScript
- ãµãŒã ïŒäœæäžïŒ
- JS Frameworks ïŒäœæäžïŒ
ã¯ããã«
ããã©ãŒãã³ã¹ã¯å€§ããªããŒãã§ããããã€ã "ããã¯ãšã³ã" ã "管çè " ã®åé¡ãšããããã§ã¯ãããŸãããããã³ããšã³ãã®è²¬ä»»ç¯å²ã§ããããŸãããã®ããã³ããšã³ãããã©ãŒãã³ã¹ãã§ãã¯ãªã¹ãã¯ãããã³ããšã³ãéçºè ãšããŠãããžã§ã¯ãïŒå人ã§ãæ¥åã§ãïŒã«å ããå Žåã«ã確èªãããã¯æ°ã«ããŠããã¹ãé ç®ãç¶²çŸ çã«ãªã¹ãã¢ãããããã®ã§ãã
䜿ãæ¹
åã«ãŒã«ã«ã¯ããã®ã«ãŒã«ãéèŠã§ãã çç± ãš ä¿®æ£ãã æ¹æ³ ãèšèŒããŠããŸãããã詳现ãªæ å ±ã¯ã ð : ããŒã«ã ð: èšäºã ð¹: åç»ãµã€ã ã®ãªã³ã¯ãåç §ããŠãã ããã
ããã³ããšã³ãããã©ãŒãã³ã¹ãã§ãã¯ãªã¹ã ã¯ãã©ããæé«ã®ããã©ãŒãã³ã¹ã¹ã³ã¢ãéæããããã«ã¯äžå¯æ¬ ãªé ç®ã§ãããã©ã®ã«ãŒã«ãåªå çã«é©çšãã¹ãããïŒæ®µéã§ç€ºããŠããŸãã
- ã¯ãåªå 床ã äœ ã§ããããšãæå³ããŠããŸãã
- ã¯ãåªå 床ã äž ã§ããããšãæå³ããŠããŸãã ãã®ã«ãŒã«ã®é©çšãé¿ããã¹ãã§ã¯ãããŸããã
- ã¯ãåªå 床ã é« ã§ããããšãæå³ããŠããŸãã ãã®ã«ãŒã«ã«åŸããæšå¥šãããæ¹æ³ã§å®è£ ããŠãã ããã
ããã©ãŒãã³ã¹ããŒã«
ãŠã§ããµã€ã ãŸã㯠ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ããã¢ãã¿ãªã³ã°ã«äœ¿çšã§ããããŒã«ã®ãªã¹ã:
- ð WebPagetest - Website Performance and Optimization Test
- ð â Dareboost: Website Speed Test and Website Analysis (use the coupon WPCDD20 for -20%)
- ð Treo: Page Speed Monitoring
- ð GTmetrix | Website Speed and Performance Optimization
- ð PageSpeed Insights
- ð Web.dev
- ð Pingdom Website Speed Test
- ð Make the Web Faster | Google Developers
- ð Sitespeed.io - Welcome to the wonderful world of Web Performance
- ð Calibre
- ð Website Speed Test | Check Web Performance » Dotcom-Tools
- ð Website and Server Uptime Monitoring - Pingdom (Free Signup Link)
- ð Uptime Robot
- ð SpeedCurve: Monitor front-end performance
- ð PWMetrics - CLI tool and lib to gather performance metrics
- ð Varvy - Page speed optimization
- ð Lighthouse - Google
- ð Checkbot browser extension - Checks for web performance best practices
- ð Yellow Lab Tools | Online test to help speeding up heavy web pages
- ð Speedrank - Web Performance Monitoring
- ð DebugBear - Monitor website performance and Lighthouse scores
- ð packtracker.io - Check your webpack bundle size on every pull request.
- ð Exthouse - Analyze the impact of a browser extension on web performance
åèæç®
- ð¹ The Cost Of JavaScript - YouTube (text version)
- AddyOsmani.com - Start Performance Budgeting
- ð Get Started With Analyzing Runtime Performance  | Google Developers
- ð State of the Web | 2018_01_01
- ð Page Weight Doesn't Matter
- ð Front-End Performance Checklist 2018 [PDF, Apple Pages]
- ð Designing for Performance Weighing Aesthetics and Speed - By Lara Callender Hogan [eBook, Print]
- ð Varvy - Web performance glossary
- ð fabkrum/web-performance-resources: Up to date collection of valuable web performance resources
- ð Checkbot - Web Speed Best Practices
- ð Progressive Tooling - A list of community-built, third-party tools that can be used to improve page performance
HTML
-
HTML ã®è»œéåïŒMinifiedïŒ: HTML ã³ãŒãã¯å§çž®ãããã³ã¡ã³ãã空çœãæ¹è¡ãæ¬çªã®ãã¡ã€ã«ããåé€ãããŠããããšã
çç±:
äžèŠãªã¹ããŒã¹ãã³ã¡ã³ãããã¬ãŒã¯ãå šãŠåé€ãããšãHTML ã®ãµã€ãºãå°ãããªãããµã€ãã®ããŒãžã®èªã¿èŸŒã¿æéãççž®ããããŠãŒã¶ã®ããŠã³ããŒãã«ãããæéãæããã«è»œæžãããŸãã
æ¹æ³:
ã»ãšãã©ã®ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãWeb ããŒãžã容æã«å§çž®ããããšãã§ãããã©ã°ã€ã³ããããŸããèªåçã«ãžã§ããå®è¡ã§ããå€ãã® NPM ã¢ãžã¥ãŒã«ã䜿çšã§ããŸãã
-
äžèŠãªã³ã¡ã³ãã®åé€: ã³ã¡ã³ããããŒãžããåé€ãããŠããããšã確èªããŠãã ããã
çç±:
ã³ã¡ã³ãã¯ãŠãŒã¶ã«ãšã£ãŠäœã圹ã«ç«ããªãã®ã§ãæ¬çªã®ãã¡ã€ã«ããã¯åé€ãã¹ãã§ããã³ã¡ã³ããä¿æããããªãã±ãŒã¹ã¯ãã©ã€ãã©ãªã®ãœãŒã¹ãä¿æããå¿ èŠãããå Žåãããã§ãã
æ¹æ³:
ã»ãšãã©ã®å Žåãã³ã¡ã³ã㯠HTML å§çž®ãã©ã°ã€ã³ã䜿ã£ãŠåé€ããããšãã§ããŸãã
-
äžèŠãªå±æ§ã®åé€:
type="text/javascript"
ãtype="text/css"
ã®ãããªã¿ã€ãå±æ§ã¯ããã¯ãå¿ èŠã§ã¯ãªãããåé€ãã¹ãã§ãã<!-- Before HTML5 --> <script type="text/javascript"> // JavaScript code </script> <!-- Today --> <script> // JavaScript code </script>
çç±:
HTML5 ã§ã¯ããã©ã«ã㧠text/css ãš text/javascript ãå«ãŸããŠãããããã¿ã€ãå±æ§ã¯å¿ èŠãããŸãããæªäœ¿çšã®ã³ãŒãã¯ããŒãžãéãããããããŠã§ããµã€ããã¢ããªã§äœ¿çšãããªãã³ãŒãã¯åé€ãã¹ãã§ãã
æ¹æ³:
ãã¹ãŠã®
<link>
ããã³<script>
ã¿ã°ã« type å±æ§ããªãããšã確èªããŠãã ããã- ð The Script Tag | CSS-Tricks   Â
-
CSS ã¿ã°ã¯å¿ ã JavaScript ã¿ã°ã®åã«é 眮: å¿ ã CSS ã JavaScript ã³ãŒãã®åã«ããŒããããããšã確èªããŠãã ããã
<!-- Not recommended --> <script src="jquery.js"></script> <script src="foo.js"></script> <link rel="stylesheet" href="foo.css"/> <!-- Recommended --> <link rel="stylesheet" href="foo.css"/> <script src="jquery.js"></script> <script src="foo.js"></script>
çç±:
JavaScript ã®åã« CSS ã¿ã°ã眮ããšãããå¹ççãªäžŠåããŠã³ããŒããå¯èœãšãªãããã©ãŠã¶ã®ã¬ã³ããªã³ã°æéãççž®ãããŸãã
æ¹æ³:
<head>
å ã®<link>
ãš<style>
ããåžžã«<script>
ã®åã«ããããšã確èªããŠãã ããã -
iframe ã®æ°ãæå°éã«æãã: iframe ã¯ä»ã®æè¡çãªå¯èœæ§ããªãå Žåã«ã®ã¿äœ¿çšããŠãã ãããã§ããéã iframe ã®äœ¿çšãé¿ããŸãããã
-
prefetchãdns-prefetchãprerender ã§ã®äºåèªã¿èŸŒã¿ã«ããæé©å: äžè¬çãªãã©ãŠã¶ã§ã¯ã
<link>
ã¿ã°ã« "rel" å±æ§ã®ãã£ã¬ã¯ãã£ãæå®ããããšã§ç¹å®ã® URL ãäºåèªã¿èŸŒã¿ããããšãã§ããŸããçç±:
äºåèªèŸŒã¿ïŒPrefetchingïŒã«ããããã©ãŠã¶ã¯ãŠãŒã¶ãè¿ãå°æ¥ã¢ã¯ã»ã¹ããå¯èœæ§ã®ããã³ã³ãã³ãã®è¡šç€ºã«å¿ èŠãªãªãœãŒã¹ãäºåã«ååŸããŠããããšãã§ããŸãããã©ãŠã¶ã¯ãããã®ãªãœãŒã¹ããã£ãã·ã¥ã«ä¿åããã®ã§ãã³ã³ãã³ããç°ãªããã¡ã€ã³ã䜿ã£ãŠããå Žåã§ã Web ããŒãžã®èªã¿èŸŒã¿ãé«éåã§ããŸãã Web ããŒãžã®èªã¿èŸŒã¿ãå®äºããã¢ã€ãã«æéãçµéãããšããã©ãŠã¶ã¯ä»ã®ãªãœãŒã¹ã®ããŠã³ããŒããéå§ããŸãããŠãŒã¶ãç¹å®ã®ãªã³ã¯ïŒäºåèªã¿èŸŒã¿æžã¿ïŒã«ã¢ã¯ã»ã¹ãããšãã³ã³ãã³ãã¯å³æã«æäŸãããŸãã
æ¹æ³:
â
<link>
ã¿ã°ã<head>
ã¿ã°å ã« ããããšã確èªããŠãã ããã
CSS
-
ãã¡ã€ã«ã®è»œéåïŒminificationïŒ: ãã¹ãŠã® CSS ãã¡ã€ã«ã¯å§çž®ãããã³ã¡ã³ãã空çœãæ¹è¡ãæ¬çªã®ãã¡ã€ã«ããåé€ãããŠããŸãã
çç±:
CSS ãã¡ã€ã«ã®å§çž®ãè¡ããšãã³ã³ãã³ãã®èªã¿èŸŒã¿æéãæ©ããªãã¯ã©ã€ã¢ã³ãã«éä¿¡ãããããŒã¿ãå°ãªããªããŸããåžžã«æ¬çªçšã® CSS ãã¡ã€ã«ã¯å§çž®ãããŠããããšãéèŠã§ãã垯åå¹ ããªãœãŒã¹äœ¿çšéãåæžãããããžãã¹ãŠãŒã¶ã«ãšã£ãŠæçã§ãã
æ¹æ³:
â ãã«ããŸãã¯ãããã€ã¡ã³ãã®åãŸãã¯éäžã§ãã¡ã€ã«ãèªåçã«å§çž®ããããŒã«ã䜿çšããŸãã
-
ãã¡ã€ã«ã®çµå: CSS ãã¡ã€ã«ã1ãã¡ã€ã«ã«çµåããŸãã ïŒHTTP/2 ã§ã¯åžžã«æå¹ãšã¯éããŸããïŒ
<!-- Not recommended --> <link rel="stylesheet" href="foo.css"/> <link rel="stylesheet" href="bar.css"/> <!-- Recommended --> <link rel="stylesheet" href="foobar.css"/>
çç±:
ãŸã HTTP/1 ã䜿çšããŠããã°ããã¡ã€ã«ãçµåããå¿ èŠããããããããŸããããããµãŒãã HTTP/2 ã䜿çšããŠããå Žåã¯ãã®éãã§ã¯ãããŸãããïŒãã¹ããè¡ãå¿ èŠããããŸãïŒ
æ¹æ³:
â ãã«ãåããã«ãäžããããã¯ãããã€åããããã€äžã«ããªã³ã©ã€ã³ã®ããŒã«ãããã¯ãã©ã°ã€ã³ã䜿ã£ãŠãã¡ã€ã«ãçµåããŸãã <br> â ãã¡ãããçµåã«ãããããžã§ã¯ããå£ããªããã©ããã¯ç¢ºèªããŠãã ããã
-
ãã³ããããã³ã°: DOM ã®èªã¿èŸŒã¿ã«æéããããã®ãé²ããããCSS ãã¡ã€ã«ã¯ãã³ããããã³ã°ã§ããå¿ èŠããããŸãã
<link rel="preload" href="global.min.css" as="style" onload="this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="global.min.css"></noscript>
çç±:
CSS ãã¡ã€ã«ã¯ãããŒãžã®èªã¿èŸŒã¿ããããã¯ãã¬ã³ããªã³ã°ãé 延ãããå¯èœæ§ããããŸãã
preload
ã䜿çšãããšããã©ãŠã¶ãããŒãžã®ã³ã³ãã³ãã衚瀺ãå§ããåã« CSS ãã¡ã€ã«ãèªã¿èŸŒãŸããããšãã§ããŸããæ¹æ³:
â
preload
ã®å€ãæã€rel
å±æ§ãšãas="style"
ã<link>
èŠçŽ ã«è¿œå ããå¿ èŠããããŸãã -
CSS ã¯ã©ã¹ã®é·ã: ã¯ã©ã¹ã®é·ãã¯ïŒæçµçã«ïŒHTML ãã¡ã€ã«ãš CSS ãã¡ã€ã«ã«ïŒããããªïŒåœ±é¿ãäžããå¯èœæ§ããããŸãã
çç±:
ããã©ãŒãã³ã¹ãžã®åœ±é¿ãè°è«ã®äœå°ããããŸããããããžã§ã¯ãã®åœåèŠåã決ããŠãããšãã¹ã¿ã€ã«ã·ãŒãã®ä¿å®æ§ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸããBEM ã䜿çšããå Žåãå¿ èŠä»¥äžã®æåãã¯ã©ã¹ã«å«ãŸããããšããããŸããååãåå空éããã£ãããšèãéžæããããšã¯åžžã«éèŠã§ãã
æ¹æ³:
æåæ°ã«å¶éãèšå®ããããšã¯äžéšã®äººã«ãšã£ãŠã¯èå³æ·±ãããšã§ããããŠã§ããµã€ããã³ã³ããŒãã³ãã«åå²ããããšã§ãã¯ã©ã¹ïŒããã³å®£èšïŒã®æ°ãšé·ããæžããããšãã§ããŸãã
-
æªäœ¿çšã® CSS: æªäœ¿çšã® CSS ã»ã¬ã¯ã¿ãåé€ããã
çç±:
æªäœ¿çšã® CSS ã»ã¬ã¯ã¿ãåé€ãããšããã¡ã€ã«ãµã€ãºãåæžã§ãã¢ã»ããã®èªã¿èŸŒã¿ãæ©ããªããŸãã
æ¹æ³:
â â ïž äœ¿çšãã CSS ãã¬ãŒã ã¯ãŒã¯ã«ãªã»ãã CSS/ããŒãã©ã€ãº CSS ã®ã³ãŒããå«ãŸããŠããªããã©ãããåžžã«ç¢ºèªããŠãã ããããªã»ãã CSS/ããŒãã©ã€ãº CSS ãã¡ã€ã«ã«èšèŒãããŠããå šãŠã®ã³ãŒããå¿ èŠãšããªãå ŽåããããŸãã
- ð UnCSS Online
- ð PurifyCSS
- ð PurgeCSS
- ð Chrome DevTools Coverage
-
ã¯ãªãã£ã«ã« CSS: ã¯ãªãã£ã«ã« CSSïŒãŸã㯠above the foldïŒãšã¯ããã¡ãŒã¹ããã¥ãŒã®ã¬ã³ããªã³ã°ã«äœ¿çšããããã¹ãŠã® CSS ã§ããäž»èŠãª CSS ã®èªã¿èŸŒã¿åã«ããã
<style></style>
ã¿ã°ã«ã€ã³ã©ã€ã³åïŒå¯èœãªéãå§çž®ïŒããŠèšèŒããŸããçç±:
ã€ã³ã©ã€ã³åããã¯ãªãã£ã«ã« CSS ã䜿çšãããšãWeb ããŒãžã®ã¬ã³ããªã³ã°ãé«éåãããµãŒããžã®ãªã¯ãšã¹ãåæ°ãæžããããšãã§ããŸãã
æ¹æ³:
ãªã³ã©ã€ã³ããŒã«ããŸã㯠Addy Osmani ãéçºãããããªãã©ã°ã€ã³ã䜿çšããŠã¯ãªãã£ã«ã« CSS ãçæããããšãã§ããŸãã
-
åã蟌㿠ãŸã㯠ã€ã³ã©ã€ã³ CSS:
<body>
å ã§åã蟌㿠CSSããŸãã¯ã€ã³ã©ã€ã³ CSS ã䜿ãã®ã¯é¿ããŸãããã ïŒHTTP/2 ã§ã¯ç¡å¹ïŒçç±:
æåã®çç±ã®äžã€ã¯ãã³ã³ãã³ãããã¶ã€ã³ããåé¢ ããããšãã°ãããã©ã¯ãã£ã¹ã ããã§ããã³ãŒãã®ä¿å®æ§ãåäžãããµã€ãã®ã¢ã¯ã»ã·ããªãã£ãåäžããŸããããã©ãŒãã³ã¹ã«é¢ããŠèšããšãHTML ããŒãžã®ãã¡ã€ã«ãµã€ãºãšèªã¿èŸŒã¿æéãççž®ããããšãã§ããŸãã
æ¹æ³:
åžžã«å€éšã¹ã¿ã€ã«ã·ãŒãã䜿çšãããã
<head>
ã« CSS ãåã蟌ã¿ãŸããïŒä»ã® CSS ããã©ãŒãã³ã¹ã«ãŒã«ã«åŸããŸãïŒ -
ã¹ã¿ã€ã«ã·ãŒãã®è€éããåæãã: ã¹ã¿ã€ã«ã·ãŒããåæãããšãCSS ã»ã¬ã¯ã¿ã®åé¡ãåé·æ§ãéè€ãèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã
çç±:
CSS ã«åé·æ§ãæ€èšŒãšã©ãŒãããå Žåã¯ãCSS ãã¡ã€ã«ãåæããããã®è€éãªã³ãŒããåé€ãããšãCSS ãã¡ã€ã«ã®èªã¿èŸŒã¿ãé«éåãããŸããïŒãã©ãŠã¶ãé«éã«èªã¿åãããã§ãïŒ
æ¹æ³:
CSS ããªããã»ããµã䜿çšããŠãCSS ãæŽçããå¿ èŠããããŸããäžèšã®ãªã³ã©ã€ã³ããŒã«ã®äžéšã¯ã³ãŒãã®åæãšä¿®æ£ã«ã圹ç«ã¡ãŸãã
- ð TestMyCSS | Optimize and Check CSS Performance
- ð CSS Stats
- ð macbre/analyze-css: CSS selectors complexity and performance analyzer
- ð Project Wallace 㯠CSS Stats ã«äŒŒãŠããŸãããå€æŽã远跡ã§ããããã«çµ±èšçµæãé·æéä¿åããŸãã
Fonts
-
ãŠã§ããã©ã³ã ãã©ãŒããã: ãŠã§ããããžã§ã¯ããŸãã¯ã¢ããªã±ãŒã·ã§ã³ã§ WOFF2 ã䜿çšããŠããŸãã
çç±:
Google ã«ãããšãWOFF 2.0 ãŠã§ããã©ã³ãã®å§çž®ãã©ãŒãããã¯ãWOFF 1.0 ãããå¹³å30%åäžããŸãããã®å ŽåãWOFF 2.0ãWOFF 1.0 ããã©ãŒã«ããã¯ããã³ TTF ãšããŠäœ¿çšããããšããå§ãããŸãã
æ¹æ³:
æ°ãããã©ã³ããè³Œå ¥ããåã«ããããã€ãã WOFF2 ãã©ãŒããããæäŸããŠãããããšã確èªããŠãã ãããããªãŒãã©ã³ãã䜿çšããŠããå Žåã¯ãåžžã« Font Squirrel ã䜿çšããŠå¿ èŠãªãã¹ãŠã®ãã©ãŒããããçæããããšãã§ããŸãã
-
ãã©ã³ããããéãèªã¿èŸŒãã«ã¯ã
preconnect
ã䜿çšããŸã:<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
çç±:
ãŠã§ããµã€ãã«ã¢ã¯ã»ã¹ããããããã€ã¹ã¯ãã®ãµã€ããã©ãã«ãããã©ã®ãµãŒãã«æ¥ç¶ããå¿ èŠããããæ€åºããå¿ èŠããããŸãããã©ãŠã¶ã¯ããªãœãŒã¹ïŒãã©ã³ããCSS ãã¡ã€ã«...ïŒãååŸããåã«ãDNS ãµãŒãã«æ¥ç¶ããã«ãã¯ã¢ãããå®äºããã®ãåŸ ã€å¿ èŠããããŸãããããªãã§ãããšããªã³ãã¯ãã䜿çšãããšããã©ãŠã¶ã¯ DNS æ å ±ãæ€çŽ¢ããŠããã©ã³ããã¡ã€ã«ããã¹ãããŠãããµãŒããžã® TCP æ¥ç¶ã®ç¢ºç«ãéå§ã§ããŸããããã«ããããã©ãŠã¶ããã©ã³ãæ å ±ãå«ã CSS ãã¡ã€ã«ã解æãããµãŒããããã©ã³ããã¡ã€ã«ãèŠæ±ããå¿ èŠãããããšãæ€åºãããŸã§ã«ãDNS æ å ±ãäºåã«è§£æ±ºããããµãŒããžã®ãªãŒãã³æ¥ç¶ãã³ãã¯ã·ã§ã³ããŒã«ã«çšæãããŠãããããããã©ãŒãã³ã¹ãåäžããŸãã
æ¹æ³:
â ãŠã§ããã©ã³ããããªãã§ããããåã«ãwebpagetest ã䜿ã£ãŠãŠã§ããµã€ããè©äŸ¡ããŸããã <br> â éç·è²ã® DNS ã«ãã¯ã¢ãããæ¢ããŠãèŠæ±ããããã¹ããã¡ã¢ããŠãã ãã <br> â ãŠã§ããã©ã³ãã
<head>
ã®äžã§ããªãã§ããããæçµçã«ã¯ããªãã§ããããå¿ èŠããããã¹ãåãè¿œå ããŠãã ãã- ð Faster Google Fonts with Preconnect - CDN Planet
- ð Make Your Site Faster with Preconnect Hints | Viget
- ð Ultimate Guide to Browser Hints: Preload, Prefetch, and Preconnect - MachMetrics Speed Blog
- ð A Comprehensive Guide to Font Loading Strategiesâzachleat.com
- ð typekit/webfontloader: Web Font Loader gives you added control when using linked fonts via @font-face.
-
ãŠã§ããã©ã³ã ãµã€ãº: ãŠã§ããã©ã³ãã®ãµã€ãºã¯ 300kb 以äžã§ãïŒå«ãŸããŠãããã¹ãŠã®ããªãšãŒã·ã§ã³ïŒ
- ãã©ãã·ã¥ãŸãã¯äžå¯èŠããã¹ãã®é²æ¢: ãŠã§ããã©ã³ããèªã¿èŸŒãŸãããŸã§ã¯ãããã¹ããééãããªãããã«ããŸã
Images
-
ð Image Bytes in 2018
-
ç»åã®æé©å: ãšã³ããŠãŒã¶ãŒã«çŽæ¥åœ±é¿ãäžããããšãªãç»åãå§çž®ããæé©åããŠãã ããã
çç±:
æé©åãããç»åã¯ããé«éã«ãã©ãŠã¶ã«èªã¿èŸŒãŸãããããããŒã¿ã®æ¶è²»ãå°ãªããªããŸãã
æ¹æ³:
â å¯èœã§ããã°ãCSS3 ãšãã§ã¯ãã䜿çšããŠãã ããïŒå°ããªç»åã®ä»£ããã«ïŒ <br> â å¯èœã§ããã°ãç»åã«ã¯ããã¹ããšã³ã³ãŒãã®ä»£ããã«ãã©ã³ãã䜿çšããŠãã ãã <br> â SVG ã䜿çšããŠãã ãã <br> â ããŒã«ã䜿ã£ãŠãå§çž®ã¬ãã«ã 85 æªæºã«æå®ããŠãã ãã
- ð Image Optimization | Web Fundamentals | Google Developers
- ð Essential Image Optimization - An eBook by Addy Osmani
- ð TinyJPG â Compress JPEG images intelligently
- ð Kraken.io - Online Image Optimizer
- ð Compressor.io - optimize and compress JPEG photos and PNG images
- ð Cloudinary - Image Analysis Tool
- ð ImageEngine - Image Webpage Loading Test
- ð SVGOMG - Optimize SVG vector graphics files
-
ç»å圢åŒ: ç»å圢åŒãé©åã«éžãã§ãã ããã
çç±:
ç»åãåå 㧠Web ãµã€ãã®é床ãäœäžãããªãããã«ããã«ã¯ãç»åã«é©ãã圢åŒãéžã³ãŸããåçã®å ŽåãPNG ã GIF ããã JPEG ãé©ããŠããŸãããã ãããã¡ã€ã«ã®ãµã€ãºãåæžã§ãã next-gen 圢åŒã確èªããããšãå¿ããªãã§ãã ãããåç»å圢åŒã«ã¯é·æãšçæããããŸãããæãè¯ãéžæãããããã«ãããã®ããšãç¥ã£ãŠããããšãéèŠã§ãã
æ¹æ³:
â Lighthouse ã䜿çšããŠãç»åã next-gen 圢åŒïŒJPEG 2000mãJPEG XRãWebP ãªã©ïŒã䜿çšã§ããããç¹å®ããŸãã <br> â è€æ°ã®ç°ãªãç»å圢åŒãæ¯èŒããŠãã ãããPNG8 ããã PNG16 ã䜿çšããæ¹ãè¯ãå ŽåããããŸãã
-
ãã¯ã¿ãŒç»åãã©ã¹ã¿ãŒ/ããããããã䜿çš: ããããããç»åããããã¯ã¿ãŒç»åã䜿çšããããšããå§ãããŸãïŒå¯èœãªå ŽåïŒã
çç±:
ãã¯ã¿ãŒç»å (SVG) ã¯ãµã€ãºãå°ãããªãåŸåããããã¬ã¹ãã³ã·ãã§ã¹ã±ãŒã«ããããšãã§ããŸãããŸããããã®ç»åã¯ãCSS ã䜿ã£ãŠã¢ãã¡ãŒã·ã§ã³ãããå€æŽãããã§ããŸãã
-
ç»åã®å€§ãã: ã¬ã³ããªã³ã°æã®ç»åãµã€ãºãããã£ãŠããå Žåã¯ã
<img>
ã¿ã°ã«width
ãšheight
ã®å±æ§ãèšå®ããŸããçç±:
ãããããç»åã«é«ããšå¹ ãèšå®ãããŠããã°ãããŒãžãããŒãã£ã³ã°ããæã«ç»å衚瀺ã«å¿ èŠãªã¹ããŒã¹ã確ä¿ãããŸããããããããã®å±æ§ãèšå®ãããŠããªããã°ããã©ãŠã¶ã¯ç»åã®ãµã€ãºãèªèã§ããé©åãªã¹ããŒã¹ã確ä¿ããããšãã§ããŸãããããã«ãããããŒãžïŒç»åãã¡ã€ã«ïŒã®ããŒãã£ã³ã°äžã«ãã¬ã€ã¢ãŠããå€æŽããããšãã圱é¿ãåºãŠããŸããŸãã
-
Base64 ç»åã®äœ¿çšãé¿ãã: å°ããªç»åã§ããã° base64 ã«å€æããããšãã§ããŸãããå®éããã¯ãã¹ããã©ã¯ãã£ã¹ã§ã¯ãããŸããã
-
Lazy loadingïŒé 延èªã¿èŸŒã¿ïŒ: ãªãã¹ã¯ãªãŒã³ç»åïŒãã©ãŠã¶ã«åæ衚瀺ãããªãç»åïŒã¯é 延ããŒãããŸãïŒnoscript ãã©ãŒã«ããã¯ã¯åžžã«æäŸãããŸãïŒã
çç±:
衚瀺ç»é¢ã®å¿çæéãççž®ãããŠãŒã¶ãŒãå¿ èŠãšããªãäžèŠãªç»åã®èªã¿èŸŒã¿ãåé¿ããããšãã§ããŸãã
æ¹æ³:
â Lighthouse ã䜿çšããŠããªãã¹ã¯ãªãŒã³ç»å ã®æ°ãç¹å®ããŸãã<br> â 以äžã®ãã㪠JavaScript ãã©ã°ã€ã³ã䜿çšããŠãç»åã®é 延èªã¿èŸŒã¿ãè¡ããŸããå¿ ããªãã¹ã¯ãªãŒã³ç»åã®ã¿ãé 延èªã¿èŸŒã¿å¯Ÿè±¡ã«ããŠãã ããã <br> â ãŸããããŠã¹ãªãŒããŒæããŠãŒã¶ãŒæäœæã«è¡šç€ºããã代æ¿ç»åãé 延èªã¿èŸŒã¿ããããã«ããŠãã ããã
-
ã¬ã¹ãã³ã·ãç»å: ãã£ã¹ãã¬ã€ãµã€ãºã«è¿ãç»åãå©çšããããã«ããŠãã ããã
çç±:
ç»é¢ãå°ããããã€ã¹ã§ã¯ããã¥ãŒããŒãããã倧ããªç»åãå¿ èŠãšããŸããã1ã€ã®ç»åãããããã®ç°ãªããµã€ãºã§è€æ°æçšæããŠããããšããå§ãããŸãã
æ¹æ³:
â ã¿ãŒã²ãããšããããã€ã¹çšã«ç°ãªãç»åãµã€ãºãäœæããŸãã<br> â
srcset
å±æ§ãpicture
ã¿ã°ã䜿çšããŠãåç»åã®è€æ°ã®ããªãšãŒã·ã§ã³ãé ä¿¡ããŸãã
JavaScript
-
JS å§çž®: å šãŠã® JavaScript ãã¡ã€ã«ãå§çž®ãããã³ã¡ã³ãã空çœãããã³æ¹è¡ããããã¯ã·ã§ã³ãã¡ã€ã«ããåé€ãããŸã ïŒHTTP/2ã䜿çšããŠããå Žåã§ãæå¹ã§ãïŒã
çç±:
äžèŠãªã¹ããŒã¹ãã³ã¡ã³ãããã¬ãŒã¯ããã¹ãŠåé€ãããšãJavaScript ãã¡ã€ã«ã®ãµã€ãºãå°ãããªãããµã€ãã®ããŒãžã®èªã¿èŸŒã¿æéãççž®ããããŠãŒã¶ã®ããŠã³ããŒããæããã«è»œããªããŸãã
æ¹æ³:
â 以äžã«ç€ºãããŒã«ã䜿çšããŠããã«ããŸãã¯ãããã€ã¡ã³ãã®åãæäžã«ãã¡ã€ã«ãèªåçã«å§çž®ããŸãã
-
JavaScriptãå éšã«ã¯ç¡èšèŒ : ïŒãŠã§ããµã€ãã§ã®ã¿æå¹ã§ãïŒ body å éšã«è€æ°ã® JavaScript ã³ãŒããåã蟌ãããšã¯é¿ããŠãã ãããJavaScript ã³ãŒããå€éšãã¡ã€ã«å ã«ãæçµçã«ã¯
<head>
ããŸãã¯ããŒãžã®æåŸïŒ</body>
ã®åïŒã§åã°ã«ãŒãåããŸããçç±:
JavaScript ã®åã蟌ã¿ã³ãŒããçŽæ¥
<body>
ã«é 眮ãããšãDOM ã®æ§ç¯äžã«ããŒãžãèªã¿èŸŒãŸãããããããŒãžã®é床ãäœäžããå¯èœæ§ããããŸãã æé©ãªãªãã·ã§ã³ã¯ãDOM ã®ãããã¯ãåé¿ããããã«ãasync
ãŸãã¯defer
ã§å€éšãã¡ã€ã«ã䜿çšããããšã§ãã å¥ã®ãªãã·ã§ã³ã¯ã<head>
å ã«ããã€ãã®ã¹ã¯ãªãããé 眮ããããšã§ãã<head>
ã«é 眮ããã¹ã¯ãªããã¯ãã»ãšãã©ã®å ŽåãDOM ãã¡ã€ã³åŠçã«å°éããåã«ããŒãããå¿ èŠãããåæã³ãŒããŸãã¯å°ããªã¹ã¯ãªããã§ããæ¹æ³:
ãã¹ãŠã®ãã¡ã€ã«ã
async
ãŸãã¯defer
ã䜿çšããŠããŒããããŠããããšã確èªãã<head>
ã«æ¿å ¥ããå¿ èŠãããã³ãŒããã©ããèŠæ¥µããŸãããã -
ãã³ããããã³ã° JavaScript: JavaScript ãã¡ã€ã«ã¯ã
async
ã䜿çšããŠéåæã§ããŒããããããdefer
å±æ§ã䜿çšããŠé 延ããŒããããŸãã<!-- Defer å±æ§ --> <script defer src="foo.js"></script> <!-- Async å±æ§ --> <script async src="foo.js"></script>
çç±:
JavaScript ã¯ãéåžžã® HTML ããã¥ã¡ã³ã解æããããã¯ãããããããŒãµã
<script>
ã¿ã°ã«å°éãããšïŒç¹ã«<head>
å ã«ããïŒããã§ãããšå®è¡ãåæ¢ããŸããã¹ã¯ãªãããããŒãžã®äžéšã«é 眮ããå Žåã¯async
ãŸãã¯defer
ãè¿œå ããããšã匷ãæšå¥šããŸããã</ body>
ã¿ã°ã®çŽåã§ã¯ããŸãå¹æããããŸããããã ãããããã®å±æ§ãåžžæ䜿çšããããã©ãŒãã³ã¹ã®åé¡ãåé¿ããããšãæãŸããã§ããæ¹æ³:
â ã¹ã¯ãªããã¿ã°ã®å±æ§ãšããŠã
async
ïŒã¹ã¯ãªãããä»ã®ã¹ã¯ãªããã«äŸåããŠããªãå ŽåïŒãŸãã¯defer
ïŒã¹ã¯ãªãããä»ã®ã¹ã¯ãªããã«äŸåããŸãã¯éåæã¹ã¯ãªããã«äŸåããŠããå ŽåïŒãè¿œå ããŸãã <br> â å°ããªã¹ã¯ãªããã¯ãéåæã¹ã¯ãªããã®äžã«ã€ã³ã©ã€ã³ã¹ã¯ãªããã§é 眮ããããšããå§ãããŸãã -
æé©åããã³ã¢ããããŒãããã JS ã©ã€ãã©ãª: ãããžã§ã¯ãã§äœ¿çšãããå šãŠã® JavaScript ã©ã€ãã©ãªãå¿ èŠã§ãã£ãŠïŒåçŽãªæ©èœã«ã€ããŠã¯ããã© JavaScript ãæšå¥šïŒãJavaScript ã©ã€ãã©ãªãææ°ããŒãžã§ã³ãžã¢ããããŒãããäžå¿ èŠãªã¡ãœãã㧠JavaScript ãããã€ãããªãã§ãã ããã
çç±:
ã»ãšãã©ã®å Žåãæ°ããããŒãžã§ã³ã«ã¯æé©åãšã»ãã¥ãªãã£ä¿®æ£ãå«ãŸããŠããŸããæé©åãããã³ãŒãã§ãããžã§ã¯ããé«éåããå€ããã©ã°ã€ã³ã䜿ãããšãªãããŠã§ããµã€ããŸãã¯ã¢ããªã®é床ãèœãšããªãããã«ããŠãã ããã
æ¹æ³:
ãããžã§ã¯ã㧠NPM ããã±ãŒãžã䜿çšããŠããå Žåãnpm-check ã¯ãã©ã€ãã©ãªãã¢ããã°ã¬ãŒãïŒã¢ããããŒãããããã®éåžžã«èå³æ·±ãã©ã€ãã©ãªã§ãã Greenkeeper ã¯ãäŸåé¢ä¿ãèªåçã«æ¢ããæ°ããããŒãžã§ã³ããªãªãŒã¹ããã床ã«ã¢ããããŒããææ¡ããŸãã
-
äŸåé¢ä¿ã®ãµã€ãºå¶éã確èª: å€éšã©ã€ãã©ãªã¯èŠæ¥µããŠãã䜿çšããŠãã ãããã»ãšãã©ã®å Žåãåãæ©èœã§ããã°ãã軜ãã©ã€ãã©ãªã䜿çšããŸãã
çç±:
npm ã«ãã745 000ããã±ãŒãžã®ããããã䜿çšããããªããããããŸããããããŒãºã«æé©ãªããã±ãŒãžãéžæããå¿ èŠããããŸããäŸãã°ãMomentJS ã¯çŽ æŽãããã©ã€ãã©ãªã§ããããŸã£ãã䜿ãããããšããªãå€ãã®ã¡ãœãããåããŠãããããDay.js ãäœæãããŸãããDay.js ã¯2 kB ã§ãMomentJS ã¯16.4 kB gz ã§ãã
æ¹æ³:
åžžã«ããŒãºã«åã£ãæé©ã§è»œéãªã©ã€ãã©ãªãæ¯èŒããŠéžæããŠãã ãããnpm trend ãªã©ã®ããŒã«ã䜿çšã㊠NPM ããã±ãŒãžã®ããŠã³ããŒãæ°ãæ¯èŒããããBundlephobia ã䜿çšããŠäŸåé¢ä¿ã®ãµã€ãºã確èªãããããããšãã§ããŸãã
-
JavaScript ãããã¡ã€ãªã³ã°: JavaScript ãã¡ã€ã«ïŒããã³ CSSïŒã®ããã©ãŒãã³ã¹ã®åé¡ã確èªããŸãã
çç±:
JavaScript ãè€éã«ãªããšãã©ã³ã¿ã€ã ã®ããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãã èãããããããã®åé¡ãç¹å®ããããšã¯ãã¹ã ãŒãºãªãŠãŒã¶ãšã¯ã¹ããªãšã³ã¹ãæäŸããããã«äžå¯æ¬ ã§ãã
æ¹æ³:
Chrome éçºè ããŒã«ã®ã¿ã€ã ã©ã€ã³ããŒã«ã䜿çšããŠã¹ã¯ãªããã€ãã³ããè©äŸ¡ããæéãããããããã€ãã³ããèŠã€ããŸãã
- ð Speed Up JavaScript Execution  | Tools for Web Developers  | Google Developers
- ð JavaScript Profiling With The Chrome Developer Tools â Smashing Magazine
- ð How to Record Heap Snapshots  | Tools for Web Developers  | Google Developers
- ð Chapter 22 - Profiling the Frontend - Blackfire
- ð 30 Tips To Improve Javascript Performance
-
Service Worker ã®äœ¿çš: PWA 㧠Service Worker ã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãšã¯ã¹ããªãšã³ã¹ã«åœ±é¿ãäžããããšãªããããŒã¿ããã£ãã·ã¥ããããéãã¿ã¹ã¯ãå®è¡ãããããŸãã   Â
ãµãŒã
![ãµãŒããµã€ã]
-
ãŠã§ããµã€ãã HTTPS ã䜿çšããŠããããš:
çç±:
HTTPS ã¯ã e ã³ããŒã¹ãŠã§ããµã€ãã ãã§ã¯ãªããããŒã¿ããããšãããå šãŠã®ãŠã§ããµã€ãçšã§ããããŒã¿ãšã¯ããŠãŒã¶ãå ±æããããŒã¿ããŸãã¯å€éšãšã³ãã£ãã£ãšå ±æããããŒã¿ã§ããä»æã®ææ°ãã©ãŠã¶ã¯å®å šã§ãªããµã€ãã®æ©èœãå¶éããŠããŸããäŸãã°ãã€ã³ã¹ã¿ã³ã¹ã HTTPS ã䜿çšããŠããªãå Žåãäœçœ®æ å ±ãããã·ã¥éç¥ãããã³ Service Worker ã¯æ©èœããŸããããŸããçŸåšã¯ SSL 蚌ææžã䜿çšãããããžã§ã¯ãã®ã»ããã¢ãããã以åãããã¯ããã«ç°¡åã«ãªããŸãããïŒãããŠã Let's Encrypt ã®ãããã§ç¡æã§ããïŒ
- ð Why Use HTTPS? | Cloudflare
- ð Enabling HTTPS Without Sacrificing Your Web Performance - Moz
- ð How HTTPS Affects Website Performance
- ð HTTP versus HTTPS versus HTTP2 - The real story | Tune The Web
- ð HTTP vs HTTPS â Test them both yourself
-
ããŒãžå®¹é < 1500 KB (çæ³çã«ã¯ < 500 KB): ããŒãžãšãªãœãŒã¹ã®ãµã€ãºãã§ããã ãæžããã
çç±:
500 KB æªæºãç®æšã«ããã®ãçæ³ã§ããã Web ã®ç¶æ ã§ã¯ãããŒãžå®¹éã®äžå€®å€ãçŽ 1500 KB ïŒã¢ãã€ã«ã§ãïŒã§ããããšã瀺ãããŠããŸããã¿ãŒã²ãããŠãŒã¶ããããã¯ãŒã¯æ¥ç¶ãããã€ã¹ã«å¿ããŠãå¯èœãªéãç·ãããã€ãæ°ãæžããããšã§ãå¯èœãªéãæé«ã®ãŠãŒã¶äœéšãæäŸããããšãã§ããŸãã
æ¹æ³:
â ããã³ããšã³ãããã©ãŒãã³ã¹ãã§ãã¯ãªã¹ãå ã®å šãŠã®ã«ãŒã«ã¯ããªãœãŒã¹ãšã³ãŒããå¯èœãªéãåæžããã®ã«åœ¹ç«ã¡ãŸãã
-
ããŒãžèªã¿èŸŒã¿æé < 3 ç§: ããŒãžã®èªã¿èŸŒã¿æéãå¯èœãªéãççž®ããŠãã³ã³ãã³ããçŽ æ©ããŠãŒã¶ã«é ä¿¡ããã
çç±:
ãŠã§ããµã€ããã¢ããªãé«éã§ããã°ããã»ã©ãé¢è±ãå¢å ããå¯èœæ§ãæžããããŠãŒã¶ãå°æ¥ã®ã¯ã©ã€ã¢ã³ãã倱ãå¯èœæ§ãæžãããŸããäž»é¡ã«é¢ããååãªèª¿æ»ã¯ããã®ç¹ã蚌æããŸãã
æ¹æ³:
Page Speed Insight ã WebPageTest ãªã©ã®ãªã³ã©ã€ã³ããŒã«ã䜿çšããŠãäœãé ããªãããåæããèªã¿èŸŒã¿æéãççž®ããããã«ãããã³ããšã³ãããã©ãŒãã³ã¹ãã§ãã¯ãªã¹ããå©çšããŸãã
-
æåã®æ å ±ãåä¿¡ããåŸ ã¡æé < 1.3 ç§: ããŒã¿ãåä¿¡ããåã«ããã©ãŠã¶ãåŸ æ©ããæéãã§ããéãæžãããŸãã
-
ã¯ãããŒãµã€ãº: ã¯ãããŒãå©çšããŠããã®ã§ããã°ãåã¯ãããŒã4096ãã€ããè¶ ããªãããã«ãããã¡ã€ã³æ¯ã«20ãè¶ ããã¯ãããŒãç¡ãããã«ããŠãã ããã
çç±:
ã¯ãããŒã¯ããŠã§ããµãŒããšãã©ãŠã¶é㧠HTTP ãããã§ãããšããããŸãããŠãŒã¶ã®å¿çæéãžã®åœ±é¿ãæå°éã«æããããã«ãã¯ãããŒã®ãµã€ãºãã§ããéãå°ããããããšãéèŠã§ãã
æ¹æ³:
äžèŠãªã¯ãããŒãæé€ããŸãã
- HTTP ãªã¯ãšã¹ãã®æå°å: ãªã¯ãšã¹ããããŠããå šãŠã®ãã¡ã€ã«ãããŠã§ããµã€ããŸãã¯ã¢ããªã±ãŒã·ã§ã³ã«äžå¯æ¬ ã§ããããšãåžžã«ç¢ºèªããŠãã ããã
- CDN ã䜿çšããŠã¢ã»ãããé ä¿¡: CDN ãå©çšããŠãã³ã³ãã³ããããéãäžçäžã«é ä¿¡ããŸãã
- ð 10 Tips to Optimize CDN Performance - CDN Planet
- ð HTTP Caching  | Web Fundamentals  | Google Developers
-
åããããã³ã«ãããã¡ã€ã«ãæäŸ: äŸãã°ã HTTPS ã䜿çšããŠãããŠã§ããµã€ãã§ã HTTP ã䜿çšãããœãŒã¹ãããã¡ã€ã«ãæäŸãããŠã§ããµã€ããäœæããªãã§ãã ããããŠã§ããµã€ãã HTTPS ã䜿çšããŠããå Žåãå€éšãã¡ã€ã«ã¯åããããã³ã«ããååŸããå¿ èŠããããŸãã
-
å°éå¯èœãªãã¡ã€ã«ãæäŸ: å°éäžèœãªãã¡ã€ã«ãžã®ãªã¯ãšã¹ããé¿ããŸãïŒ404ïŒã
- HTTP ãã£ãã·ã¥ããããé©åã«èšå®: HTTP ããããèšå®ããŠããã©ãŠã¶ãšãµãŒãéã®åŸåŸ©ã³ã¹ããåé¿ããŸãã
- GZIP / Brotli å§çž®ã®æå¹å: GZIP ã Brotli ãªã©ã®å§çž®æ¹æ³ãå©çšããŠã JavaScript ãã¡ã€ã«ã®ãµã€ãºãå°ããããŸãããã¡ã€ã«ã®ãµã€ãºãå°ãããããšããŠãŒã¶ã¯ã¢ã»ãããããéãããŠã³ããŒãã§ããããã«ãªããããã©ãŒãã³ã¹ãåäžããŸãã
ããã©ãŒãã³ã¹ãš JS ãã¬ãŒã ã¯ãŒã¯
Angular
React
- ð Optimizing Performance - React
- ð React image manipulation | Cloudinary
- ð Debugging React performance with React 16 and Chrome Devtools.
Vue
ããã©ãŒãã³ã¹ãš CMS
WordPress
èšäº
- ð 19 Tips to Speed Up WordPress Performance (Updated)
- ð Speed Up Your WordPress - How to Save Images Optimized for Web
æšå¥šãã©ã°ã€ã³
- ð Caching Plugin for WordPress - Speed up your website with WP Rocket
- ð WP-Sweep | WordPress.org
- ð Imagify Image Optimizer | WordPress.org
翻蚳
Front-End Performance Checklist ã¯ãä»èšèªã§ãå©çšã§ããããã«ããããšèããŠããŸã!è¿·ããæçš¿ããŠãã ãã!
- ðµð¹ Portuguese: fernandofawkes/Front-End-Performance-Checklist
- ðšð³ Chinese: JohnsenZhou/Front-End-Performance-Checklist
- ð·ðº Russian: lex111/Front-End-Performance-Checklist
- ð«ð· French: WilliamDASILVA/Front-End-Performance-Checklist
- ð°ð· Korean: ParkSB/Front-End-Performance-Checklist
- ðªðž Spanish: dagerzuga/Front-End-Performance-Checklist
- ð»ð® Vietnamese : huynhan147/Front-End-Performance-Checklist
è²¢ç®ãã
Issue ããã«ãªã¯ãšã¹ãããªãŒãã³ããŠãå€æŽãè¿œå ãææ¡ããŠãã ããã
ãµããŒã
質åãææ¡ãããã°ãé æ ®ãªã Discord ã Twitter ãå©çšããŠäžãã:
èè
**Build with â€ïž by David Dias
è²¢ç®è
ãã®ãããžã§ã¯ãã¯ããååããã ããçæ§ã®ãããã§æãç«ã£ãŠããŸãã [è²¢ç®ãã]. <a href="https://github.com/thedaviddias/Front-End-Performance-Checklist/graphs/contributors"> <img src="https://opencollective.com/front-end-checklist/contributors.svg?width=890" /> </a>
åŸæŽè
ãæ¯æŽããã ããçæ§ãããããšãããããŸãã! ð [åŸæŽè ã«ãªã]
<a href="https://opencollective.com/front-end-checklist#backers" target="_blank"><img src="https://opencollective.com/front-end-checklist/backers.svg?width=890"></a>
ã¹ãã³ãµãŒ
ã¹ãã³ãµãŒã«ãªã£ãŠãã®ãããžã§ã¯ãããµããŒãããŠãã ãããã¹ãã³ãµãŒã®ããŽã¯ããŠã§ããµã€ããžã®ãªã³ã¯ãšå ±ã«ããã«è¡šç€ºãããŸãã[ã¹ãã³ãµãŒã«ãªã]
<a href="https://opencollective.com/front-end-checklist/sponsor/0/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/1/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/2/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/3/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/4/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/5/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/6/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/7/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/8/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/9/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/9/avatar.svg"></a>
ã©ã€ã»ã³ã¹
ã¢ã€ã³ã³ã¯ãã¹ãŠ Icons8 ã«ãã£ãŠæäŸãããŠããŸãã