Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Abstract

As Ember apps mature over time, more components and assets are added, which can cause the boot up time to slow down as well - but you can change that! Tools like route-level code splitting with Embroider, precaching with ember-service-worker, automatic lighthouse audits during CI, and more can help ensure your app stays fast! We'll look at debugging tools with an example app, and measure the positive impact of each optimization we talk about.

Details

This is not intended to be a bikeshedding discussion of what performance improvements are best. For instance, most apps won't meaningfully benefit from a 5 KB size reduction overall. The focus is specifically on how to keep your app booting up fast on mobile devices over the life of a project by deferring unnecessary work.

Intended audience will be people already familiar with building Ember apps. To be introduced over the talk:

  • Embroider - route level code splitting
  • Prember - faster first contentful paint / first meaningful paint timings
  • ember-service-workers - pre-cache the rest of the bundles, lets your app be more reliable with flakey network
  • lighthouse - generate reports during CI, fail the build if initial app download or JS parse/bootup timing is too slow

Pitch

Many devs I've spoken with know their app could be faster, but maybe aren't aware of the tooling that's out there that can help them today. A faster web is better for everyone, and this talk makes the case that the tooling tradeoff is worth it for most apps.

I've been a senior-level web developer (both back and front-end) for four years, although I've only been in the Ember space since this year.

Bio

Bellingham WA resident, OSS maintainer, front end development fanatic, casual Raspberry Pi tinkerer. I love working on web applications and making them faster.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.