Introducing Machine Learning to the JavaScript Toolchain

Introducing Machine Learning to the JavaScript Toolchain

Websites are slow! Double-click shows that the average load time on a 3G network is 19 seconds! On top of that, on mobile devices, JavaScript compared to a JPG image with the same size may require x25 more processing time. How do you speed up your apps? Lazy-loading is here to help! By only loading the minimum amount of JavaScript during the initial page load you can improve the UX dramatically. However, this brings another set of questions - how to decide what to load lazily, and how to provide instant page load by mindfully prefetching the bundles, without draining the users’ mobile data plan? Machine learning is already playing an essential role in our day-to-day life, and it has the potential to assist in our development process for smaller, smarter, and faster JavaScript applications! In this talk, you'll see how you can create a machine learning model from a Google Analytics report. Later, by empowering static analysis techniques, we'll map this model to the lazy-loaded JavaScript chunks and apply predictive prefetching and data-driven bundling. In the last part of the presentation, you'll discover Guess.js which provides a sample implementation of these ideas.


Minko Gechev

May 16, 2019