The Cost of JavaScript [Link]


#1

This is an absolutely fantastic article which is just as relevant to ClojureScript development as it is to any other JS language.

It perfectly summarizes why shadow-cljs uses :modules as the default and why it supports very fine grained Build Reports. :advanced is very very good and means that we don’t have to do much of the stuff the JS world has to do but :modules are still worth it in many projects. While easy npm access is nice it can also be a curse so always remember to check what those npm packages you use actually cost you via the build reports.


#2

Yes! I’ve spent the last couple weeks optimizing our website before the go-live, and optimizing the JS code was honestly the easiest part. shadow-cljs has some great out-of-the-box tools to help with performance and optimizations. :+1: Really appreciate the work you’ve done in that.


#3

Also, holy crap - the median webpage is 15s until interactive??


#4

How did you measure that ? With Chrome devtools “Audit” ?


#5

Are you asking about that 15s number? I got that from the article. If you’re asking about how I went about measuring performance for my own site, I used Chrome devtools - mostly using the network tab and using DOMContentLoaded as a baseline, as well as New Relic metrics.


#6

Finished reading the article. Won-der-ful. In the comment section there’s a link to a project that uses lighthouse to collect metrics and display them on a graphana dashboard.