The Ember Times (27 Part Series)
👋 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 ✨!
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 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!
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 the native implementation.
What are your thoughts on deprecating
getWithDefault? We encourage you to read the RFC and participate today!
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!
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 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.
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.
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! 🤞
That's another wrap! ✨
Chris Ng, Isaac Lee, Jessica Jordan, Jared Galanis, Amy Lam and the Learning Team