
learn to boost web app performance with benchmarking and profiling, optimize dom paint and reflow, apply micro optimizations, and leverage pre-loading, offline storage, and css-based rendering.
Learn to profile web app performance using Chrome's network tab and the resource timing API, analyzing asset load times, DNS, SSL, and mime-type filters to identify blocking resources.
Learn to use the timeline tab to record page loads and analyze assets, scripts, rendering, and painting, drilling into events like mouse moves and scrolls for performance insights.
Learn from a web developer with 10+ years of experience, now focusing on JavaScript and front-end frameworks like Angular. The author mentors developers and welcomes questions about web development.
Explore micro optimizations in loops and scope with JavaScript benchmarks using jsperf. Learn how caching functions and properties and careful scoping improve performance in repeated code paths.
Explore asm.js, an optimized subset of JavaScript for computational performance. Learn when to use it, the overhead, and how to integrate from C/C++ with converters for games or analytics-heavy apps.
Explore how web workers offload heavy computation across multiple threads, communicate via messaging, and balance work without direct DOM access. Includes post message and on message setup, plus background polling.
Analyze the browser paint cycle, detailing reflow and repaint, guidelines to keep the paint cycle under 10 milliseconds, and techniques like shallow DOM trees, specific class changes, and out-of-flow updates.
Learn how DOM manipulation affects web app performance, compare moving elements by style versus class, and use the Chrome DevTools timeline to identify reflows and repaints and optimize code.
Explore three dom manipulation techniques for adding list items to a target element: incremental html updates, building a single string, and cloning a template node.
Compare CSS versus JavaScript methods for showing and hiding elements, and demonstrate how class toggling reduces reflows and improves browser performance when rendering large lists and the DOM.
Discover how pre-loading data, including images and HMO, can make your app feel faster by loading content via AJAX into the cache before user actions.
Apply the assume success technique to update the user interface immediately after saving, with notifications for success or error and in-place edits to speed user workflows.
Learn how incremental updates send only changed values when saving or loading data, toggle with diff only, and balance performance with potential data consistency risks.
Store data changes locally in the browser with a local storage library and set item method, using an error handler to retry API saves during offline or flaky network conditions.
Explore how local storage saves data locally, loads saved values on page load to reflect updates, and syncs changes back to the API when connectivity returns.
Explore how to use the app cache and a cache manifest to enable offline operation, boost load speed, and manage online and offline states in a JavaScript web app.
Explore remote debugging and benchmarking for mobile web apps using Android Chrome web inspector tools, iOS Safari tooling, screencast toggling, and the js console to bridge mobile and desktop debugging.
Learn to conditionally load assets for mobile networks using conditionIsar and mobile detect, loading desktop or mobile css, scripts, and images to save data.
Monitor network connectivity and keep data consistent by using the online-js library to detect offline periods, queue ajax requests, and replay them when the connection returns.
Benchmark across browsers and devices to understand performance for your web app. Balance raw speed with user experience using insights from the timeline, paint cycle, and caching.
In this Web App Optimization with JavaScript training course, expert author Alex Vanston teaches you how to improve the performance and user experience of web apps with JavaScript. This course is designed for users that are already familiar with creating web applications.
You will start by learning about raw speed, then jump into learning about browser flow, including understanding the paint cycle and DOM manipulation. From there, Alex will teach you user experience enhancements, such as preloading, incremental updates, and utilizing local storage. Finally, you will learn about mobile enhancements, including mobile debugging and benchmarking, conditional assets, and handling low quality networks.
Once you have completed this computer based training course, you will have learned how to improve the performance and user experience of your products.