Browser Rendering Optimization (Udacity)

Offered by Udacity, Google,
Browser Rendering Optimization (Udacity)

Building 60 FPS Web Apps. Performance matters to users. Web developers need to build apps that react quickly and render smoothly. Google performance guru Paul Lewis is here to help you destroy jank and create web apps that maintain 60 frames per second performance. You'll leave this course with the tools you need to profile apps and identify the causes of jank. You'll explore the browser's rendering pipeline and uncover patterns that make it easy to build performant apps.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

Demystifying the browser's rendering pipeline will make it easy for you to build high performance web apps. By following a few simple principles, you'll be capable of drastically reducing the browser's workload and time needed to render each frame.

You'll start by getting introduce to the individual steps of the rendering pipeline, beginning with parsing HTML and ending with painting pixels on the screen. Then you'll quickly dive into tooling with ample opportunities to practice profiling and debugging apps with Chrome Developer Tools.
The final project uses the Hacker News API and gives you an opportunity to show off everything you've learned as you turn an awful experience into a high performance web app!

What You Will Learn

LESSON 1
The Critical Rendering Path

  • Introduction to the course with Paul Lewis.
  • Learn how the browser turns HTML into pixels on the page
  • See how different CSS styles affect the rendering pipeline differently.

LESSON 2
App Lifecycles

  • How to recognize the four distinct phases in an app's lifecycle: Response
  • Animation
  • Idle and Load (RAIL).
  • How your frame budget changes depending on where the user is in RAIL.
  • Practice thinking through app workloads at different stages in RAIL.

LESSON 3
Weapons of Jank Destruction

  • How to make sense of the Timeline panel in Chrome DevTools.
  • Practice profiling a few different apps to find the source of jank.

LESSON 4
JavaScript

  • How to optimize JavaScript to hit 60fps during animations.
  • How to move expensive JavaScript operations off the main thread and into Web Workers.
  • How to debug a janky copy of a production quality app - the QR Snapper.

LESSON 5
Styles and Layout

  • Learn how accessing the wrong CSS properties can create loads of extra work for the browser.
  • Learn how to debug multiple instances of Forced Synchronous Layout.

LESSON 6
Compositing and Painting

  • Practice profiling layer and paint performance with the paint profiler tool in the DevTools Timeline.
  • Learn how to optimize layers to reduce the number of steps the browser needs to take to render each frame.
  • Demonstrate everything you've learned about performance as you de-jankify the News Aggregator App!

Prerequisites and Requirements
You're a web developer who has written apps using HTML, CSS and JavaScript.
You have used Chrome DevTools.
(Recommended) Background knowledge about the critical rendering path from Website Performance Optimization will be helpful.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

JavaScript Basics (Coursera) Coursera
University of California, Davis

JavaScript Basics (Coursera)

This course introduces the programming language JavaScript and shows the websites that include the type of interactions students will eventually be able to develop. Learners will understand the importance of how JavaScript was developed and why such history impacts the way JavaScript is currently written and in future releases.

Nov 2nd 2026
4 Weeks
Learn Imba (Coursera) Coursera
Scrimba

Learn Imba (Coursera)

In this class, you'll dive into Imba, the programming language used to build scrimba.com. Imba, a compile-to-JavaScript language, packs a punch with nifty features for whipping up web apps, including built-in tags and styles. We'll cover the ABCs of Imba syntax and work on creating a Dopamine Box app. By the finish line, you'll be armed with the skills to construct your very own web app UI using Imba.

Nov 9th 2026
1 Week
ES6 - JavaScript Improved (Udacity) Udacity
Udacity

ES6 - JavaScript Improved (Udacity)

Updates to the JavaScript language. ECMAScript 6, or ES6, has brought about a ton of changes to the JavaScript programming language. In this course, you'll explore those changes to learn about the latest features and improvements to the language including new keywords, arrow functions, the Class syntax, Promises, and so much more. Discover how much cleaner and more concise your JavaScript code can be!

Self Paced
Self-Paced
Programming and Application Foundations (Coursera) Coursera
Illinois Tech

Programming and Application Foundations (Coursera)

This course introduces the students to the creation and deployment of modern, standards-compliant web pages written in HTML, CSS, and JavaScript in the context of the client-server architecture of the web. The course also covers the fundamentals of programming in a modern programming language, basic data modeling, database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system.

Nov 9th 2026
5-12 Weeks
Data Manipulation in JavaScript (Coursera) Coursera
University of California, Davis

Data Manipulation in JavaScript (Coursera)

This course builds on the skills from the previous course and goes further into managing and manipulating data with JavaScript. You will learn methods for validating and handling data provided by users or coming from an external data source. This course includes a challenge in the form of a seat reservation system, as well as a project that pulls data in from an external data source.

Nov 2nd 2026
4 Weeks
Building Web Applications in Django (Coursera) Coursera
University of Michigan

Building Web Applications in Django (Coursera)

In this course, you will learn how Django communicates with a database through model objects. You will explore Object-Relational Mapping (ORM) for database access and how Django models implement this pattern. We will review the Object-Oriented (OO) pattern in Python. You will learn basic Structured Query Language (SQL) and database modeling, including one-to-many and many-to-many relationships and how they work in both the SQL and Django models. You will learn how to use the Django console and scripts to work with your application objects interactively.

Nov 2nd 2026
4 Weeks
Intro to jQuery (Udacity) Udacity
Udacity

Intro to jQuery (Udacity)

Manipulating Websites with Ease. jQuery is the most popular JavaScript library today, in use by over 60% of the top 100,000 most visited websites. This course will teach you how to use jQuery’s core features - DOM element selections, traversal and manipulation. You'll also learn how to read and make sense of jQuery's documentation, making it easy for you to go beyond the methods taught in this class and take advantage of jQuery's full array of features!

Self Paced
Self-Paced
Programming Foundations with JavaScript, HTML and CSS (Coursera) Coursera
Duke University

Programming Foundations with JavaScript, HTML and CSS (Coursera)

Learn foundational programming concepts (e.g., functions, for loops, conditional statements) and how to solve problems like a programmer. In addition, learn basic web development as you build web pages using HTML, CSS, JavaScript. By the end of the course, will create a web page where others can upload their images and apply image filters that you create.

Nov 2nd 2026
4 Weeks
Interactivity with JavaScript and jQuery (Coursera) Coursera
University of California, Davis

Interactivity with JavaScript and jQuery (Coursera)

This course is the third in our JavaScript for Beginners Specialization. The scripts will become more complex and introduce more complex jQuery plugins. You will have several challenges to practice your skills throughout the course. The course objectives include how to identify objects in JavaScript; create new objects and populate them with data; manipulate objects by adding, modifying and deleting data in objects; manipulate the DOM based on the data in objects; identify and articulate how multiple functions work together to create a more complex program; and identify processes for breaking larger programs into smaller, more manageable pieces.

Nov 2nd 2026
4 Weeks