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.
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
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.
Bellingham WA resident, OSS maintainer, front end development fanatic, casual Raspberry Pi tinkerer. I love working on web applications and making them faster.