👋 Emberistas! 🐹
This week: 400 Releases on the Ember.js Repo share, 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 ✨!
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!
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 a cross-platform already exists, thanks to projects like Corber and Glimmer Native.
How can we market Ember as a cross-platform and support developing for other platforms? Be sure to share your ideas with everyone today!
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
'', 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 native implementation.
What are your thoughts on deprecating
getWithDefault? We encourage you to read the RFC and participate today!
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!
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!
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 that have benefited 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.
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 who contributed to this release and the accessibility 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.
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! 💖
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! 🤞
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 email newsletter! You can also find our posts on the Ember blog.
That’s another wrap! ✨
Chris Ng, Isaac Lee, Jessica Jordan, Jared Galanis, Amy Lam and the Learning Team