Read the blog post on using ember-concurrency with TypeScript π€, reusable DOM behavior in React vs Ember πͺ, and last, but not least, Mirage JS with GraphQL π!
ember-concurrency is an addon that manages asynchronous tasks in Ember applications. The addon traditionally exports a task function which is used similarly to a computed property.
The blog post goes through how to use ember-concurrency with Ember Octane and TypeScript. For Octane, we need to use Native Class Syntax. The ember-concurrency-decorators package was created to make this work for ember-concurrency.
However, decorators cannot change the type of the thing they decorate. To allow TypeScript, the ember-concurrency-ts package was created to provide a couple of utility functions such as taskFor.Β
Finally, the ember-concurrency-async package provides a Babel transform that allows you to define ember-concurrency tasks using async/await rather than generator function. This simplifies using taskFor on assignment while providing complete type-safety for ember-concurrency tasks.
Read the full blog post with all the tips and tricks and try it out yourself today!
Raja SK wrote a blog post comparing React and Ember's approach to creating reusable components that deal with DOM behaviors. He talks about how to approach the same using the following patterns:
React's class-based and functional component approach
Ember's mixin and modifier approach.
He also talks about how to use the ember-modifier addon if you have been using the Ember mixin patterns so far for DOM behaviors and sharing code between components.
It fulfills GraphQL requests by fetching data from Mirage's database.
It filters records from Mirage's database by using arguments from your GraphQL queries.
It handles create, update and delete type mutations automatically based on some conventions.
It allows you to supply your own resolvers (for cases where the automatic query and mutation resolution isn't sufficient).
There's plenty of examples on how to get started using GraphQL with Mirage JS using Mirage GraphQL over at the repo, go ahead and check them out for yourself.Β
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! π€