Get together at EmberConf meetups 🍦, learn how to use RouteInfo.metadata from EmberMap 🧩, try an Octane & JAM sandwich at EmberConf 🏎🥪🍓, monitor Ember app performance with Tracerbench ⏱, and try out the Related Files Hopper VSCode extension 🤸!
Besides learning a lot from the talks at EmberConf, it is also an amazing place to meet people and get to know them. One of the easiest places to do that is at the meetups that can be organised by you.
Last year there were a lot of different meetups, from delicious food and drink gatherings, to a nerve-racking chess tournament, and bouldering.
If you have a great idea for a meetup, you can sign up here. Keep an eye on this page as well if you want to know about all the meetups and when they will happen.
Ember uses the RouteInfo object to send route information. These include route name, query parameters, and parent route. Since Ember 3.10, RouteInfo carried an extra attribute called metadata, where you can store and retrieve anything you want in a route.
In an exclusive interview with The Ember Times, Chris shares with us, how popular the JAM stack is and why it is so useful for building modern websites in 2020:
[…] My belief is that most Ember developers are already using JAM Stack concepts. It’s not a binary thing, it’s not “you use the JAM stack” or “you don’t”. Instead you can make your apps more JAM and the question of when you want to do it is answered by when you need it. If you need good SEO, or if you need faster start times, you might want to look at some of the JAM technologies.
What will our experience building JAM stack websites with Octane be like? Chris shares from his experience as a JAM stack developer and as a workshop mentor:
The thing that most people like when using JAM Stack with Ember, is the fact that you can get so much by just installing 1 or 2 addons. If you had to teach somebody everything from the ground all the way up to getting it deployed, it would take much longer and it would be much more difficult. But leveraging the power of Ember, leveraging the power of Ember addons makes people experience quick wins and gets a lot done very quickly.
Besides learning about the theory and practice of JAM stack, what makes EmberConf your go-to conference in 2020? Chris shares his perspective on what makes the event so worth being part of:
The thing I most like about EmberConf is meeting people, chatting in the hallway and the wild plans for the future of Ember that always seem to happen late night over dinner or between two talks.
What is Tracerbench? Think "Lighthouse CI" but with statistical rigor and more meaningful data. With ember-performance-monitoring/tracerbench-compare-action, you can monitor your web app's performance in CI. Although the library is general enough for any web app, Tracerbench comes finely tuned for benchmarking Ember apps and addons via GitHub Actions.
Tracerbench's motivation to provide clear, actionable and usable insights into performance deltas is thoroughly explained in Tracerbench/tracerbench. There's currently a gap in performance analysis tooling for Ember apps. Developers today struggle to quickly find and analyze performance regressions which would empower them to make quick, iterative changes within their local development environment. The current approach for performance analysis is for developers to run a single trace using Chrome Developer Tools. Unfortunately, a single trace varies too much to detect regressions to a web app...unless the regression is quite large.
We found out about Tracerbrench from Chris Thoburn (@runspired)'s tweet where he gives a shoutout to Kris Selden (@krisselden) and LinkedIn for their work on Tracerbench! We look forward to giving it a spin!
The Related Files Hopper extension helps developers navigate through the multiple files that are touched when working on a feature. Within Ember for example, a person adding or removing something in components/foo.js would likely also touch templates/foo.hbs and related tests integration/foo-test.js or acceptance/foo-test.js. This extension provides hot keys for related files when you're working in components/foo.js.