AiA 260:  NgRx, The Mystical Machine, with Wes Grimes

AiA 260: NgRx, The Mystical Machine, with Wes Grimes

In this week’s episode of Adventures in Angular the panel has fun interviewing Narwhal rocks star and NgRx expert, Wes Grimes. Wes starts by sharing how he got started in NgRx. In a previous company, Wes was the lead architect for a project that had need of a state management solution, so it was his job to figure out how to use NgRx. While figuring it out he created a structure for using NgRx and used that structure to write a blog article about best practices for NgRx. This blog article took the world by a storm and now has over 200,00 views. People are now building libraries and courses based on his article. The panel has a little considering the possible searches that lead people to his article. Jennifer Wadella shares some of the weirder searches that have led people to her posts. After their fun, the panel tries to get back on track. This article thrust Wes into the world of helping people understand NgRx, what he calls a mystical machine. He explains how this article was only the beginning of learning NgRx and that he is currently working on revising that first post. The main point covered in the article was how to organize the store and how to store it in the file system. It walks through creating angular modules for each slice of the store. The second point is covers heavily is the use of barrels. The biggest problem Wes see people run into in NgRx is they do not know where all their actions are. He shares the solution he uses for this problem, using a public API to group actions so they are easier to find. The panel expresses their frustration with the hard time the CLI has with barrel files. Wes explains why this is a common problem and shares a solution. The panel asks for other gotcha’s to watch for when using NgRx. Wes explains how and what developers miss out on when they fail to use selectors to their fullest. When selectors are used correctly and completely developers receive all the benefits of the testing they do on NgRx. The other benefits are builtin memoization and reusability. Another gotcha he warns against is using facades before fully understanding NgRx. This really fires up the panel, who then debates the use of facades in NgRx. Aaron Frost expresses his opinion that NgRx isn’t for everything and that by using facades you may not need to use NgRx. Wes explains that the large companies he works for are already committed to NgRx as their solution and he advises them not to use facades. Wes explains the downsides of using NgRx, the first is when developers jump in before they understand it and back themselves into a corner. Another downside is the upfront investment cost when learning NgRx. The panel jumps in wondering what Wes thinks of hiding those developers unfamiliar in NgRx with a facade. Wes explains how in doing this the team would be compromising architecture in order to avoid teaching developers to use NgRx properly. He clarifies that he doesn’t think facades are bad but in order to use them correctly in NgRx developers must first understand how NgRx works. Aaron explains why when working with developers unfamiliar with angular he advises them not to learn NgRx right away. Wes shares how he has seen developers misuse facades. When using a facade it entices developers to hop back and for between imperative and declarative code. Aaron jumps in and explains that imperative code in reactive programming is very bad. He invites listeners to go out and learn more about this because it is very important to understand. The panel considers strategies to help teams code reactively. Wes recommends requesting data from the server. This pattern is straight forward to implement and handles a lot of the common use cases in the store. Aaron suggests turning off default change detection, doing so will force the programmers to code reactively. Another way suggested is to structure teams separating concerns. The episode ends with Wes sharing his experience joining the NgRx core team by working in the documentation, filling in gaps that he found. He also shares what will be coming to NgRx. The platform will be expanding beyond just state management, supplying reactive libraries for angular. They are also getting ready for an experimental release of NgRx component. Panelists
  • Aaron Frost
  • Brian Love
  • Jennifer Wadella
  • Shai Reznik
  • Alyssa Nicoll
Guest
  • Wes Grimes
Adventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsLinksPicksBrain Love:Shai Reznik:Aaron Frost:Jennifer Wadella:Wes Grimes:Special Guest: Wes Grimes.

Advertising Inquiries: https://redcircle.com/brands

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Jaksot(468)

Accessibility in Angular with Vitalii Bobrov - AiA 423

Accessibility in Angular with Vitalii Bobrov - AiA 423

Special guest, Vitalii Bobrov joins us to talk about accessibility on the web and how to relate it to user experience in general. What can we do to improve accessibility? How can we improve accessibil...

29 Elo 202450min

Bazel with Alex Eagle - AiA 422

Bazel with Alex Eagle - AiA 422

Alex Eagle is a Software Engineer on the core Angular team at Google. Alex and the panel talk about Bazel, a a free software tool that allows for the automation of building and testing of software.Lin...

22 Elo 20241h 1min

Functional Programming with Angular, NgRx with Raul Jimenez - AiA 421

Functional Programming with Angular, NgRx with Raul Jimenez - AiA 421

Raul Jimenez, the CEO of Byte Default, answers the panels many questions on functional programming with NgRx. In this playful interview, Raul defines functional programming and what it is trying to so...

8 Elo 202455min

The JAM in JAMstack with Tara Z. Manicsic - AiA 420

The JAM in JAMstack with Tara Z. Manicsic - AiA 420

In this episode of Adventures in Angular the panel interviews Tara Manicsic. Tara is an Angular Developer Experience Engineer at Netlify. Tara explains what she does at Netlify. She explains what Netl...

1 Elo 202437min

Angular Projects with Zama Khan Mohammed - AiA 419

Angular Projects with Zama Khan Mohammed - AiA 419

In this episode of Adventures in Angular the panel interviews Zama Khan Mohammed about his recent book and other open source work he has done in the Angular community. Zama explains what is so differe...

18 Heinä 202440min

Unleashing Angular's Potential with WebAssembly and Rust - AiA 418

Unleashing Angular's Potential with WebAssembly and Rust - AiA 418

In today's episode, They dive deep into the fascinating world of WebAssembly and Rust with our special guest expert, Evgeniy Tuboltsev. WebAssembly, a powerful binary format, allows code to run at nea...

11 Heinä 202435min

Mastering Angular Testing Strategies with Ng Demo and Cypress Integration - AiA 417

Mastering Angular Testing Strategies with Ng Demo and Cypress Integration - AiA 417

In this episode, they dive deep into the world of Angular application testing with our special guest, Matt, the author of the Angular Mini Book and creator of the ng demo repository. They explore the ...

4 Heinä 202433min

Put A Form Around It with Sani Yusuf - AiA 416

Put A Form Around It with Sani Yusuf - AiA 416

In this episode of Adventures in Angular, Sani Yusuf stops by for an adventure and chats with Alyssa, Brooks & Chris about building component libraries in Nx and how he feels forms are one of Angular’...

30 Kesä 202453min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
rss-draivi
rss-lahtijat
oppimisen-psykologia
rss-rahamania
rss-porssipuhetta
rss-seuraava-potilas
taloudellinen-mielenrauha
rss-inderes
rss-h-asselmoilanen
rss-bisnesta-bebeja
rss-paatos-podcast-suomen-kovimmat-paatoksentekijat-2
rss-paasipodi
rss-viisas-raha-podi
rss-sami-miettinen-neuvottelija
kasvun-kipuja
rss-bisnespaiva