From 4cd71c4e4af03db8dae279bb832295a10d3f0d7e Mon Sep 17 00:00:00 2001 From: Nicola Turcato Date: Thu, 17 Mar 2022 11:38:28 +0100 Subject: [PATCH] feat: add bundle size post to blog - add myself in authors list - add .history to gitignore --- foomo/.gitignore | 1 + .../breaking_bad.webp | Bin 0 -> 5366 bytes .../bundle_everywhere.webp | Bin 0 -> 11228 bytes .../index.mdx | 90 ++++++++++++++++++ .../mazzarri.webp | Bin 0 -> 9166 bytes .../meh.webp | Bin 0 -> 12418 bytes .../mr_chao.webp | Bin 0 -> 6954 bytes .../stonks.webp | Bin 0 -> 8792 bytes .../strategy.webp | Bin 0 -> 8986 bytes .../the_end.webp | Bin 0 -> 8730 bytes .../tools.webp | Bin 0 -> 13284 bytes foomo/blog/authors.yml | 9 +- 12 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/breaking_bad.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/bundle_everywhere.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/index.mdx create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/mazzarri.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/meh.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/mr_chao.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/stonks.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/strategy.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/the_end.webp create mode 100644 foomo/blog/2022-03-17-why-bundle-size-is-important/tools.webp diff --git a/foomo/.gitignore b/foomo/.gitignore index b2d6de3..c9f8dc3 100644 --- a/foomo/.gitignore +++ b/foomo/.gitignore @@ -14,6 +14,7 @@ .env.development.local .env.test.local .env.production.local +.history npm-debug.log* yarn-debug.log* diff --git a/foomo/blog/2022-03-17-why-bundle-size-is-important/breaking_bad.webp b/foomo/blog/2022-03-17-why-bundle-size-is-important/breaking_bad.webp new file mode 100644 index 0000000000000000000000000000000000000000..cb1462402a7149cf633e09b0f31a3bf9035c0862 GIT binary patch literal 5366 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 K?Ym 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 Ofv|jx|NEH%VgC=$GR}7Z literal 0 HcmV?d00001 diff --git a/foomo/blog/2022-03-17-why-bundle-size-is-important/index.mdx b/foomo/blog/2022-03-17-why-bundle-size-is-important/index.mdx new file mode 100644 index 0000000..780ebc8 --- /dev/null +++ b/foomo/blog/2022-03-17-why-bundle-size-is-important/index.mdx @@ -0,0 +1,90 @@ +--- +slug: why-bundle-size-is-important +authors: [nicola] +tags: [javascript, bundle, bundle size] +--- + +# Why bundle size is important? + +## Intro + +JavaScript is parsed, compiled and executed in the main thread of the browser. Which means that users have to wait for all of this before they can interact with the website. + +Frontend performance optimization is critical because it accounts for around 80-90% of user response time (10-20% backend). +So when a user is waiting for a page to load, around 80-90% of the time is due to frontend related code and assets. + +## Nobody likes waiting… + +A study found that if a site takes longer than 4 seconds to load, up to 25% of users would abandon the site. + +Sending large JavaScript payloads impacts the speed of your site significantly. + +![Mazzarri](mazzarri.webp) + +## What is a "bundle"? + +Your frontend application needs a bunch of JS files to run. These files can be in the format of internal dependency like the JS files you have written yourself. But they can also be external dependencies you use to build your application. + +JS bundling is an optimization technique to reduce the number of server requests for JavaScript files. Bundling accomplishes this by merging multiple JA files together into one file to reduce the number of page requests. + +![Bundle Everywhere](bundle_everywhere.webp) + +## Performance implications + +- **Time to transmit over the network**: considering slow connections with some mobile devices, it's possible that your page will not be interactive until it loads.-> More bytes = longer download times +- **JS parse and compile time**: more code you load, more the browser must parse.-> JS gets parsed and compiled on the main thread, when the main thread is busy, the page can't respond to user input +- **JS execution time**: optimally you will only pack the code that you expect to execute. The more code you want to execute the longer it will take. It's possible that your page won't be interactive until some of this completes.-> JS is also executed on the main thread, if your page runs a lot of code before it's really needed, that also delays your Time to Interactive +- **Memory consumption**: everything fills up the space -> code itself, runtime variables, DOM elements created, etc.-> Pages appear slow when it consumes a lot of memory. Memory leaks can cause your page to freeze up completely!! + +## What is the recommended bundle size? + +AS SMALL AS POSSIBLE! I experienced that is not really possible to give a precise answer because each application is different. Generally you want the resources on initial load to be as small as possible, so that you decrease the initial load time, and then load more resources as needed on the fly. + +![Mr Chao](mr_chao.webp) + +## What do we do then? + +![Meh](meh.webp) + +## How to start decreasing the bundle size? + +- **Measure**: first of all you want to measure. The first step is to use Lighthouse and try to understand the results. It will give you a couple of interesting metrics and some tips. Time to interactive (TTI) is a good reflection of your bundle size because your bundle needs to be evaluated entirely before a user can interact with your web app. +- **Analyze**: Consists on analyzing the bundle in order to detect critical chunks. A useful tool is Webpack Bundle Analyzer. + +![Stonks](stonks.webp) + +## Breaking up the bundle... + +- **Monitor network requests**: These happens between our FCP and TTI. As the initial request for data often occurs when our components initially mount. +- **Reduce the total dom nodes**: the less the page needs to render, the less time it takes. +- **Moving work off the main thread**: By moving heavy computations to a web worker, the computation will be run on a separate thread, and not block the actual rendering of the page +- **Caching**: Even if not useful for users on first page landing, caching data, bundles, and assets can make subsequent visits way fast + +![Breaking Bad](breaking_bad.webp) + +## Which strategies can we adopt? + +- **Minification and Dead Code Elimination**: These processes are often summed up as minifying or uglifying. +- **Tree shaking**: Tree shaking is dead code elimination on a project or library. Always try to use deps which support “tree shaking”, Bundlephobia could be your friend in this case. +- **Code Splitting and Lazy Loading**: Code splitting consists on taking a collection of modules and remove them from the main JS bundle. Lazy loading means we can load this newly created bundle later on. +- **Replace/rewrite large dependencies**: Consider replacing or rewriting libraries that are large in size where you might not need all of its functionalities (Moment.js for example). +- **Feature module import**: Check to see if you are using only a feature module of the library that can be imported alone without importing the whole library (Lodash for example). + +![Strategy](strategy.webp) + +## Useful tools to help you reducing bundle size + +- **Lighthouse**: automated tool for improving the performance, quality, and correctness of your web apps +- **Bundlephobia**: Bundlephobia helps you find the performance impact of npm packages +- **Webpack Bundle Analyzer**: analyzes your bundle +- **VS Code**: Import Cost plugin -> Display import/require package size in the editor + +![Tools](tools.webp) + +## Conclusion + +Performance cannot be stripped down to a single metric such as bundle size. It would be great! +Unfortunately there is no single place to measure all of them.I think metrics like the Core Web Vitals and a general look at bundle size should be considered as a starting point. +You will cry... A lot... But don’t give up! + +![The End](the_end.webp) diff --git a/foomo/blog/2022-03-17-why-bundle-size-is-important/mazzarri.webp b/foomo/blog/2022-03-17-why-bundle-size-is-important/mazzarri.webp new file mode 100644 index 0000000000000000000000000000000000000000..a17a984f190c17dfd50c88bf0014f4048ceae93e GIT binary patch literal 9166 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 Db-w*E literal 0 HcmV?d00001 diff --git a/foomo/blog/2022-03-17-why-bundle-size-is-important/mr_chao.webp b/foomo/blog/2022-03-17-why-bundle-size-is-important/mr_chao.webp new file mode 100644 index 0000000000000000000000000000000000000000..1aea8d4516146c9035421a2572509d4a303f8e7b GIT binary patch literal 6954 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 BS2F+r literal 0 HcmV?d00001 diff --git a/foomo/blog/2022-03-17-why-bundle-size-is-important/stonks.webp b/foomo/blog/2022-03-17-why-bundle-size-is-important/stonks.webp new file mode 100644 index 0000000000000000000000000000000000000000..57c78a3ab8806fce8a6659506adbab577042ca4b GIT binary patch literal 8792 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 R&wUnpA;9)O&rImW{{r!E*GT{X literal 0 HcmV?d00001 diff --git a/foomo/blog/2022-03-17-why-bundle-size-is-important/strategy.webp b/foomo/blog/2022-03-17-why-bundle-size-is-important/strategy.webp new file mode 100644 index 0000000000000000000000000000000000000000..7dc6818651aad0569e6c9a9b57ba21b57e865b3b GIT binary patch literal 8986 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 E09MKD`~Uy| literal 0 HcmV?d00001 diff --git a/foomo/blog/2022-03-17-why-bundle-size-is-important/tools.webp b/foomo/blog/2022-03-17-why-bundle-size-is-important/tools.webp new file mode 100644 index 0000000000000000000000000000000000000000..fefd3d0a12e9718463d4f96b13f70d7549f379eb GIT binary patch literal 13284 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 literal 0 HcmV?d00001 diff --git a/foomo/blog/authors.yml b/foomo/blog/authors.yml index 635a23f..37f8149 100644 --- a/foomo/blog/authors.yml +++ b/foomo/blog/authors.yml @@ -5,12 +5,12 @@ jan: image_url: https://github.com/janhalfar.png philipp: name: Philipp Mieden - title: MSc + title: MSc url: https://github.com/dreadl0ck image_url: https://github.com/dreadl0ck.png marko: name: Marko Trebižan - title: Frontend Dev + title: Frontend Dev url: https://github.com/themre image_url: https://github.com/themre.png smartinov: @@ -18,3 +18,8 @@ smartinov: title: Memelord url: https://github.com/smartinov image_url: https://github.com/smartinov.png +nicola: + name: Nicola Turcato + title: Memelord brother + url: https://github.com/nicolaturcato + image_url: https://github.com/nicolaturcato.png