The Ember Times - Issue No. 51

העלא Emberistas! 🐹

Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week. We have a reminder for a RFC (Request for Comments) which has entered its Final Comment Period (FCP), as well as a look into the Future of Ember and an engine-powered Roadmap highlight for you.

This is what's happened in Emberland this week 🐹:


Back To the Future 🤖✨

A polyfill that is now available is ember-named-arguments-polyfill which polyfills the named arguments feature to work for Ember 2.10+.

This is helpful for add-on authors who want to leverage the named arguments feature for a cleaner template. So, components receiving an argument named foo can now do: {{@foo}}. This allows you to distinguish arguments from local variables, computed properties and such.

Named arguments already landed in Ember 3.1 so this polyfill is for anyyone who didn't upgrade but still wants to use the feature.


The Future of Ember is now

Quite recently a plethora of RFCs (Request for Comments) proposed ground-breaking, new features for Ember. These included the proposals for ES5 Getters and named arguments for Components which already found their way into the previous 3.1 release in a stable fashion. But what about all the other cool things that we mentioned in previous editions of the Ember Times? When are all of these proposal finally gonna land?

Features which haven't found their way into a stable release and have not been recommended by the official Guides yet, might in fact have landed already. Like a hidden gem, they sit there for a while, only noticed by a few, but still ready to be tested and improved until they make it into a stable release. And so it seems some of the most exciting API changes in Ember this year have still gone unnoticed: But AngleBracketComponents, ES6 Classes, the new folder structure à la Module Unification and even Glimmer Components can be used in Ember apps today - with a little help from feature flags, canary releases and the Ember addon ecosystem.

But how do you make the future of Ember happen in your apps today? If you're wondering about that, check out this excellent How-To by @chrism, a step-by-step guide for those who want to try out the future of Ember in their applications. Because you don't have to wait for the future of Ember until another day; the future of Ember is now.

See It in Action


Is Your Component Not Pointy Enough? 👈

ember-angle-bracket-invocation-polyfill provides a polyfill for angle bracket invocation syntax as described in RFC #311. It includes features such as invoking components via angle brackets using TitleCase, self-closing syntax, paths and much more.

If you’re interested in using this, the best documentation is the RFC itself.


Start the Engine and Go for 1.0 🏍

This week the long-awaited Roadmap leading to the first major release of Ember Engines has been published. It includes a to-do list of features and improvements that are required to land before a v1.0 becomes reality, including support for loading route-less engines lazily and a refactor of the build pipeline to be powered by the upcoming Packager feature in Ember CLI.

If you're a user of Ember Engines yourself, be sure to not only join the discussion on the Ember Forum, but also provide the necessary feedback on how you are using Ember Engines to make the 1.0 Roadmap a real success. ✨


New release of Ember Twiddle

Ember Twiddle v0.14.0 was released on Monday, June 4. It includes support for Ember 2.18, Babel 6, and new module imports. The entire changelog shows all the work that has gone into this. The next version is also being worked on, supporting Ember 3.0 - Ember 3.2. You can test out the new version at canary.ember-twiddle.com today. Ember Twiddle is a playground website for developing small Ember applications backed by Github gists.


It's visibly time to deprecate isVisible 👀

A new RFC has been posted on deprecating Component#isVisible. The motivation is related to the confusion associated to setting the isVisible property on a component. Also, modern Ember applications are already avoiding using isVisible in favor of simpler conditionals in the template. Given that Component#isVisible is a public API, deprecating now would schedule for removal in the next major version release (4.0).

No sweat, other options are still available to hide elements, such as:

  • <div hidden={{boolean}}></div>
  • Wrapping the component in a template conditional {{#if}} statement.
  • Using the Component's classNames and classNameBindings

A heads-up that this RFC has entered the FCP (Final Comment Period), so this week might be your last chance to comment on it!


Contributors' Corner

This week we'd like to thank @rwjblue, @bekzod, @xg-wang, @alexmasita, @Serabe, @sandydoo, @mdbiscan, @kennethlarsen, @Mi6u3l, @andreavaghi, @mansona, @Gaurav0, @nataliemok, @jessica-jordan, @pablobm, @amyrlam, @kevinansfield, @kellyselden, @mmun, @lbdm44, @stefanpenner, @chrism, @givanse, @thoov, @cyk, @NullVoxPopuli, @dnachev, @gokatz, @knownasilya, @acorncom, @pzuraq, @antidis, @dctalbot, @joehany, @rodrigoyoshida, @MattSwanson and @progand for their contributions to Ember and related repositories! 💕


More Q&A for Readers' Questions 🤓

Office Hours Tomster Mascot

With core team efforts focusing in on important bug fixes for Ember itself, we want to take the chance to recap some of the previous, great answers to previous, great questions by Ember.js Times readers:

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

The Ember Times is What We Make It 🙌

The The Ember Times is a weekly news editorial featuring all the new things that are going on in Emberland. Subscribe to our e-mail newsletter to get the next edition right to your inbox. If you ❤️ what you're reading and you feel like a writer at heart, drop by #topic-embertimes on the Ember Community Slack Chat to join the discussion or even become the co-author of a future edition!


That's another wrap! ✨

Be kind,

Gaurav Munjal, Melanie Sumner, Miguel Braga Gomes, Sivakumar Kailasam, Kenneth Larsen, Jessica Jordan and the Learning Team