The Ember Times - Issue No. 192

👋 Emberistas! 🐹 Release of ember-functions-as-helper-polyfill 🎉, First pre-release of ember-template-lint v4 🧹, Phorest Interview of Balint Erdi 🎙️, Paired Programming 👭, Ember.js Template Imports Blog Series Finale 📚, Deprecate Bower Support RFC ⏰


Release of ember-functions-as-helper-polyfill 🎉

NullVoxPopuli (@NullVoxPopuli) released the ember-functions-as-helper-polyfill addon which implements RFC 756: Default Helper Manager. The addon lets you use plain functions as helpers, check out the example below:

import Component  from '@glimmer/component';

export default class MyComponent extends Component {
  myHelper = x => x * 2;
}
{{this.myHelper 3}}

This reduces the need to create traditional helpers especially when a helper is only really used within the same component. This addon reduces the amount of boilerplate code written and is a more representational model of how template and JS interact.

Try out this functionality today with the polyfill!


First pre-release of ember-template-lint v4 🧹

Bryan Mishkin (@bmish) has kicked off the release cycle for ember-template-lint v4 with the first pre-release version v4.0.0-alpha.0!

The key changes so far include:

  • Adding over a dozen rules to the recommended config
  • Removing deprecated rules, options, and behaviors
  • Dropping support for old versions of Node
  • Enforcing stricter default behavior for a few rules
  • Enforcing stricter validation of configuration files and rule tests
  • Enforcing a strictly-defined public Node API

Please test it out and provide feedback about the current changes or changes you would like to see by commenting in the tracking issue.


Phorest Interview of Balint Erdi 🎙️

Balint Erdi (@balinterdi), author of Rock & Roll with Ember.js and co-organizer of EmberFest, recently got to share his thoughts of working with Ember. In addition to the full video, you can find a summary of the interview on Phorest's blog.

What is it like to transition a legacy desktop application to an Ember app? To develop a brand new app that runs on Embroider? How can I hire developers and provide a good culture to help with retention? And what was EmberFest 2021 like for Balint?

Check out the interview to find out the answers to these questions!


Paired Programming 👭

Aoife (@aoifehannigan) and Mo (@mofiebiger), a senior and junior pair of engineers at Phorest, recently presented a lightning talk at Ember{{fest}} that addressed the topic of paired programming. They documented their recent experiences with the activity after electing to pair up to tackle learning Ember, the framework we know and love, and the one that they would be using to build a new application feature together.

Not only did the two find this practice ideal for avoiding unnecessary code complexity, but it also helped with feelings of isolation that arose during the pandemic-induced shift to remote work. While one drawback this pair found was a difficulty in context switching, the positive takeaways they discovered in regard to paired programming exercises include:

  • The opportunity to get to know one's colleagues on a personal level
  • A chance to grow one's programming and communication skills by observing, teaching, and asking questions
  • The strategic advantage that comes with discussing a plan of action in advance and breaking problems down into smaller chunks
  • An opportunity to build up a rapport with colleagues that led to more interaction overall and less time spent struggling alone

Ember.js Template Imports Blog Series Finale 📚

You may remember from our last issue that there has been a great new 5+ part series from Chris Krycho (@chriskrycho) on template imports. Well, part 5 of the series of posts is now out and there's also a bonus 6th post! 🔥

The 5th post covers approaches to styling concerns in the context of template imports and the 6th post provides a nice summary of all that's been discussed thus far in the series and what sorts of recommendations that Chris makes.

If you have not had a chance to read the series, do yourself a favor and check it out here.


Deprecate Bower Support RFC ⏰

Bert De Block (@bertdeblock) recently published a much-needed RFC that proposes how we might go about deprecating support for building Bower packages and the use of Bower-related APIs. ✨

If you are interested and would like to participate in / comment on the RFC, go ahead and give it a read and leave a comment, here.


👏 Contributors' corner

This week we'd like to thank our Robert Wagner (@rwwagner90), Darius D. (@ddzz), Jason Williams (@jaswilli), Dave Laird (@kiwiupover), Andrey Mikhaylov (lolmaus) (@lolmaus), Sam Van Campenhout (@Windvis), Sergey Astapov (@SergeAstapov), Jared Galanis (@jaredgalanis), Bing Dai (@michaelbdai), Scott Newcomer (@snewcomer), Jessica Justice (@m1073496), Soumojit Chakraborty (@SOUMOJIT-CHAKRABORTY), Bryan Mishkin (@bmish), Giles Thompson (@gilest), Jacob (@jfdnc), James Herdman (@jherdman), Philippe Bernery (@pbernery), Isaac Lee (@ijlee2), Amy Lam (@amyrlam), Chris Thoburn (@runspired), Tobias Bieniek (@Turbo87), Katie Gengler (@kategengler), Godfrey Chan (@chancancode), Adrián González Rus (@adrigzr), Chris Ng (@chrisrng), Matthew Beale (@mixonic), Peter Wagenet (@wagenet), Bert De Block (@bertdeblock), Nathaniel Furniss (@nlfurniss), and Kyle D. (@kdagnan) 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. See you in two weeks!


That's another wrap! ✨

Be kind,

Chris Ng, Bryan Mishkin, Isaac Lee, Jessica Justice, Jared Galanis and the Learning Team