The Ember Times - Issue No. 71

Bonjour Emberistas! 🐹

This week your help is needed to bring tree-shaking 🌳 to Ember apps! RFCs on route actions and dynamic tags are ready for your comments 📢. We're also highlighting Ember for CodeSandbox ✨, and the awesome #30DaysOfEmber 📆 series. Read on!


Make Tree-Shaking 🌲 Ready for Landing ✈️ - Your Help is Wanted!

A promising approach to reduce the size of Ember apps dramatically is known as tree-shaking. This describes a way to exclude any code from your bundle which is ultimately not needed for your application to work as expected.

The Packager RFC (Request for Comments) for bringing tree-shaking to Ember apps was accepted in April this year. Since then, lots of progress has already been made on the Ember & Ember CLI side of things. There is even the experimental addon ember-cli-tree-shaker that has been a tangible product of recent efforts to allow you to try out tree shaking today. But there's still a lot more to do. Your help is needed!

If you're feeling up to the task to help tree-shaking land in Ember and you're curious to learn more about Ember CLI internals, be sure to reach out to @kellyselden on either Twitter or the #topic-tree-shaking Discord channel to get started!


Action! 🎬 Ember Route Actions for All

Actions in Ember are usually defined in a controller. However the addon ember-route-action-helper has existed for some time and allows you to use actions, defined in the route, inside your templates. Some say that this allows less dependance on controllers. A new RFC (Request for Comments) for Route Actions has been suggested by @vasilakisfil that proposes integrating this helper into Ember core for use in all apps without the need for the addon.

It is important to state that the addon has a warning about using it and that controllers are still an integral part of Ember as explained last week in our Readers' Question: What is the Future of Controllers.

If you would like to chime in and join the discussion be sure to check out this RFC here.


A New and Dynamic RFC

@cibernox has submitted a new RFC suggesting dynamic tag names in glimmer templates. In the transition from using inner-html semantics to using outer-html semantics in components there's one feature that has been lost: Being able to dynamically define the tag name of components.

To solve this issue the RFC proposes a new element helper that takes a tag name and generates a contextual component that, when invoked, renders the selected element. Like this:

{{#let (element "li") as |Tag|}}
  <Tag ...>...</Tag>
{{/let}}

You can try out a working proof of concept on Github and you can read all the details about the RFC in the proposal.


Ember for CodeSandbox! 🏖️

CodeSandbox is an online code editor that helps you create web applications, from prototype to deployment. It supports a variety of web frameworks, and with the latest release, now officially supports Ember. This was made possible thanks to a pull request by @mike-north.

Try it out today by clicking on Ember under server templates when creating a new sandbox!

Note: Ember is located under “server templates” because server templates are sandboxes that execute on a server instead of the browser.


The #30DaysOfEmber Series 📚

@PoslinskiNet published a great learning series for those starting out with Ember. The #30DaysOfEmber series goes through 30 topics ranging from Computed Properties to Internationalization with the aim of becoming familiar with Ember at the end of it.

If you haven’t yet, check out the slides for #30DaysOfEmber or on Twitter Moments today!


Contributors' Corner 👏

This week we'd like to thank @pzuraq, @chadhietala, @esquith, @rwjblue, @ppcano, @kennethlarsen, @chengz, @chrisrng, @fiddler, @jessica-jordan, @jenweber, @Alonski, @tylerturdenpants, @yaxinr, @spruce, @runspired, @sbatson5, @mike-north, @scalvert, @Turbo87, @tomdale, @SergeAstapov, @abhilashlr, @loganrosen, @sangm, @tschoartschi, @toddjordan, @esbanarango, @kategengler, @mansona, @aklkv, @caseywatts, @skyboyer, @jelhan, @Parrryy, @theroncross 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, Jessica Jordan, Ryan Mark, Kenneth Larsen, Alon Bukai, Amy Lam and the Learning Team