Those Request for Comments (RFCs) just keep appearing and this is why we present 4 entirely newΒ proposals that you shouldn't miss this week. We also have an amazing tutorial for creating accessible web applications for you, to give you a head start in developing, shipping and testing your apps for a11y π
Check out what's been going in Emberland πΉ these days:
For Ember the road ahead is beset with native ES classes.
Last summer the first Request for Comments (RFC) for making ES classes a real thing in Ember had been merged and changed the future outlook for Ember's public API drastically. The proposal crafted the idea of making the well-aged EmberObject model cross-compatible with the more modern ES Class syntax. This paved the way for Ember to evolve with the latest state of the JavaScript ecosystem in mind. Since then, early adopters in the community have been able to experiment with ES Class syntax in their apps by making use of the addon ember-decorators - seeing the classy β¨ future of Ember for themselves.
Now the follow-up Native Class Roadmap RFC from the author of RFC#240 has made its debut. It explains how several changes to the current API of EmberObject - including an update to how the constructor method operates - will be necessary to make ES Classes true first-class citizens in the Ember ecosystem and how EmberObject can be safely deprecated in the further future. It highlights that this will reinvent Ember's learning story and therefore it'll facilitate the adoption of the framework in the wider JavaScript community.
In the same context as the Native Class Roadmap there is currently an open RFC proposing to change the behavior of EmberObject's constructor.
Native class syntax with EmberObject has almost reached full feature parity, meaning soon Ember will be able to ship native classes. However, early adopters of native classes have experienced some serious issues due to the current behaviour of the class constructor. The issue is caused by the fact that properties passed to EmberObject.create are assigned to the instance in the root class constructor. Due to the way that native class fields work, this means that they are assigned before any subclasses' fields are assigned, causing subclass fields to overwrite any value passed to create.
One thing worth mentioning is that EmberObject will likely be deprecated in the near future and that ideally for non-Ember classes (things that aren't Components, Services, etc.) users should drop EmberObject altogether and use native classes only.
π As always, all comments to this RFC are more than welcome, so let's help out in order to finalize it! β¨
Ever wondered how to write accessible Ember apps? Jen Weber wrote a great tutorial explaining all you need to get started. She takes you through setting up ember-a11y-testing, a tool made to do automated accessibility testing, adding accessibility checks to rendering tests and how to fix the issues found.
The tutorial ends with a nice section on what to do next. One thing is automated testing but as developers our responsibility is much bigger than that.
Ever wondered how many and in which order you have to pass in parameters to the popular link-to helper to make your transition work?
With lots of inspiration π from routing solutions in Reactland βοΈ another new RFC made it in this week to help you in this exact situation: It proposes the introduction of a Link component to Ember's public API. With dedicated named arguments it should be clearer what your links have to do to make that route transition a success.
Would you like to see how linking in future Ember apps might become much clearer? Then check out the original proposal and leave your thoughts in the comments below!
Another RFC this week proposes the deprecation of the Ember.merge method in favor of the functionally equivalent Ember.assign. This means less duplication in Ember's codebase and also less confusion on what either method does for any Ember users which is π―.
Read the full proposal to learn more about the deprecation story and comment on the pull request what you think about it. π£
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! π€
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.
And if you've always wanted to be an OSS journalist yourself, drop by #topic-embertimes on the Ember Community Slack Chat and write the next edition of the Ember Times together with us!
That's another wrap! β¨
Be kind,
Miguel Braga Gomes, Kenneth Larsen, Jessica Jordan and the Learning Team
Until the next issue, happy Embering :)
The Ember.js Learning Team Β· 812 SW Washington St, Ste 1000 Β· Portland OR 97205 Β· USA