GithubHelp home page GithubHelp logo

thedaviddias / front-end-performance-checklist Goto Github PK

View Code? Open in Web Editor NEW
16.4K 371.0 1.2K 345 KB

🎮 The only Front-End Performance Checklist that runs faster than the others

License: MIT License

frontend front-end-development front-end-developer-tool guidelines checklist reference web-development html css javascript

front-end-performance-checklist's Issues

Pingdom Uptime product for TTFB monitoring

Even though Pingdom Uptime monitoring tool is not built for this but it does keep a record of all historical TTFB timings (Refer to screenshot). Should we include it in TTFB tooling section or would that confuse people?

Image of Pingom Uptime Monitoring dashboard

Lazy loading only for offscreen images

Hi,

thank you for creating the list I’ve always wanted to create and for mentioning my LazyLoad script.

it’s very important to mention that LazyLoad should be used only for images that are offscreen, and the first N above the fold images should be loaded normally.

This allows browsers to fetch the first images as soon as possible, way before JavaScript is downloaded, parsed and executed, and optimize performance.

Above the fold content (including HTML markup, Images, CSS, JS) should be less than 70KB

Google recommends that the above the fold content (including HTML markup, Images, CSS, JS) should not weight more than 14.6KB (compressed) because of the first TCP packet size limit. Refer to these resources -

Should we add this information in the checklist?

make image not liniknig

Can I open PR for making the images (logo or low, medium, ...) non-clickable?

ex)

<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">

to

<a href="#"><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>

Inline/async <script> should be placed BEFORE <link rel="stylesheet">.

According to the talk FaCSSt—CSS and Performance @ 39:35 about loading CSS and JS,

Example from the talk:

<link rel="stylesheet" href="">
<script>
  var script = document.createElement('script')
  script.src = '…'
  document.getElementByTagNames('head')[0].appendChild(script)
</script>

Since a <script> may alter the CSSOM of the previous <link> tag, the browser will not execute the <script> tag until all stylesheets declared beforehand finished loading.

DNS preanalyze

DNS preanalyze is a way to reduce DNS analyze time:

<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="http://www.baidu.com" />

Translation

Hi,

i'd like to submit a translation for this.
What would be the best way of doing so? i created branch on my forked repo however i've seen translations added to a specific folder at the master branch on similar projects...

What would suit this project's case better?

Remove closing slash on void tags

Since in html5 the closing slash on void tags, such as in:

<img src="my-image.jpg" alt="cat picture"/>

is not mandatory, wouldn't it be better to remove it from the examples and actually add it as a low priority reccomendation in the same way it's reccomended to remove unnecessary attributes?

APIs

Hey
Would be important also to know about APIs. If consuming, how to connect to them or if serving, how to deliver them?
Any real world language would almost always have to deal with APIs. That itself contributes to the point "TOO many HTTP requests"

In Server, we can also talk about important performance enhancive techiniques like caching - page and db, load balancers, etc.

Would be also nice to know of ways to do it yourself, for eg, instead of saying pay to CDN which can get costly overtime, how can we do it on your own if starting with a small project, like having a different subdomains(cookie-free) to serve static content.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.