Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Ember Times No. 131 - January 17th 2020 #458

Merged
merged 43 commits into from
Jan 17, 2020
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
cccb4dc
blog(embertimes#131): add template
jayjayjpg Dec 20, 2019
c87ad86
blog(embertimes131): new test waiters
chrisrng Jan 15, 2020
a1e9a87
blog(embertimes#131): add template
jayjayjpg Dec 20, 2019
11f3d87
Add new template
amyrlam Jan 16, 2020
6e3a074
Merge branch 'blog/embertimes-131' into chrisrng-patch-1
amyrlam Jan 16, 2020
1500051
Add alex ignore
amyrlam Jan 16, 2020
59bc17f
Merge branch 'chrisrng-patch-1' of github.com:ember-learn/ember-blog …
amyrlam Jan 16, 2020
296bb29
Merge pull request #491 from ember-learn/chrisrng-patch-1
amyrlam Jan 16, 2020
48f04a7
Add blurb about runspired series
amyrlam Jan 16, 2020
ccf8442
Fix WIP issue
amyrlam Jan 16, 2020
e8ada4d
Add russian hello c/o chilicoder
amyrlam Jan 16, 2020
5bbfc32
Update 2020-01-17-the-ember-times-issue-131.md
amyrlam Jan 16, 2020
697f4a6
Update 2020-01-17-the-ember-times-issue-131.md
amyrlam Jan 16, 2020
e1738e8
Merge pull request #492 from ember-learn/amy/embertimes-131
amyrlam Jan 16, 2020
dbc4436
Add Habr.com writeup
amyrlam Jan 17, 2020
d3bf815
Update 2020-01-17-the-ember-times-issue-131.md
amyrlam Jan 17, 2020
f2ff709
very little thing
Jan 17, 2020
26ed828
Covered RFCs 566, 567, 569, and 577 on improving autotracking (Ember …
ijlee2 Jan 17, 2020
85563fe
Merge pull request #495 from chilicoder/patch-2
ijlee2 Jan 17, 2020
8cfa539
Update source/2020-01-17-the-ember-times-issue-131.md
ijlee2 Jan 17, 2020
69bceb2
Update source/2020-01-17-the-ember-times-issue-131.md
ijlee2 Jan 17, 2020
7c47bad
Update 2020-01-17-the-ember-times-issue-131.md
amyrlam Jan 17, 2020
efff3df
Merge pull request #494 from ember-learn/amy/131-russian
amyrlam Jan 17, 2020
f787fc4
Merge branch 'blog/embertimes-131' into blog/embertimes-131
amyrlam Jan 17, 2020
875aa63
Update source/2020-01-17-the-ember-times-issue-131.md
ijlee2 Jan 17, 2020
4b6ea0a
Update source/2020-01-17-the-ember-times-issue-131.md
ijlee2 Jan 17, 2020
64d98b0
blog(embertimes#131): add speaker writeup for emberconf (@sdebarros)
jayjayjpg Jan 17, 2020
eaca0f8
Update source/2020-01-17-the-ember-times-issue-131.md
ijlee2 Jan 17, 2020
6bf3b6c
Update source/2020-01-17-the-ember-times-issue-131.md
ijlee2 Jan 17, 2020
0b536ae
Merge pull request #496 from ijlee2/blog/embertimes-131
ijlee2 Jan 17, 2020
669853f
blog(embertimes#131): edits interview
jayjayjpg Jan 17, 2020
6c680dd
Merge branch 'blog/embertimes-131' into embertimes-jj
jayjayjpg Jan 17, 2020
c236435
Update source/2020-01-17-the-ember-times-issue-131.md
jayjayjpg Jan 17, 2020
70d7340
Update source/2020-01-17-the-ember-times-issue-131.md
jayjayjpg Jan 17, 2020
f8c91f6
Update source/2020-01-17-the-ember-times-issue-131.md
jayjayjpg Jan 17, 2020
b9f32ff
Update source/2020-01-17-the-ember-times-issue-131.md
jayjayjpg Jan 17, 2020
b6aa8d8
Update source/2020-01-17-the-ember-times-issue-131.md
jayjayjpg Jan 17, 2020
06a5241
Merge pull request #497 from jessica-jordan/embertimes-jj
jayjayjpg Jan 17, 2020
9e4bdb4
Fix alex from appearing inline
amyrlam Jan 17, 2020
23e443b
Update intro and remove the crowd
amyrlam Jan 17, 2020
44ca36e
Update source/2020-01-17-the-ember-times-issue-131.md
amyrlam Jan 17, 2020
cbb6c22
Update 2020-01-17-the-ember-times-issue-131.md
amyrlam Jan 17, 2020
dfdccde
Update 2020-01-17-the-ember-times-issue-131.md
amyrlam Jan 17, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/2020-01-10-the-ember-times-issue-130.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: The Ember Times - Issue No. 130
author: Chris Ng, Alon Bukai, Jessica Jordan, Anne-Greeth van Herwijnen, Isaac Lee, Jared Galanis, Amy Lam
tags: Recent Posts, Ember Octane, Newsletter, Ember.js Times, Ember Times, 2020
tags: Ember Octane, Newsletter, Ember.js Times, Ember Times, 2020
alias : "blog/2020/01/10-the-ember-times-issue-130.html"
responsive: true
---
Expand Down
152 changes: 152 additions & 0 deletions source/2020-01-17-the-ember-times-issue-131.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
---
title: The Ember Times - Issue No. 131
author: Chris Ng, Amy Lam, Isaac Lee, Jessica Jordan
tags: Recent Posts, Newsletter, Ember.js Times, Ember Times, 2019
alias : "blog/2020/01/17-the-ember-times-issue-131.html"
responsive: true
---

Привет, Эмберисты! <span style="font-style: italic;">Hello, Emberistas!</span> 🐹

<!--alex ignore waiters-waitresses-->
Help improve Ember's autotracking and reactivity system 💬,
Read the New Test Waiters RFC ⏳,
Optimize your app with Ember Data 📈,
Russian Ember community 🇷🇺,
learn about powerful debugging at EmberConf 💻,

READMORE

---

## [4 RFCs on improving Ember's autotracking and reactivity system 💬](https://github.com/emberjs/rfcs/blob/use-and-resources/text/0567-use-and-resources.md#introducing-use-and-resources)

Ember Octane features a **new reactivity system** thanks to **tracked properties**. They simplify syncing the DOM with JavaScript changes. Find out how autotracking works from the [Ember Guides](https://guides.emberjs.com/release/in-depth-topics/autotracking-in-depth/).

To help address some shortcomings, [Chris Garrett (@pzuraq)](https://github.com/pzuraq) proposed introducing the decorators and classes listed below. We encourage you to participate in RFCs and provide feedback!

### [566. `@memo` decorator](https://github.com/emberjs/rfcs/pull/566)

Unlike computed properties, autotracked getters don't cache their values. `@memo` will let you opt in to memoization.

### [567. `@use` decorator](https://github.com/emberjs/rfcs/pull/567)

The `@use` API will leverage autotracking to solve two issues:

- Allow Glimmer components to define a behavior with its own lifecycle, independently of the template
- Provide a standard way to mix declarative and imperative code

### [569. `TrackedList` class](https://github.com/emberjs/rfcs/pull/569)

`TrackedList` will autotrack changes to arrays. This class, designed to replace `EmberArray`, will follow the native array API closely and be performant.

### [577. `TrackedMap` and `TrackedSet` classes](https://github.com/emberjs/rfcs/pull/577)

`TrackedMap` and `TrackedSet`, along with their weak analogs, will autotrack changes to maps and sets (dynamic collections of values). These classes will follow the native APIs exactly.

---

<!--alex ignore waiters-waitresses-->
## [New Test Waiters RFC ⏳](https://github.com/emberjs/rfcs/pull/581)
amyrlam marked this conversation as resolved.
Show resolved Hide resolved

<!--alex ignore waiters-waitresses-->
[Steve Calvert (@scalvert)](https://github.com/scalvert) proposed replacing the existing test waiters with the [ember-test-waiters](https://github.com/rwjblue/ember-test-waiters) in the [New Test Waiters RFC](https://github.com/emberjs/rfcs/pull/581).


<!--alex ignore waiter-waitress-->
The new test waiter system will provide a few benefits:

<!--alex ignore waiter-waitress waiters-waitresses-->
- A **new API that removes the existing foot guns** given we will be more explicit when declaring the start and end of the waiter through the waiter `beginAsync` and `endAsync` methods
- A more robust way to gather **debugging information** for the test waiter since the waiter is identifiable by the name provided
- Default test waiters with the **ability to author your own, more complex test waiters** through annotating the asynchronous operations in your code base that are not tracked by an `await settled()` check

<!--alex ignore waiters-waitresses-->
Share your thoughts, feedback, and requests on the [New Test Waiters RFC](https://github.com/emberjs/rfcs/pull/581)!

---

## [Optimizing your app with Ember Data 📈](https://runspired.com/2019/12/15/optimizing-your-app-with-ember-data/)

[Chris Thoburn (@runspired)](https://github.com/runspired) is blogging about how to build and optimize an app with Ember Data. You'll start by building an app, Listicle. Listicle starts as a small app shell with rich content lists, but balloons in size over time. Build times slow to a crawl as a result.

At the beginning of the series, Listicle builds and renders in greater than 5 seconds. But as the posts progress, you'll end with an app with builds and renders in **less than 1 second** by optimizing only the app's data management! Then for fun, you'll optimize the render.

You can check out [Part 1](https://runspired.com/2019/12/15/optimizing-your-app-with-ember-data/) and [Part 2](https://runspired.com/2019/12/18/optimizing-your-app-with-ember-data-part-2/) now, with more posts to come! And you can follow along with the code for the series by watching the [Listicle repository](https://github.com/runspired/listicle).

For some Ember Data context, check out the [Guides](https://guides.emberjs.com/release/models/). You can learn about the architecture and history in Chris's EmberFest [Ember Data 2019](https://www.youtube.com/watch?v=zbqbsOyLM30&list=PLN4SpDLOSVkT0e094BZhGkUnf2WBF09xx&index=23&t=0s) conference talk.

---

## [Russian Ember community 🇷🇺](https://habr.com/ru/post/483630/)

[Habr.com](habr.com) is a popular geek media site among Russian developers. It's somewhat similar to Hacker News, except that it's populated by user-submitted articles instead of links. [Iaroslav Popov (@chilicoder)](https://github.com/chilicoder) recognized a shortage of Ember articles on Habr.com and recently started translating our very own Ember Times ([Issue #129](https://habr.com/ru/post/482988/), [Issue #130](https://habr.com/ru/post/483630/)) on Habr.com, as well as [Octane is Here](https://habr.com/ru/post/482158/) and [Super Rentals tutorial - Part 1](https://habr.com/ru/post/482296/)!

@chilicoder also mentioned to check out the [Ember telegram channel](https://t.me/ember_js), moderated by [Alex Kanunnikov (@lifeart)](https://github.com/lifeart). It's one of the best ways to get help with **Ember in Russian**, and they welcome everyone to join! Thank you both for your help in fostering the Russian Ember community!

---

## [Master powerful debugging strategies at EmberConf 💻](https://emberconf.com/#/speakers/samanta-de-barros)

You've undoubtedly heard her talk about [creating progressive web applications with Ember](https://www.youtube.com/watch?v=OR1Tk_bwmZo)
and [bulletproof addon testing](https://www.youtube.com/watch?v=31kVznd-zys) before, but now [Samanta de Barros (@sdebarros)](https://github.com/sdebarros)
is ready to share more useful knowledge that is crucial for any professional JavaScript developer.

At [this year's EmberConf](https://emberconf.com/) she's going to teach us about [**The Power of Debugging**](https://emberconf.com/#/speakers/samanta-de-barros); which tools you can use to track down bugs swiftly in development and production environments, and how you can find your way around Ember's architecture while doing so.

In an exclusive interview with The Ember Times, Samanta shares with us, what makes debugging tools and strategies so powerful when developing Ember applications:

<!--alex ignore fear just-->
> I think learning out debugging techniques is important. Mostly, because it will help you to have a better time finding bugs and even how an app works. In part I think it’s necessary because it will help you on your job!
>
> I also think that when you start looking at other people’s code it is hard at first, but after a while you lose the fear of seeing these complex frameworks, you get a better idea of everything and you start to realise - it’s just JavaScript in the end. So I think debugging techniques are good for finding bugs and demystifying frameworks.

What's our experience like when we start to learn more about debugging strategies? Here, Samanta can share from both her own experience and from those she worked together with:

> When you are pairing with someone or you’re trying to solve an issue, you often run into something and it makes people go like: “Oh, that’s interesting!” When I’ve seen other people’s talks or see them working, I see that they have some tips about things that I don’t know about yet and that’s cool! You realise that there are a lot of tools that make working with the frontend easier.
>
> People who learn more about debugging usually say: “Oh yeah, that’s cool, that really simplifies these tasks I need to do” or “Oh, I didn’t know you could find that information there in the app.”

EmberConf is a unique experience, one that you and your team should definitely not miss out on. Samanta shares her perspective on what makes the conference
so outstanding:

<!--alex ignore just-->
> I think it’s a different experience when you go to a conference as a speaker or as attendee. When you just go to listen to the talks, you get a lot of inspiration, you discover things that people are you doing that you might not do yet and it sparks something in you that makes you want to learn something new or improve something in your job. […]
>
> I would say both getting inspiration and connecting are the nicest things about EmberConf. If I had to recommend anything to an attendee, I’d say: “Just go and ask questions to the other attendees or speakers.” Just listening to the talks is good enough, but the chance to connect with others makes the conference really great.

If you want to learn more about successfully debugging Ember apps, join more than 800 other Ember developers at [EmberConf in Portland, OR from March 16 - 18, 2020](https://emberconf.com/). Prices for regular attendee tickets start from $449, so don't hesitate to [register today](https://emberconf.com/#/register)!

---

## [Contributors' Corner 👏](https://guides.emberjs.com/release/contributing/repositories/)

<p>This week we'd like to thank <a href="https://github.com/bobisjan" target="gh-user">@bobisjan</a>, <a href="https://github.com/pzuraq" target="gh-user">@pzuraq</a>, <a href="https://github.com/locks" target="gh-user">@locks</a>, <a href="https://github.com/mjanjic01" target="gh-user">@mjanjic01</a>, <a href="https://github.com/runspired" target="gh-user">@runspired</a>, <a href="https://github.com/igorT" target="gh-user">@igorT</a>, <a href="https://github.com/dmuneras" target="gh-user">@dmuneras</a>, <a href="https://github.com/mixonic" target="gh-user">@mixonic</a>, <a href="https://github.com/chancancode" target="gh-user">@chancancode</a>, <a href="https://github.com/nummi" target="gh-user">@nummi</a>, <a href="https://github.com/efx" target="gh-user">@efx</a>, <a href="https://github.com/josemarluedke" target="gh-user">@josemarluedke</a>, <a href="https://github.com/mansona" target="gh-user">@mansona</a>, <a href="https://github.com/pichfl" target="gh-user">@pichfl</a>, <a href="https://github.com/skaterdav85" target="gh-user">@skaterdav85</a>, <a href="https://github.com/jenweber" target="gh-user">@jenweber</a>, <a href="https://github.com/mcfiredrill" target="gh-user">@mcfiredrill</a>, <a href="https://github.com/tomdale" target="gh-user">@tomdale</a>, <a href="https://github.com/conormag" target="gh-user">@conormag</a>, <a href="https://github.com/rwjblue" target="gh-user">@rwjblue</a>, <a href="https://github.com/Turbo87" target="gh-user">@Turbo87</a>, <a href="https://github.com/stefanpenner" target="gh-user">@stefanpenner</a>, <a href="https://github.com/xg-wang" target="gh-user">@xg-wang</a> for their contributions to Ember and related repositories! 💖</p>

---

## [Got a question? Ask Readers' Questions! 🤓](https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform)

<div class="blog-row">
<img class="float-right small transparent padded" alt="Office Hours Tomster Mascot" title="Readers' Questions" src="/images/tomsters/officehours.png" />

<p>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!</p>

<p><strong>Submit your own</strong> short and sweet <strong>question</strong> under <a href="https://bit.ly/ask-ember-core" target="rq">bit.ly/ask-ember-core</a>. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞</p>
</div>

---

## [#embertimes 📰](https://blog.emberjs.com/tags/newsletter.html)

Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at [#support-ember-times](https://discordapp.com/channels/480462759797063690/485450546887786506) on the [Ember Community Discord](https://discordapp.com/invite/zT3asNS) or ping us [@embertimes](https://twitter.com/embertimes) on Twitter.

Keep on top of what's been going on in Emberland this week by subscribing to our [e-mail newsletter](https://the-emberjs-times.ongoodbits.com/)! You can also find our posts on the [Ember blog](https://emberjs.com/blog/tags/newsletter.html).

---

That's another wrap! ✨

Be kind,

Chris Ng, Amy Lam, Isaac Lee, Jessica Jordan, the crowd and the Learning Team