The Ember Times - Issue No. 168

– By Chris Ng, Amy Lam, Isaac Lee

👋 Emberistas! 🐹

Read the blog on yieldable named blocks 📛, keep up to date on @use and Resources RFC 💡, ember-bootstrap Octane updates 🏎, and last, but not least, from Phorest: Ember is still a good decision in 2020! 🙌


Blog: Modal Dialog Using Yieldable Named Blocks 📛

A blog post by Balint Erdi (@balinterdi) goes through how Named Blocks allows us to have more than one block when invoking components using the angle-bracket syntax.

With the Yieldable Named Blocks RFC accepted and the ember-named-blocks-polyfill already implementing it, we can use yieldable named blocks in our Ember apps today. The blog goes through using the {{yield to=""}} syntax to implement multiple named blocks in a modal example.

Named blocks are useful anywhere where it makes sense to provide several "slots" that the user of the component can customize. Read the full post today on Balint’s blog!


Introducing @use 💡

In October, Chris Garrett (@pzuraq) published a blog post and an addon to highlight updates regarding the @use and Resources RFC.

In Introducing @use, Chris explains how ember-could-get-used-to-this invites us to rethink template constructs. The addon proposes four top-level concepts:

  1. Functions, meant to replace Ember helpers defined with the helper() function
  2. Resources, to bridge a gap between imperative and declarative programming through @use decorator and Resource class
  3. Modifiers, to handle DOM modifications
  4. Effects, to pull a value out of the system and use it externally

Be sure to read the blog post and try out the addon. We think it will give you a preview of what's coming next to Ember!


ember-bootstrap Octane updates 🏎

kaliber5/ember-bootstrap v4.4 was recently released, continuing their incremental Octane rewrite. Tooltips and popovers have been refactored to Glimmer components.

For ember-bootstrap's 4.x cycle, the overarching goal is to incrementally rewrite all components to Glimmer components. The team is also aiming to replace all computed properties with tracked properties. These changes have been possible because all components were first refactored to tagless components. 🌟

Other highlights from ember-bootstrap 4.x include adding Embroider compatibility (including staticComponents) and dropping support for subclassing components. As a replacement, users can now build a component library on top of ember-bootstrap, in a change that improves the developer experience.

For more details, check out the changelog.


From Phorest: Ember is still a good decision in 2020 🙌

Tomek Nieżurawski (@tniezurawski) wrote abut how his company, Phorest, chose Ember in 2015…and that choice is still a good decision in 2020. Music to our ears! In the blog post, Tomek touches on some of the benefits of Ember:

  • Conventions
  • Don't have to reinvent the wheel
  • Stability
  • Ecosystem
  • Community

With Ember, some "limitations" and so-called conventions can save developers time. While the learning curve can be seen as steep, you won't experience decision paralysis as in other frameworks. Phorest found that Ember saved them a lot of time during their journey, allowing them to build high-quality software fast. Dive into the article to read more about Phorest's experience with Ember!


Contributors' corner 👏

This week we'd like to thank Chad Hietala (@chadhietala), James C. Davis (@jamescdavis), Christopher Fraser (@defraz), Ava Gaiety Wroten (@hergaiety), Dave Laird (@kiwiupover), Steve Calvert (@scalvert), Joel Bradshaw (@cincodenada), Ricardo Mendes (@locks), Cisco Guillaume (@GuillaumeCisco), Chris Miller (@chrismllr), Raido Kuli (@raido), Edgar Mancia (@eddiemm), Aaron Chambers (@achambers), Chris Ng (@chrisrng), Krishna Patel (@KrishnaRPatel), @shivani2692, Isaac Lee (@ijlee2), Phil Gengler (@pgengler), James Herdman (@jherdman), Joshua Lawrence (@jwlawrence), Bert De Block (@bertdeblock), Robert Jackson (@rwjblue), Godfrey Chan (@chancancode), Jeff Sturgis (@jsturgis), Amy Lam (@amyrlam), Thomas Wang (@xg-wang), Tim (@fozy81), Nick Schot (@nickschot), Bryan Mishkin (@bmish), Katie Gengler (@kategengler), Chris Garrett (@pzuraq), Ben Demboski (@bendemboski), Jen Weber (@jenweber), Chris Manson (@mansona), and Pat O'Callaghan (@patocallaghan) for their contributions to Ember and related repositories! 💖


Connect with us 🤓

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! 🤞

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, Amy Lam, Isaac Lee and the Learning Team