What do you want to learn today?

Browser Rendering Optimization | Building 60 FPS Web Apps

Online Free Online Course by  Udacity
Online / Free Online Course

Details

Course Summary

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.

Why Take This Course?

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!

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.

See the Technology Requirements for using Udacity here https://www.udacity.com/tech-requirements.

Outline

Syllabus
Project

The News Aggregator App - Turn an unusable app into a high performance, 60 frame per second experience. You'll be given a news aggregator app that uses the Hacker News API to display the day's top stories. The news aggregator has lots of performance issues. You'll demonstrate your understanding of performance by destroying all the jank and creating an experience that users will love.

Lesson 1 - The Critical Rendering Path
  • You'll play Jank Invaders to develop your eye for jank!
  • You'll learn how the browser turns HTML into pixels on the page
  • You'll learn how different CSS styles affect the rendering pipeline differently.
Lesson 2 - App Lifecycles
  • You'll learn how there are four distinct phases in an app's lifecycle: Response, Animation, Idle and Load (RAIL).
  • You'll learn how your frame budget changes depending on where the user is in RAIL.
  • You'll practice thinking through app workloads at different stages in RAIL.
Lesson 3 - Weapons of Jank Destruction
  • You'll learn how to make sense of the Timeline panel in Chrome DevTools.
  • You'll practice profiling a few different apps to find the source of jank.
Lesson 4 - JavaScript
  • You'll optimize JavaScript to hit 60fps during animations.
  • You'll move expensive JavaScript operations off the main thread and into Web Workers.
  • You'll debug a janky copy of a production quality app - the QR Snapper.
Lesson 5 - Styles and Layout
  • You'll learn how accessing the wrong CSS properties at inopportune moments can create loads of extra work for the browser.
  • You'll debug multiple instances of one of the nastiest performance problems - Forced Synchronous Layout.
Lesson 6 - Compositing and Painting
  • You'll practice profiling layer and paint performance with the paint profiler tool in the DevTools Timeline.
  • You'll manage and optimize layers to reduce the number of steps the browser needs to take to render each frame.
  • You'll demonstrate everything you've learned about performance as you de-jankify the News Aggregator App!

Speaker/s

Paul Lewis, Instructor

Paul works on the Google Chrome team as a Developer Advocate. He spends his days profiling runtime performance issues, and helping developers to build faster sites and apps. Do not be fooled by his extreme baldness; it's a solar panel for his cunning and guile.

Cameron Pittman, Instructor

A passionate educator and programmer, Cameron lives and breathes web development as he creates programming courses at Udacity. Before coming here, Cameron was a combination Director of Content and web developer at Seattle startup LearnBIG. He taught four years of high school physics and chemistry in Nashville, TN, during which time he pioneered teaching physics with the video game Portal 2. Cameron graduated with a degree in physics and astronomy from Vanderbilt University and earned his master's in teaching from Belmont University.

Reviews
Be the first to write a review about this event.
Write a Review

Our mission is to bring accessible, affordable, engaging, and highly effective higher education to the world. We believe that higher education is a basic human right, and we seek to empower our students to advance their education and careers.

Education is no longer a one-time event but a lifelong experience. Education should be less passive listening (no long lectures) and more active doing. Education should empower students to succeed not just in school but in life.

Sending Message
Please wait...
× × Speedycourse.com uses cookies to deliver our services. By continuing to use the site, you are agreeing to our use of cookies, Privacy Policy, and our Terms & Conditions.