The Ember Times - Issue No. 179

– By Amy Lam, Chris Ng, Isaac Lee

👋 Emberistas! 🐹

Global Accessibility Awareness Day, Readers' Question: Embroider status update, @use with Ember Apollo Client, and how JS frameworks solved the problem of rendering fast.


May 20th is Global Accessibility Awareness Day 💟

Global Accessibility Awareness Day, an awareness day focusing on digital access and inclusion for the more than one billion people with disabilities and impairments, will be celebrated on May 20, 2021. Here are some suggestions from Melanie Sumner (@MelSumner) on how you can get involved in some accessibility (a11y) related open source projects!

  1. Help convert ember-component-patterns from Gitbook to an Ember app
  2. Help with a11y-automation.dev which is a project to track a11y automation
  3. Check out the help wanted page for issues in the ember-a11y GitHub organization
  4. Help write some a11y-related linting rules for ember-template-lint

For more ideas please check out the Global Accessibility Awareness Day (GAAD) website!


Readers' Question: What’s the current status of the Embroider project? 🧵

What's the current status of the Embroider project? Embroider is nearing a 1.0 release. Embroider has been a long time coming, and the future is looking bright. Several large, heavily-tested Ember apps are already shipping to production with Embroider! The official cutover point will be when Ember CLI starts generating new apps with Embroider by default. 🙌 Embroider won't be turned on in the next Ember CLI 3.27 release, but the Enable Embroider Request for Comments (RFC) was opened up today by Travis Hoover (@thoov). Check it out!

If you're not familiar with Embroider, Embroider is a new build pipeline that will provide a way to compile Ember apps into spec-compliant, modern JavaScript. Using Embroider will make it easier to take advantage of code splitting and tree shaking in your app.

There are some risks if you choose to use Embroider in production today. You're likely to discover that some Ember addons don't work or will break your build. Right now, Embroider's own configuration options are subject to change, so you'll need to read the CHANGELOG.md to check for any gotchas when updating Embroider packages in your app.

The Community Adoption section of the RFC highlights that Embroider has created a testing package for addon authors to consume in their ember-try scenarios to verify their addons work under Embroider. A meta issue will be created tracking the Top 100 addons according to Ember Observer.

In case you missed it, Embroider was mentioned at virtual EmberConf 2021:


Ember Apollo Client + @use 💡

In a new app, Chris Miller (@chrismllr) got to try out ember-apollo-client, a GraphQL client for Ember apps. 🧡

Chris summarized his learning in the article Ember Apollo Client + @use. The article concerns the following question:

  • Ember provides a few possible ways to fetch data. Which way do we follow with ember-apollo-client in the equation?

Towards the end, Chris shows how to use the @use API (from ember-could-get-used-to-this) to wrap ember-apollo-client methods. This solution may apply to other data-fetching APIs, such as Ember Data.

Interested in learning more? Check out Ember Apollo Client + @use today!


A Comparison of Rendering Engines of React, Angular, and Ember 🌐

Eine große Überraschung from Jeldrik Hanschke (@jelhan): The May issue of iX, a computer magazine from Germany, features the article Die Rendering-Engines von React, Angular und Ember im Vergleich.

The article is written for developers at all levels. Jeldrik provides a naive rendering engine to motivate the performance problems that it will encounter. Afterwards, you will get to learn how computer science helped create rendering engines that are performant.

How do React, Angular, and Ember turn your single-page application code into what the user sees? What are the strengths and weaknesses in their approach? If you want to learn more about rendering engines, we encourage you to check out Jeldrik's article in iX! (Note: This article is in German, but can be translated by a browser such as Google Chrome. You'll need to sign up on Heise.de to read, but there is a free trial period.)


Contributors' corner 👏

This week we'd like to thank Bas Kamer (@basz), Nathaniel Furniss (@nlfurniss), Isaac Lee (@ijlee2), Jen Weber (@jenweber), Chad Hietala (@chadhietala), Chris Ng (@chrisrng), Esquith Allen (@esquith), Steven Pham (@spham92), Bj Tecu (@btecu), Ryan Mark (@tylerturdenpants), Chris Manson (@mansona), Amy Lam (@amyrlam), Srihari (@srih4ri), Giles Thompson (@gilest), Brenden Palmer (@brendenpalmer), Andrew Kirwin (@amk221), Chris Thoburn (@runspired), Ben Demboski (@bendemboski), and Chris Garrett (@pzuraq) 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, Isaac Lee, Amy Lam, and the Learning Team