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 to speed up our apps? Lazy-loading is here to help! By only loading the minimum amount of JavaScript during the initial page load we can improve the UX dramatically. However, this brings another set of questions - how to decide what to load lazily, 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, we'll see how we 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, we'll look at Guess.js which provides a sample implementation of these ideas.