The Ember Times - Issue No. 124

👋 Emberistas! 🐹

This week: 400 Releases on the Ember.js Repo 🎉, share your thoughts for RFCs #549 and #554 💬, learn how to use telemetry helpers to power up your codemods 📡, release of Octane Super Rentals Tutorial Part 2 🚀, enjoy the new and shiny Ember-powered Apple TV 🍏📺, and check out a new accessibility-focused ember-bootstrap release ✨!


400 Releases on the Ember.js Repo 🎉

The ember.js repo hit 400 releases on GitHub this week! We’ve had over 770 contributors between May 2011 to November 2019. A big thank you ❤️ to the numerous efforts of all all these community members!


RFC #549: Ember Dev for Other Platforms 💬

Adam Baker (@bakerac4) has proposed the need to better advertise Ember as a cross-platform solution: Use 1 framework to create web, mobile, and desktop apps! The possibility of marketing Ember as cross-platform exists already, thanks to projects like Corber and Glimmer Native.

How can we market Ember as cross-platform and support developing for other platforms? Be sure to share your ideas with everyone today!


RFC #554: Deprecate getWithDefault 💬

Chris Ng (@chrisng) has proposed deprecating support for getWithDefault. This method, which has existed since Ember 1.0, is intended to help an Ember object return a default value.

The problem with getWithDefault lies in its behavior. It returns the default value only when the retrieved value of the property is undefined. Other falsey values, such as null or '', don't result in the default value. This behavior may or may not be what you intended.

To help you write code explicitly, TC39 has come up with the nullish coalescing operator, ??, now in Stage 3 proposal. RFC 554 explains that it'd be better to rely on the native implementation.

What are your thoughts on deprecating getWithDefault? We encourage you to read the RFC and participate today!


Creating Runtime Assisted Codemods Using Telemetry Helpers 📡

Thanks to Rajasegar Chandran (@rajasegar) and Ryan Mark (@tylerturdenpants), the ember-codemods-telemetry-helpers addon features a detailed readme and companion blog post. 💞

Traditionally, Ember codemods have relied on static code analysis to help you (a codemod author) convert files from one version to the next. In contrast, telemetry-powered codemods can run the app to help you gather data on components, services, routes, controllers, etc.

To learn more about telemetry helpers, we encourage you to visit Rajasegar's blog. You can also check out ember-native-class-codemod and ember-no-implicit-this-codemod to learn how codemods use telemetry helpers today!


Octane Super Rentals Tutorial Part 2 🚀

Godfrey Chan (@chancancode) and Vaidehi Joshi (@vaidehijoshi) further expanded the Super Rentals Tutorial for Ember Octane by releasing part 2 of the tutorial!

This automatically generated tutorial now supports decorators thanks to Chris Garrett (@pzuraq) who had a fix to replace all @ symbols within code blocks with a placeholder, processes them, and then switches them back after processing.

If you are looking to contribute check out the super-rentals-tutorial repo on GitHub!


Brand-New Product Release Powered by Ember: Apple TV 🍏📺

Plenty of companies and acclaimed brands bet on Ember when building digital products for thousands or even millions of users. Heroku, Netflix, TED, Tilde, Intercom and BetterUp are a few examples of well-known businesses who have benefitted from using Ember for years.

Did you also know that Apple's web platform Apple TV is built with Ember? Apple TV is now based on a modern 3.12 Ember tech stack which evolved its way up from a 3.4 app earlier this year. Furthermore, the app is increasingly adopting all the latest and sparkliest ✨ from the new Ember Octane programming model, making it a great showcase for modern Ember apps in the wild!

Do you have any feedback? Feel free to reach out to Mehul Kar (@mehulkar) for any questions, suggestions or bug reports.


Accessibility-Focused Ember Bootstrap Release ✨

A few weeks ago, Simon Ihmig (@simonihmig) and the folks at kaliber5 released version 3.1.0 of the fantastic Ember addon ember-bootstrap.

This version focuses on improving accessibility by using ember-focus-trap to implement focus trap for modals and keyboard navigation of dropdowns. It also adds ember a11y tests to the test suite! 🔥🔥🔥

Many thanks to all those that contributed to this release and the accessiblity concerns addressed by it 😄, including Simon Ihmig (@simonihmig), Brad Overton (@techn1x), Ramiz Wachtler (@rwachtler) and Jeldrik Hanschke (@jelhan).

You can find the release notes on GitHub.


Contributors' Corner 👏

This week we'd like to thank @Gaurav0, @pichfl, @pzuraq, @kategengler, @thejonrichmond, @rictic, @raycohen, @lolmaus, @vladucu, @kennethlarsen, @kellyselden, @rwjblue, @bertdeblock, @Turbo87, @igorT, @ursm, @Mikek2252, @runspired, @dmuneras, @chancancode, @bendemboski and @patricklx 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,

Chris Ng, Isaac Lee, Jessica Jordan, Jared Galanis, Amy Lam and the Learning Team