Ember Engines acceptance testing guides π, check out the new EmberMap video on Tracked Properties π£, polyfills for in-element and named blocks π, setting up Coveralls for your Ember addons πͺ, Ember in COVID-19 research π¬ππΉ, Global Accessibility Awareness Day Ember blog post ππΉ, "My Experience with Ember.js" video series π₯, and last, but not least, read the prettiest RFC in Emberland π !
A new EmberMap video covers Tracked Properties β a new way to access and mutate state in Ember with vanilla JavaScript.
While we have been able to use native ES5 getters for accessing properties (this.isOpen), we still had to rely on calling this.set to mutate state. Tracked properties allow us to drop using this.set and instead use native setters (this.isOpen = true;) by annotating the properties we want to track.
import { tracked } from '@glimmer/tracking';
class Person {
@tracked firstName;
@tracked lastName;
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
Tracked properties also allow us to use native JavaScript getters as a replacement for computed properties by having dependent keys tracked. So try it out today in your app and vastly simplify the programming model by moving closer to native JavaScript language constructs.
What is {{ opening_double_curly() }}in-element{{ closing_double_curly() }}? Sometimes developers need to render content outside of the regular HTML flow. This concept is also called "portals". Components like dropdowns and modals use this technique to render stuff close to the root of the page, so as to bypass CSS overflow rules. (Some apps that are embedded into static pages even use this technique to update parts of the page outside the app itself.)
Rajasegar Chandran (@rajasegar) blogs about setting up Coveralls for your Ember addons. He explains how to setup ember-cli-code-coverage and Coveralls for your repositories. Coveralls help you deliver code confidently by showing which parts of your code arenβt covered by your test suite. You can also learn how to use these techniques and make it part of your workflow using Github Actions.
PASS (which is built using Ember.js on the frontend!), is a platform to assist researchers π¬π§ͺπ in complying with the access policies of their funders and institutions and is created by the Sheridan Libraries at JHU, in collaboration with the Harvard University Office for Scholarly Communication and the MIT Libraries.
As a recent article at JHU's news center the Hub has pointed out, "Through modifications to the Public Access Submission System (PASS), faculty or their proxies can now submit articles flagged specifically for [the] JHU COVID-19 collection."
It is so encouraging to see yet another example of Ember being used in applications that support important research for public good. ππΉ
You may not have seen the recent blog post commemorating the occasion and discussing accessibility in Ember. π The post includes lots of great information about how the community, the Ember core team and Ember's A11y Strike Team are working to support an accessible web. ππππ
You should head on over to the blog post for more details on what you can do to get involved or how to make your Ember applications more accessible.
If you have accessibility related questions you can head on over to the community Discord chat in the #topic-a11y channel, and get answers and help right away.
Or, if you're interested in getting involved in Ember's A11y Strike Team, checkout the #st-a11y channel on Discord, and let us know! The meetings are also open to anyone who wants to attend.
Big shout out to Mel Sumner (@MelSumner) for putting all that valuable accessiblity-related information together!
Cal aims to make his videos short and sweet π so that someone learning can reference something in bite-sized pieces. Look forward to what's next from Cal! π
By default, ember-cli already provides developers with plenty of tools and settings for linting and formatting of app code via eslint and ember-template-lint. But what if you could come to an agreement on some of the most significant bike-shedding disputes in your team once and for all, including discussions about tabs vs. spaces or the need for the newline at the end of a file?
Want to learn more about how this could help you and your team to collaborate on your code even better? Then be sure to give the original RFC a read soon, as it entered the Final Comment Period (FCP) recently. And don't forget to post your questions and suggestions in the comments below the RFC PR, pretty please!
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! π€