Ember Times-Issue 137


Hello Amberistas! 🐹

Learn how automatic tracking works👣, try the latest ember-template-lint v2 ✅, Ember website redesign🔥, 2020 Ember community survey reminder📝, and beta test ember-cli 3.17 🧪!


Chris Garrett (@pzuraq) Wrote a new article on his blog Auto follow blog series, He wrote before What is reactivity And in What is a good reactive system.

in How automatic tracking works, Chris discussed how to implement automatic tracking Principles of Reactive Design Explore how it was implemented and why. In the blog, we will introduce memoization, citation equality, revisions, tags, and how they work together to provide automatic tracking for Ember.

Memoization is a technique in which we cache the previous parameters of the calling function together with the results they produce to minimize redundant work, which is the basis of automatic tracking. However, because of the way equality works in JavaScript, we need to take advantage of reference equality to perform faster deep equality, and we assume that if we pass the same object as before, nothing changes.

Automatic tracking revolves around a single number, the global revision number. This number tracks the version of the state the application is in. However, we don’t want our memory function to re-run when the state changes, because it may have changed to a completely unrelated state. We only want to re-run when the tracking state in the function changes. To do this, we need labels that represent the state in the application so that our function only reruns when it should be rerun, and irrelevant changes will not affect it.

Auto tracking is one of them Core mechanism That power Ember.js with Shimmer Virtual Machine. This is one of the most exciting Ember Octane’s upcoming features So give it a try in your Ember application today and see if it can help you write faster, less error-prone and easier to understand code.Read more about Auto tracking in full blog posts!


Maybe you didn’t notice, but Ember’s main website already Redesign it is Live now! The redesign brings a brand new look to Ember’s main real estate on the Internet, with a clean and modern look, which everyone in our community can be proud of.

This redesign has been going on for a long time and involves a lot of work from people from the Ember core team and the Ember community.Shout out to everyone involved in this work, especially Mel Sumner (@MelSumner) with Chris Manson (@mansona)! 🎉🎉🎉 It’s so exciting to see the modern vision of this website come to life.

If you like the new website and want to help make all Ember network attributes have a consistent design, please visit #dev-ember-learning Channel open Discord chat.

If you find any problems with the website, please feel free to Main website repository on Github or Style guide repurchase The location of the component.


If you don’t know, you can lint template follow Ember’s recommended practice, Avoid common accessibility mistakes, and collaborate with your team more effectively. 💯

# Install (or upgrade to v2)
ember install ember-cli-template-lint

# Profit!
npm run lint:hbs

v2 version is Recently announcedThe most significant change may be that you can start to follow Ember Octane’s recommended rules:

// .template-lintrc.js
'use strict';

module.exports = {
  extends: 'octane',
  rules: {
    /* Add custom rules here */
  }
};

You can Change log. Thank you @生活艺术, @bmish, @dcyriller, @rwjblue, @阿卡什苏扎, @alexlafroscia, @buschtoens, @戈杰弗森, with @initram Help release v2!


This is another friendly reminder that it’s that time of the year again 😀, 2020 6th Annual Official Ember Community Survey here! Once again, we hope you can help understand the members of the Ember community and how they use the framework.

More than 1,200 people participated in the survey last year. All these participations and your participation over the years have generated enough investment to make the process more efficient. This year’s survey has been greatly reduced compared to previous years!So it should be easier to make than ever contribution Pay tribute to our community by filling out the questionnaire-let us continue to participate! 🎉

This year we also want to emphasize that the contributions of non-Ember users are also very valuable. Therefore, if you have colleagues or friends who you think may be interested in filling out the questionnaire, please share with them.

Submission will be accepted Until March 8, But no need to wait!Continue to fill in Investigate here now. 🔥🔥🔥

We look forward to your participation!If you have any immediate questions, please feel free to email the survey team survey@emberjs.com or ping them on #dev-ember-learning Discord chat.

However, please don’t forget to help us spread the message by sharing survey landing pages on your social network feeds, gatherings, and around your office and other communities.


Not too long Ember 3.17 released Until you can upgrade your favorite Ember application to the latest version of the framework.If you want to have an extra start, you can even try out some
3.17 Ember experience Nowadays!

several days ago, Embers cli@3.17.0-beta.1 Released a lot of great things, including deleting RSVP supports native promises, A lot of major updates have been made to the test scenario, and the linter has been upgraded Now use eslint and ember-template-lint directlyThank you very much for your feedback on testing the ember-cli beta version.share your ideas Project repository on Github Or in #Ember-cli channel on Ember Discord.

But why is Beta testing is important first of all? Distributed community projects like Ember not only come from the code contributions of developers around the world, but also from their feedback on the current version. Early adopters and ambitious testers of versions in the Beta and Canary channels can provide the necessary insights to effectively reduce the upcoming Ember version: the best developer experience that takes into account the entire Ember community.

If you want to learn more about the motivation behind Ember release management, be sure to read Post official 1.0 release cycle blog post with LTS (Long Term Support) Release Process Announcement.


This week we want to thank @pzuraq, @Chrisdon, @mehulkar, @梅尔sumner, @GCheung55, @HeroicEric, @hjdivad, @Windvis, @patricklx, @lock, Mansona, @sivakumar-kailasam, @knownasilya, @哈基莱巴拉, @void-mAlex, @misahenry, @ivandotv, @Hear, @kellyselden, @bartocc, @rwjblue, @Chrispstein, @gokatz with @Gaurav0 Thanks for their contributions to Ember and related repositories! 💖


Want to know about Ember, Ember Data, Glimmer, or plugins in the Ember ecosystem, but don’t know where to consult? Readers’ questions are only answered for you!

Submit your own Short and sweet problem under bit.ly/ask-ember-coreDon’t worry, there are no stupid questions, we thank them-guaranteed! 🤞


Want to write for Ember Times? Any suggestions for next week’s problem?join us #support-ember-times in Ember community discord Or ping us @embertimes On Twitter.

Subscribe to our channel to get the latest news from Emberland this week Email newsletter!You can also find our posts in the following locations People Blog.


That is another package! ✨

Be kind,

Chris Ng, Isaac Lee, Jared Galanis, Jessica Jordan and the learning team



Leave a Reply

Your email address will not be published. Required fields are marked *