The Ember Times - Issue No. 105

Hoi Emberistas! 🐹

This week: help design the Ember skill tree 🌱, observers going async ⏱, RFC to support populating head tag ⛑️, RFC to add load hook to Route 🎣, an update on Ember Inspector πŸ•΅οΈβ€β™€οΈ, submit your EmberFest 2019 talk today 🎀, and an EmberWeekend episode featuring Luke Melia πŸ”ˆ!


Help Design the Ember Skill Tree 🌱

Recall your first day as an Ember developer (or mentor). Did you feel overwhelmed by the sheer amount of things that you felt you needed to learn (teach)?

  • What skills do I need to learn now? πŸ˜•
  • What skills do I learn next? 🀯
  • What resources are available to me? πŸ₯Ί

Enter Ember skill tree. It helps you visualize important skills and the steps to acquire them. It aligns with the Ember guides too.

The only problem? The tree doesn't exist yet.

@gossi and the Ember Learning Team would like your help with creating the Ember skill tree. We encourage you to participate today! Please share your experiences of learning and teaching Ember. πŸ’ž


RFC to Add load Hook to Route 🎣

A new RFC has been created by @michaelrkn to get feedback on the idea of adding a load hook to the Route. The motivation for this is that the term model() can be confusing "because it implies that only one piece of data will be fetched, and it uses the term model that is more typically associated with backend development".

Feel free to read the RFC and share your thoughts in the comment section.


To Sync or Not to Sync: Observers 2.0 ⏱

In an effort to remove legacy code from Ember, promote better programming practices in apps and lay the foundation for clearer code paths, a recently accepted RFC (Request for Comments) proposes an important change to the observer APIs: the addObserver, removeObserver and the observer functions shall be configurable to operate either synchronously (the way observers always used to work in Ember apps since the pre-v1.0 days) or asynchronously.

In Ember apps today, observers will be called immediately after any of the properties they are tracking have changed. Async observers as proposed in the RFC would instead be scheduled for the next runloop.

The RFC highlights how we can use the sync option (a Boolean) to make our observers asynchronous, one by one. After the community has had sufficient time to migrate their code, the RFC argues that Ember would be able to deprecate synchronous observers.

Find out more about the how and why behind async observers by giving the full proposal a read!


RFC to Support Populating Head Tag ⛑️

The <head> tag does more than setting the title and favicon of a page. It also plays an integral role in SEO and unfurling links. Currently, we can use the ember-cli-head addon to modify the <head> tag. πŸ’›

In the RFC, @rwwagner90 proposed that Ember gives developers the ability to modify the tag, using a route hook or service.

What are your thoughts? Please take a look at the RFC and share your ideas and use cases of <head> tag!


Ember Inspector Update πŸ•΅οΈβ€β™€οΈ

Ember Inspector recently dropped support for Ember versions < 3.4. This has freed us up to remove a lot of cruft that has existed for supporting older Ember versions, and start to clean up and modernize the code. We are continuing to design the features for the future and work towards delivering the features we promised in the past.

Ember Octane is still not currently supported, but we are working closely with the framework team to get the APIs we need to map components to DOM elements and enable us to show the arguments passed to the component, and manipulate them inline. This will allow Inspector users to debug component behavior even better.

We are always looking for more people to help out with the considerable efforts required to keep Ember Inspector running, so if you would be interested in helping out, please reach out in the dev-ember-inspector channel on Discord, we would love to have you!


Reminder: EmberFest CFP Deadline August 1st 🎀

A quick reminder that the EmberFest CFP deadline is fast approaching. We are just short of a month away from the August 1st deadline, so get your talk in today!

Talks are 30 minutes long and can range from in-depth technical talks to broader talks covering other aspects of software development.

If you’re looking for some inspiration, here are the 2018 EmberFest Talks on YouTube!


EmberWeekend Episode With Luke Melia πŸ”ˆ

A few episodes back the EmberWeekend podcast featured a great interview with long-time Ember contributor and former organizer of the Ember NYC Meetup, @lukemelia. The episode covers the origin story of the NYC meetup and some detail on the origins of Ember.js itself.

Luke has transitioned out of his role as organizer of the NYC Meetup, and he will be missed, but the well-attended and organized meetup is in good hands and is now being organized by @mixonic.

Bonus topics of the episode include Luke's experience using Ember Cordova for building mobile applications and Orbit.js!

Checkout the full episode here.


Contributors' Corner πŸ‘

This week we'd like to thank @tomdale, @vaidehijoshi, @kennethlarsen, @mansona, @jenweber, @ijlee2, @jaredgalanis, @astronomersiva, @CvX, @rwjblue, @chancancode, @efx, @rwwagner90 and @Draggha for their contributions to Ember and related repositories! πŸ’–


Got a Question? Ask Readers' Questions! πŸ€“

Office Hours Tomster Mascot

Wondering about something related to Ember, Ember Data, Glimmer, or addons in the Ember ecosystem, but don't know where to ask? Readers’ Questions are just for you!

Submit your own short and sweet question under bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🀞


#embertimes πŸ“°

Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at #support-ember-times on the Ember Community Discord or ping us @embertimes on Twitter.

Keep on top of what's been going on in Emberland this week by subscribing to our e-mail newsletter! You can also find our posts on the Ember blog.


That's another wrap! ✨

Be kind,

Jessica Jordan, Isaac Lee, Kenneth Larsen, Robert Wagner, Chris Ng, Jared Galanis, Amy Lam and the Learning Team