POPULARITY
This is an episode of the Angular Plus Show that you will not want to miss. We welcome Rainer Hahnekamp to the show to learn about his Angular community contributions to NgRx, NgRx Toolkit, Playwright Component Testing and more. Rainer is a Google Developer Expert in Angular and a software architect at Angular Architects. Rainer shares his experience building open-source software for the Angular community and answers all of the questions on testing, micro-frontends and more.More about Rainer: X: @rainerhahnekampLinkedIn: Rainer HahnekampBluesky: @rainerhahnekamp.bsky.social https://www.youtube.com/@ng-newshttps://www.youtube.com/@RainerHahnekampFollow us!X: The Angular Plus ShowBluesky: @theangularplusshow.bsky.social The Angular Plus Show is a part of ng-conf. ng-conf is a multi-day Angular conference focused on delivering the highest quality training in the Angular JavaScript framework. Developers from across the globe converge on Salt Lake City, UT every year to attend talks and workshops by the Angular team and community experts.Join: http://www.ng-conf.org/Attend: https://ti.to/ng-confFollow: https://twitter.com/ngconf https://www.linkedin.com/company/ng-conf https://bsky.app/profile/ng-conf.bsky.social https://www.facebook.com/ngconfofficialRead: https://medium.com/ngconfWatch: https://www.youtube.com/@ngconfonline Edited by Patrick Hayes https://www.spoonfulofmedia.com/ Stock media provided by JUQBOXMUSIC/ Pond5
Welcome back to the Angular Master Podcast! In this episode, we have two remarkable guests joining us—Alex Okrushko and Marko Stanimirović—to dive into the innovative NgRx SignalStore. Alex, a Frontend Lead at Snowflake from Toronto, Canada, is a key member of the NgRx team, a Google Developer Expert, and an organizer of Angular Toronto and the official Angular Discord. Marko, hailing from Belgrade, Serbia, is a Principal Frontend Engineer at Swiss Marketplace Group, a core member of the NgRx and AnalogJS teams, and also a Google Developer Expert. In this episode, we explore the key principles of NgRx Signals and discuss why this new state management solution was introduced by the NgRx team. We cover its integration with Angular Signals, how it simplifies state management, and how it brings modularity, extensibility, and scalability to Angular applications. You'll also learn about the RxJS and Entity Management plugins, type safety, and the practical uses of SignalState. Beyond the technical insights, Alex and Marko share their personal approaches to learning new technologies, their motivations behind contributing to open-source projects, and how they unwind after a long day of coding. If you're curious about the future of NgRx SignalStore and how it compares to the global NgRx Store/ComponentStore, this episode is a must-listen!
Explore the power of NgRx SignalStore in a comprehensive workshop led by core members of the NgRx team: Brandon Roberts, Alex Okrushko, and Marko Stanimirović. This workshop offers a deep dive into the world of reactive state management powered by Angular Signals.NgRx SignalStore offers a pragmatic approach to state management in Angular applications. With its native support for Signals, you can define stores in a clear and declarative manner. The simplicity and flexibility of SignalStore, coupled with its opinionated and modular design, make it a versatile choice for Angular developers.Attend the workshop: https://ng-conf.org/workshops/Learn more about NgRx and the NgRx team:https://ngrx.io/guide/signalshttps://analogjs.orghttps://dev.to/ngrx/announcing-ngrx-v17-introducing-ngrx-signals-operators-performance-improvements-workshops-and-more-55e4@brandontroberts@AlexOkrushko@MarkoStDev Follow us on X: The Angular Plus Show The Angular Plus Show is a part of ng-conf. ng-conf is a multi-day Angular conference focused on delivering the highest quality training in the Angular JavaScript framework. Developers from across the globe converge on Salt Lake City, UT every year to attend talks and workshops by the Angular team and community experts.Join: http://www.ng-conf.org/Attend: https://ti.to/ng-confFollow: https://twitter.com/ngconf https://www.linkedin.com/company/ng-conf https://bsky.app/profile/ng-conf.bsky.social https://www.facebook.com/ngconfofficialRead: https://medium.com/ngconf Watch: https://www.youtube.com/@ngconfonline Stock media provided by JUQBOXMUSIC/ Pond5
Angular Signals has just been officially released and the NgRx team already has developed a new signal-driven approach to state management. Unrelated to the well-established redux pattern, the team has designed a more functional way of managing state reactively. Join Marko Stanimirović from the NgRx team as we discuss all the details and what you need to know about the NgRx Signals Store. More about Marko and the NgRx Signals StoreX: @MarkoStDev LinkedIn: Marko Stanimirović GitHub: markostanimirovicNgRx GitHub: https://github.com/ngrx/platformOfficial Docs: https://ngrx.ioBlog: https://dev.to/ngrxDiscord: https://discord.gg/ngrxFollow us on X: The Angular Plus Show The Angular Plus Show is a part of ng-conf. ng-conf is a multi-day Angular conference focused on delivering the highest quality training in the Angular JavaScript framework. Developers from across the globe converge on Salt Lake City, UT every year to attend talks and workshops by the Angular team and community experts.Attend: https://ti.to/ng-confJoin: http://www.ng-conf.org/Follow: https://twitter.com/ngconf https://www.linkedin.com/company/ng-conf https://bsky.app/profile/ng-conf.bsky.social https://www.facebook.com/ngconfofficialRead: https://medium.com/ngconf Watch: https://www.youtube.com/@ngconfonline Stock media provided by JUQBOXMUSIC/ Pond5
EPISODE DESCRIPTION:In this Dev Life edition of the Angular Plus Show, GDE & Principal Frontend Engineer, Marko Stanimirovic, gives an insider's perspective into working on the Core Team for NgRx and AnalogJS. Marko starts by sharing his journey into programming and his early experiences as a developer. From there, he explains NgRx, its role in the Angular ecosystem, and addresses unique challenges faced on the Core Team. Marko also shares how his efforts in OSS have impacted his career and then gives advice for how & why others can get involved to excel in their careers as well. LINKS:https://twitter.com/MarkoStDevhttps://ngrx.io/https://analogjs.org/https://angularbelgrade.org/CONNECT WITH US:Marko Stanimirovic - @MarkoStDevBrooke Avery - @jediBraveryPreston Lamb - @prestonjlamb
Like Math, State management is hard. Have you ever run into difficult and complex situations when managing the state of your Angular application? Are there side effects that are causing issues? Do you ever wish you could get the help of the NgRx core team to help you out? Well, the good news is that now you can. Several members of the core team are now offering NgRx Enterprise Support.Mike Ryan, the co-creator of NgRx and a Principal Architect at LiveLoveApp, and Alex Okrushko, an NgRx Core Team member and Architect at Cisco, join us to talk about how NgRx evolved to the mature and stable set of libraries that exist today and how to get started with NgRx Enterprise Support.
Ready to level up your NgRx skills? Tomas Trajan shares with us his top tips for working effectively and conventionally with NgRx. We go in-depth on best practices that help you develop faster with this popular state management library and uncover some drama around the viewModel$ pattern!• https://tomastrajan.medium.com/level-up-your-ngrx-skills-with-10-time-tested-best-practices-6c837fb14877• https://twitter.com/tomastrajan• https://angularexperts.io/• https://omniboard.dev/https://rxjs.dev/guide/testing/marble-testing
What's up everyone, this is Dariusz Kalbarczyk co-founder of NG Poland, JS Poland, AngularMaster.dev & WorkshopFest.dev. Welcome back to the Angular Master Podcast. Today we've got a special guest from Toronto Canada, Principal UI Architect at Cisco, trainer, NgRx team member, GoogleDevExpert, Angular Toronto organizer Ladies and gentlemen, Alex Okrushko! Topics covered in this episode: ✔ Team communication ✔ Move to the monorepo ✔ Feature flags ✔ Trunk-based development ✔ PRs - setting expectations ✔ Automatic Help ✔ Quality and Testing ✔ New Feature planning ✔ Daily releases https://ng-poland.pl https://js-poland.pl https://angularmaster.dev https://workshopfest.dev --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message
Tomas Trajan, Google Developer Expert for Angular and Web technologies, joins the show today to discuss NgRx and best practices. They deliberate the main integrations for NgRx with Angular, various implementation strategies, and more. This is an exciting conversation you won't want to miss! In this Episode… NgRx overview NgRx best practices NgRx and Angular implementation Sponsors Top End Devs Raygun | Click here to get started on your free 14-day trial Coaching | Top End Devs Links Level Up Your NgRx Skills With 10 Time-Tested Best Practices Tomas Trajan - Medium LinkedIn: Tomas (Trajan) Herich Angular Workshops Angular Experts Picks Charles- Marvel's Guardians of the Galaxy Game | SQUARE ENIX Charles - Top End Devs Conferences Charles - Top End Devs Meetups Subrat- Mindset: The New Psychology of Success Tomas - Huberman Lab
Tomas Trajan, Google Developer Expert for Angular and Web technologies, joins the show today to discuss NgRx and best practices. They deliberate the main integrations for NgRx with Angular, various implementation strategies, and more. This is an exciting conversation you won't want to miss! In this Episode… NgRx overview NgRx best practices NgRx and Angular implementation Sponsors Top End Devs Raygun | Click here to get started on your free 14-day trial Coaching | Top End Devs Links Level Up Your NgRx Skills With 10 Time-Tested Best Practices Tomas Trajan - Medium LinkedIn: Tomas (Trajan) Herich Angular Workshops Angular Experts Picks Charles- Marvel's Guardians of the Galaxy Game | SQUARE ENIX Charles - Top End Devs Conferences Charles - Top End Devs Meetups Subrat- Mindset: The New Psychology of Success Tomas - Huberman Lab
Show Notes Deze aflevering hebben we niet zomaar wat Angular developers weten te strikken, maar twee zeer bekenden binnen de Angular community: Jeffrey Bosch en Sander Elias Jeffrey is de auteur van ngx-aws-deploy, mede-organisator van de Dutch Angular Group en lid van het xLayers kernteam en medewerker van Scully. Momenteel werkt hij bij Stiply als Senior Softwareontwikkelaar. Hij heeft een passie voor alles wat met internet te maken heeft en draagt bij aan verschillende open source-projecten zoals NGRX en de Angular CLI. Sander is een ervaren ontwikkelaar met meer dan 4 decennia aan praktijkervaring onder zijn riem. Hij werkt sinds 2010 met Angular en is ook Google Developer Expert voor het web gespecialiseerd in Angular. Verder is hij organisator van bijeenkomsten en congressen. En hij helpt anderen helpen waar hij kan. Als hij geen code ademt, friemelt hij met IoT, fotografie, wetenschap en alles wat maar vaag gadgetachtig kan zijn! Sander is de oprichter van Scully. Met host Saber Karmous - LinkedIn Twitter Jeffrey Bosch LinkedIn - link Twitter - @jefiozie Sander Elias LinkedIn - link Twitter - @jcraane Onderwerpen 00:00:05 Intro 00:04:16 Hoe zijn Sander & Jeffrey met programmeren begonnen? 00:11:31 Angular! 00:21:18 Van Angular.js naar Angular 00:52:47 Angular CLI 01:11:38 State Management 01:22:34 Scully 01:23:24 Jamstack 01:42:03 Standalone Components 01:53:45 Angular Community platforms 02:02:49 Tips Random notes Dutch Angular Group en Angular lunch sessies Jamstack Tips Jeffrey Nu of nooit - ISBN 9789044648560 Sander Angular Devtools Netflix: The Witcher Amazon: The Wheel of Time Scully Saber Zorg dat je een "overlap" hebt als je verhuist. CodeKlets links CodeKlets CodeKlets Nieuwsbrief CodeKlets Slack CodeKlets Twitter CodeKlets op Vriend van de Show
Armen and Chuck discuss the ESLint NGRx plugin. They go over what it adds to ESLint and some of the things that you should be looking for as you write NGRx code in order to make it more uniform, concise, and easy to read. Armen also talks about his experience contributing to the plugin. Panel Armen VardanyanCharles Max Wood Sponsors Dev Influencers AcceleratorRaygun | Click here to get started on your free 14-day trialLevel Up | Devchat.tv Picks Armen- DuneCharles- Viscounts of The West KingdomCharles- X: Multiply Your God-Given Potential Contact Armen: Armen VardanyanArmen Vardanyan – MediumTwitter: Armen Vardanyan ( @Armandotrue ) Contact Charles: Devchat.tvDevChat.tv | FacebookTwitter: DevChat.tv ( @devchattv )
Armen and Chuck discuss the ESLint NGRx plugin. They go over what it adds to ESLint and some of the things that you should be looking for as you write NGRx code in order to make it more uniform, concise, and easy to read. Armen also talks about his experience contributing to the plugin. Panel Armen VardanyanCharles Max Wood Sponsors Dev Influencers AcceleratorRaygun | Click here to get started on your free 14-day trialLevel Up | Devchat.tv Picks Armen- DuneCharles- Viscounts of The West KingdomCharles- X: Multiply Your God-Given Potential Contact Armen: Armen VardanyanArmen Vardanyan – MediumTwitter: Armen Vardanyan ( @Armandotrue ) Contact Charles: Devchat.tvDevChat.tv | FacebookTwitter: DevChat.tv ( @devchattv )
What's up everyone, this is Dariusz Kalbarczyk co-founder of NG Poland, JS Poland, AngularMaster.dev & WorkshopFest.dev. Welcome back to Angular Master Podcast. Today we've got a special guest from Cisco Canada: Principal UI Architect , ngrx team member, GoogleDevExpert AngularToronto organizer, ladies & Ladies AlexOkrushko A few selected questions from the episode: 1. Less than a year ago, you started working at Cisco, what are your tasks and what are you responsible for? 2. You are very famous and very active in the NgRx community. Let's start from the very beginning. What is NgRx and why do we need it? 3. What is NgRx state management? Can you elaborate on it further? 4. What are the advantages of using the NgRx Store Module? 5. Explain how the various ngrx/store elements, such as Store, State, Reducer, Action, and Component, communicate with one another? 6. Is automated #testing important or is it overrated? 7. Is it a waste of time or does it help? 8. Are different types of tests (unit, integration, e2e) bringing more value than others? 9. Who does testing on your team if anyone? 10. Are QA folks responsible for the quality of a product? 11. What kind of person is Alex? How do you see yourself? 12. Do you have some hints for us regarding self-organization? 13. How does a typical working day at Cisco look alike for you? 14. Did you change your style of working during the pandemic? 15. What's about your work/live balance? Do you have some hints for us? --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message
This episode of the Angular Show features Sara Faatz, who leads the Telerik and KenoUI Developer Relations team at Progress, and Alyssa Nicoll, an Angular Developer Advocate & Google Developers Expert in Angular. Sara and Alyssa share with the panelists their respective journeys into the dev industry and how they ended up together on the Developer Relations team at Progress.You have likely heard of DevRel. It's the elite special forces coders that fly around the world and speak at conferences, have platinum Delta status, and sip on Champagne in the hallway track, right? Not exactly.Developer Relations is a relatively new career that has evolved over time into what it is today. Sara and Alyssa teach us about what DevRel is _really_ about, how much they love it, but also some of the pain points and challenges. Sara and Alyssa are part of an amazing team at Progress and enjoy sharing their passion for the web and KenoUI with front-end developers. In the end, Sara and Alyssa believe in the "human side of development"; sitting down with developers to understand what they need, the tools they use, and what can help improve their careers and lives.
Show Summary:We're back from our summer break and we're releasing a fresh episode of The Angular Show with a special guest, Mike Ryan, a Principal Architect with LiveLoveApp. Mike is a co-creator and member of the NgRx core team, a contributor to open-source, and a Google Developer Expert in Angular. Mike joins our panelists Aaron Frosts, Jennifer Wadella, and Brian Love, to chat about NgRx Effects best practices.NgRx is the defacto standard state management solution for Angular. While the core state module is highly inspired by Redux, the Effects library is unique to NgRx, and one of the best features of NgRx (in our humble opinion). NgRx Effects enable developers to perform side effects, like fetching data from an API, in an elegant and efficient manner. But, effects can also be tricky, hard to test, and sometimes it's not clear what RxJS operator is best suited for an effect.In this episode, we learn from Mike the best practices of using NgRx Effects, how to make them simpler, more maintainable, and easier to test. Plus, there are a handful of simple tips that you can walk away with and immediately improve the performance of your Angular application that is using NgRx Effects. Plus, if you've ever been unsure about which higher-order mapping operator (ya know, those somethingMap() ones) to use with an effect, Mike will break it all down for you in a straightforward way. This is an episode of The Angular Show that you do _not_ want to miss.Show Notes:- LiveLoveApp: https://liveloveapp.com- observer-spy library: https://github.com/hirezio/observer-spy- NgRx Effects: https://ngrx.io/guide/effects
The second episode of the podcast devoted to the broadly understood front-end technology, in particular to the beloved Angular. Manfred takes us on a journey through interesting, advanced aspects of Angular architecture. We are talking about Nx, NGRX, Micro Frontends, Monorepos and Security, among others. And finally a surprise topic ;) https://angularmaster.dev https://ng-poland.pl --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message
Recording date: 03/16/2021John Papa @John_PapaWard Bell @WardBellDan Wahlin @DanWahlinCraig Shoemaker @craigshoemakerBrandon Roberts @BrandonRobertsBrought to you byAG Grid Narwhal Visit nx.dev to get the preeminent open-source toolkit for monorepo development, today. Resources:NgRxNgRx Platform on GitHubNgRx on TwitterDiscord for NgRxSwag for NgRxOSS Sponsor page for NgRxRob Wormald on TwitterBrandon’s journey into Developer RelationsNx developer toolsRedux SagaNgRx SagasDan Wahlin’s Observable Store on GitHubBlog Post describing Dan Wahlin’s Observable StoreVideo on Dan Wahlins Observable StoreThe Component StoreTimejumps02:11 Guest introduction03:38 Proven development practices07:53 Sponsor: Nrwl08:28 How did you get started?14:17 What is NgRx and what was the business need?22:17 NgRx Effects and Sagas differences25:11 How can it be used with other frameworks?27:30 Sponsor: Ag Grid28:38 Shipping what you use33:53 What's your current role?35:44 Any advice for people getting into developer relations?38:08 John's journey into developer relations40:10 What's wrong with developer relations?43:25 Final thoughtsPodcast editing on this episode done by Chris Enns of Lemon Productions.
John Papa @John_PapaWard Bell @WardBellDan Wahlin @DanWahlinCraig Shoemaker @craigshoemakerKate Sky @Katesky8Brought to you byAG Grid IdeaBladeResources:Kate Sky linksNgRxContainer Presenter Pattern with Kate SkyAngular RxJS LibraryAngular state management with NgRxContainer Presenter Pattern from 2015Container Presenter in ReactAngular and the Container Presenter patternNgRx DataJavaScript Spread OperatorDeep Cloning in JavaScriptAngular EventEmitterDesigning Your Life (book)Riverside.fm podcast serviceOtter transcription serviceTimejumps02:06 Guest introduction02:53 Mentoring05:07 Best practices as a mentor12:04 Sponsor: AG Grid13:14 What is State Management?19:41 How did you decide what to refactor?22:48 How would you mentor someone entering NgRx?26:40 What about NgRx data?28:56 Sponsor: IdeaBlade30:03 How do you help people understand RxJS?33:55 Do people struggle with immunability?43:46 What are conditions that led to state management issues?53:37 Final thoughtsPodcast editing on this episode done by Chris Enns of Lemon Productions.
John Papa @John_PapaWard Bell @WardBellDan Wahlin @DanWahlinCraig Shoemaker @craigshoemakerMike Ryan @MikeRyanDevBrought to you byag-Grid Narwhal Visit nx.dev to get the preeminent open-source toolkit for monorepo development, today. Resources:NgrxMartin Fowler on Technical DebtSemVer (Semantic Versioning)How We Build Code at NetflixWaterfall vs AgileMore on Agile vs WaterfallBDUF (“Big Design Up Front”)YAGNI - You Aint Gunna Need ItYAGNIAHA - Avoid Hasty AbstractionsHow to identify tech debtAngular CLI's ng updateIntroduction to MicroservicesMicro-frontendsBaby Yoda (Grogu) toy exampleFembotTimejumps01:47:10 Guest introduction02:33:17 What is it like to maintain Ngrx?05:46:00 Managing versions07:56:00 Recommendations for new projects11:08:08 Sponsor: Ag Grid12:18:05 Designing to avoid tech debt14:55:02 How do you decide whether to start fresh or use old methods?28:25:00 Sponsor: Nrwl29:01:00 Do you rewrite projects?36:58:12 What do you wish you knew then that you know now?37:55:11 Final thoughtsPodcast editing on this episode done by Chris Enns of Lemon Productions.
The Angular Show is primarily focused on engagement with the Angular community through education. But in this week's episode, we won't be learning anything new; we won't hear from a community expert about a particular technology; we won't discuss the past, present, or future of Angular; and we won't learn about state management, flux, redux, NgRx, or RxJS...You might be asking - "Well, then what ARE the wonderful panelists going to talk about on today's show?"In the first installment of the Angular Sideline, our lovely panelists Jennifer Wadella, Aaron Frost, & Brian Love, brought you into a range of their hysterical and odd musings. And you can expect nothing different for this second episode. Just ask yourself this - "How much do you love Angular and just how far would you go to express that love?" We won't give away any of the juicy nuggets of comedy that are about to caress your ears and tantalize your neurons. Just click play - and don't forget to subscribe so you don't miss any of our future episodes of the Angular Show.Jennifer Wadella @likeOMGitsFEDAYBrian Love @brian_love@aaronfrostShow Notes:https://twitter.com/zackderose/status/1315647734729248768
State management is hard. Why? First, some engineers may not consider the state of their apps. This can lead to apps that are buggy, difficult to test, and often face regressions when attempting to fix issues. Second, if you're managing control flow and state in your application, state in some applications can be complex and fast-moving. Determining what solution to use, whether to build your own solution or to grab an existing off-the-shelf solution can be a difficult decision. Third, state management libraries can be difficult to learn. Entire courses are devoted to managing state in Angular applications, whether you choose NgRx, NGXS, Akita, MobX, Redux-Observables, etc.We get that. Why? We've seen a thing or two. In this episode, panelists Jennifer Wadella, Aaron Frost, & Brian Love share some of their own struggles with state management, decisions that went awry, and some horror stories that they've lived through. Then, Brian sits down with Mike Ryan, core team member for NgRx, and Google Developer Expert in Angular. Mike shares with us some stories and some key takeaways for managing state, control flow, and code volume in your Angular application using NgRx.And that's a wrap! We hope you've enjoyed our 6-part series on State Management in Angular. What topics interest you that you'd like us to dive into on the Angular Show? Let us know! Follow us on Twitter, our DMs are open, and don't forget to subscribe!
While NgRx is the most widely used and adopted platform for state management in Angular, there are several other solutions that are available to Angular developers. In this episode, panelists Aaron Frost, Brian Love, and Jennifer Wadella are 'buzzing' with details on MobX, Akita, and NGXS. All three of these solutions can be used in Angular, are open-source, and are free to use. MobX is widely used with React, perhaps the second favorite after redux, for state management. Akita, from the team at Datarama, takes a slightly different approach from the redux pattern for providing a state management solution. Akita is popular within the Angular community, but can also be used with both React and Svelte projections. Finally, NGXS is inspired by redux and NgRx and makes heavy use of TypeScript decorators to achieve similar goals as NgRx with a potential lower code cost.Join us in part 5 of our series on state management in Angular and come along with the panelists and learn about various solutions that you might want to consider for your Angular application.
The Angular Show's panelists (Aaron Frost, Brian Love, and Jeniffer Wadella) sit down with Brandon Roberts to learn from the master, and contributor, of the popular NgRx platform and the elegant, efficient, opinionated, and performant solution to state management in Angular.The NgRx platform includes several libraries. The most popular and widely used library is the store, often used alongside the effects and entities libraries. The NgRx store library (often referred to as just "NgRx") is inspired by Redux. Redux's core principles are: a single source of truth, state is read-only, and changes to the state of the application are only made through pure functions referred to as reducers. NgRx is an Angular library that is open-source, adheres to these core principles, and is widely adopted in applications that often have complex state that necessitates the structured approach to state management utilizing indirection.Join us as we dive further into state management in Angular!Show Notes:► https://medium.com/@unicodeveloper/2018-in-review-shattering-expectations-9418f2d720cc► https://ngrx.io/guide/component-store
Part 2 of our series on State Management in Angular focuses on the use of RxJS in order to leverage Observables, Subjects, and BehaviorSubjects in Angular applications.First, Aaron Frost and Jennifer Wadella talk through how RxJS is used by Angular developers to persist state in singleton services using Subjects. This is a common approach to implementing a single source of truth with the observable pattern in Angular. Another benefit of the approach is a path to implementing a state management library such as NgRx in an Angular application when necessary.Then, Ben Lesh joins Brian Love and the other panelists to share his story of how he personally got started on the RxJS project. One of the major drawbacks of using promises is a lack of a cancellation feature. While at Netflix, the team resolved this by using the Observable primitive. Ben also shares the story of how he was tasked with refactoring RxJS to follow the then-to-be approved TC39 proposal for the Observable primitive. We then learn from Ben about the current work that is being done by the RxJS core team and the future of RxJS.Finally, Ben drops some knowledge on a simple philosophy: if the code you write works, can be maintained, and is testable, then it's good code. The end.Show Notes: https://github.com/ReactiveX/rxjs/blob/8dacf256be307ba3b8b2e9c94badb4b398e1ec47/docs_app/content/guide/glossary-and-semantics.md
In this episode, Sam Julien, Google Developer Expert in Angular, Auth0 developer advocate, and expert (blue belt
React Native Remote Conf Raúl Jiménez runs a small consultancy focused on Angular out of Barcelona Spain. Raul got into programing in High School. He was working on the equivalent of a USA based Associates Degree. He had a computer when he was 5 and got into copy/paste programming on the Spectrum computer. He started writing on his own at 16. He started with TurboPascal and then got into other languages before graduating to Angular and JavaScript. Host: Charles Max Wood Joined By Special Guest: Raúl Jiménez Sponsors G2i | Enjoy the luxuries of freelancing CacheFly Links AiA 235 Functional Programming with Angular, NgRx with Raul Jimenez Gulpjs GruntJs GitHub Raul Jimenez Byte Default Twitter Raúl Jiménez: @elecash Picks Raúl Jiménez: GitHub joanllenas/ts.data.json GitHub joanllenas/ngx-remotedata Aeon's End Charles Max Wood: Course Creator Pro
React Native Remote Conf Raúl Jiménez runs a small consultancy focused on Angular out of Barcelona Spain. Raul got into programing in High School. He was working on the equivalent of a USA based Associates Degree. He had a computer when he was 5 and got into copy/paste programming on the Spectrum computer. He started writing on his own at 16. He started with TurboPascal and then got into other languages before graduating to Angular and JavaScript. Host: Charles Max Wood Joined By Special Guest: Raúl Jiménez Sponsors G2i | Enjoy the luxuries of freelancing CacheFly Links AiA 235 Functional Programming with Angular, NgRx with Raul Jimenez Gulpjs GruntJs GitHub Raul Jimenez Byte Default Twitter Raúl Jiménez: @elecash Picks Raúl Jiménez: GitHub joanllenas/ts.data.json GitHub joanllenas/ngx-remotedata Aeon's End Charles Max Wood: Course Creator Pro
React Native Remote Conf Raúl Jiménez runs a small consultancy focused on Angular out of Barcelona Spain. Raul got into programing in High School. He was working on the equivalent of a USA based Associates Degree. He had a computer when he was 5 and got into copy/paste programming on the Spectrum computer. He started writing on his own at 16. He started with TurboPascal and then got into other languages before graduating to Angular and JavaScript. Host: Charles Max Wood Joined By Special Guest: Raúl Jiménez Sponsors G2i | Enjoy the luxuries of freelancing CacheFly Links AiA 235 Functional Programming with Angular, NgRx with Raul Jimenez Gulpjs GruntJs GitHub Raul Jimenez Byte Default Twitter Raúl Jiménez: @elecash Picks Raúl Jiménez: GitHub joanllenas/ts.data.json GitHub joanllenas/ngx-remotedata Aeon's End Charles Max Wood: Course Creator Pro
Guess Michi Dewitt and the team discuss state management in applications and how it can be implemented with observables.
Alex Okrushko talks about maintaining NgRx in a large monorepo, just like he does at Google. Other discussions include push based services, some RxJS, and advanced typing in TypeScript.
--- Video of episode: https://youtu.be/6ojNIDsSfR8 --- Support this podcast: https://anchor.fm/angularair/support
James Spivey, the Director of Engineering at Shutterstock joins Aaron Frost in this week's My Angular Story to talk about his journey as a developer and how he started using Angular. Aaron and James talk about James' work at Shutterstock as well as his working experience with Angular. Aaron asks James to put him through a mock interview and asks him how to do compound selectors in NgRx. James encourages Aaron to ask him to define "compound selectors". They then talk about how James seems himself as a manager and how the leadership culture should be at a company especially in "inclusivity". Aaron mentions that inclusivity may not have a checkbox but its really important to behave in an inclusive manner. Host: Aaron Frost Joined By Special Guest : James Spivey My Angular Story is produced by DevChat.TV in partnership with Hero Devs. Sponsors Sentry | Use the code “devchat” for $100 credit Cachefly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links James Spivey Twitter Picks Aaron Frost Devon Lİndsey's Suit James Spivey https://bazel.build/
James Spivey, the Director of Engineering at Shutterstock joins Aaron Frost in this week's My Angular Story to talk about his journey as a developer and how he started using Angular. Aaron and James talk about James' work at Shutterstock as well as his working experience with Angular. Aaron asks James to put him through a mock interview and asks him how to do compound selectors in NgRx. James encourages Aaron to ask him to define "compound selectors". They then talk about how James seems himself as a manager and how the leadership culture should be at a company especially in "inclusivity". Aaron mentions that inclusivity may not have a checkbox but its really important to behave in an inclusive manner. Host: Aaron Frost Joined By Special Guest : James Spivey My Angular Story is produced by DevChat.TV in partnership with Hero Devs. Sponsors Sentry | Use the code “devchat” for $100 credit Cachefly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links James Spivey Twitter Picks Aaron Frost Devon Lİndsey's Suit James Spivey https://bazel.build/
James Spivey, the Director of Engineering at Shutterstock joins Aaron Frost in this week's My Angular Story to talk about his journey as a developer and how he started using Angular. Aaron and James talk about James' work at Shutterstock as well as his working experience with Angular. Aaron asks James to put him through a mock interview and asks him how to do compound selectors in NgRx. James encourages Aaron to ask him to define "compound selectors". They then talk about how James seems himself as a manager and how the leadership culture should be at a company especially in "inclusivity". Aaron mentions that inclusivity may not have a checkbox but its really important to behave in an inclusive manner. Host: Aaron Frost Joined By Special Guest : James Spivey My Angular Story is produced by DevChat.TV in partnership with Hero Devs. Sponsors Sentry | Use the code “devchat” for $100 credit Cachefly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links James Spivey Twitter Picks Aaron Frost Devon Lİndsey's Suit James Spivey https://bazel.build/
In this episode of Adventures in Angular the panel has fun interviewing David East about Firebase. David starts by sharing what it was like at the recent Firebase Summit in Madrid. There were so many announcements they had a tough time fitting them all into the one-hour keynote address. One of the cool new features announced at the Firebase Summit is Firebase Extension, David describes it as serverless without any code. The panel discusses this feature and how it works. Another cool feature announced is Google Analytics for Firebase. This allows you to use Firebase tools in conjunction with Google Analytics. The panel considers the smart things you can do in your app with this feature. The next feature the panel discusses is Remote Config which allows you to store data and then pull out that information on demand. If you use the Google Analytics for Firebase you can target specific data for certain audiences. David explains that before this could only be done with native apps. He also explains how in doing this you no longer have to worry about the gtag loader and defines gtag for the panel. The panel gets a little off track as David jokingly explains his beef with Aaron Frost, Frosty. Frosty host My Angular Story and a while back had twitted looking for awesome angular stories. David had responded but never heard back from Frosty. Frosty jokingly says he faxed an invite to David. The panel jokes about how awesome David’s episode will be and tells everyone to look out for his episode. Getting back on track, David gives more examples of ways to use the Remote Config feature on with the Google Analytics for Firebase. Frosty confesses he needs to get better at looking at analytics. Sharing an example from a company he is currently working for, Frosty explains how they made nearly 2 million dollars just by changing the color of a button. The panel considers how minor changes like that can make such a big difference and how analytics helps you target your audience. David shares the story behind writing Angular Fire. Jeff Cross worked on the angular team and started writing angular fire but then left for Nrwl. After Jeff left, David took over and ended up rewriting the entire library. He explains some of the mistakes that they made that led to the rewrite and how he fixed them. The panel wonders at David about using Angular Fire and NgRX. David tells the panel that the Firebase console uses NgRx under the hood and shares what he learned while working on it. Using firebase and NgRx can be very confusing because of the mass duplication of responsibility. David’s advice is to let Firebase and NgRx do their own thing and connect the dots with RxJs. David discusses Firestore, a very advanced caching system and what you can do with it. Including, working offline and setting security rules. Frosty brings up Firebase Messaging Cues, he explains that it is similar to three-way messaging cues except its n-way. David explains that even though he is intrigued by the idea, he does not approve of the name. The panel considers possible use cases for an n-way messaging cue. David explains some of the costs and benefits of this architecture. The episode ends with a discussion of Firebase’s documentation, which is currently a group of markdown files. David defends the simplicity of this documentation style and gives recommendations and resources for those who need more help. Panelists Aaron Frost Brian Love Alyssa Nicoll Shai Reznik Guest David East Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links https://firebase.google.com/ https://firebase.google.com/summit My Angular Story https://fireship.io/ Fireship Youtube https://twitter.com/_davideast https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: Bonnie Love Aaron Frost: Stop shaming people Miss Saigon Alyssa Nicoll: David East David East: Alyssa Nicoll Freakonomics The Signal and the Noise: Why So Many Predictions Fail-But Some Don't
In this episode of Adventures in Angular the panel has fun interviewing David East about Firebase. David starts by sharing what it was like at the recent Firebase Summit in Madrid. There were so many announcements they had a tough time fitting them all into the one-hour keynote address. One of the cool new features announced at the Firebase Summit is Firebase Extension, David describes it as serverless without any code. The panel discusses this feature and how it works. Another cool feature announced is Google Analytics for Firebase. This allows you to use Firebase tools in conjunction with Google Analytics. The panel considers the smart things you can do in your app with this feature. The next feature the panel discusses is Remote Config which allows you to store data and then pull out that information on demand. If you use the Google Analytics for Firebase you can target specific data for certain audiences. David explains that before this could only be done with native apps. He also explains how in doing this you no longer have to worry about the gtag loader and defines gtag for the panel. The panel gets a little off track as David jokingly explains his beef with Aaron Frost, Frosty. Frosty host My Angular Story and a while back had twitted looking for awesome angular stories. David had responded but never heard back from Frosty. Frosty jokingly says he faxed an invite to David. The panel jokes about how awesome David’s episode will be and tells everyone to look out for his episode. Getting back on track, David gives more examples of ways to use the Remote Config feature on with the Google Analytics for Firebase. Frosty confesses he needs to get better at looking at analytics. Sharing an example from a company he is currently working for, Frosty explains how they made nearly 2 million dollars just by changing the color of a button. The panel considers how minor changes like that can make such a big difference and how analytics helps you target your audience. David shares the story behind writing Angular Fire. Jeff Cross worked on the angular team and started writing angular fire but then left for Nrwl. After Jeff left, David took over and ended up rewriting the entire library. He explains some of the mistakes that they made that led to the rewrite and how he fixed them. The panel wonders at David about using Angular Fire and NgRX. David tells the panel that the Firebase console uses NgRx under the hood and shares what he learned while working on it. Using firebase and NgRx can be very confusing because of the mass duplication of responsibility. David’s advice is to let Firebase and NgRx do their own thing and connect the dots with RxJs. David discusses Firestore, a very advanced caching system and what you can do with it. Including, working offline and setting security rules. Frosty brings up Firebase Messaging Cues, he explains that it is similar to three-way messaging cues except its n-way. David explains that even though he is intrigued by the idea, he does not approve of the name. The panel considers possible use cases for an n-way messaging cue. David explains some of the costs and benefits of this architecture. The episode ends with a discussion of Firebase’s documentation, which is currently a group of markdown files. David defends the simplicity of this documentation style and gives recommendations and resources for those who need more help. Panelists Aaron Frost Brian Love Alyssa Nicoll Shai Reznik Guest David East Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links https://firebase.google.com/ https://firebase.google.com/summit My Angular Story https://fireship.io/ Fireship Youtube https://twitter.com/_davideast https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: Bonnie Love Aaron Frost: Stop shaming people Miss Saigon Alyssa Nicoll: David East David East: Alyssa Nicoll Freakonomics The Signal and the Noise: Why So Many Predictions Fail-But Some Don't
In this episode of Adventures in Angular the panel has fun interviewing David East about Firebase. David starts by sharing what it was like at the recent Firebase Summit in Madrid. There were so many announcements they had a tough time fitting them all into the one-hour keynote address. One of the cool new features announced at the Firebase Summit is Firebase Extension, David describes it as serverless without any code. The panel discusses this feature and how it works. Another cool feature announced is Google Analytics for Firebase. This allows you to use Firebase tools in conjunction with Google Analytics. The panel considers the smart things you can do in your app with this feature. The next feature the panel discusses is Remote Config which allows you to store data and then pull out that information on demand. If you use the Google Analytics for Firebase you can target specific data for certain audiences. David explains that before this could only be done with native apps. He also explains how in doing this you no longer have to worry about the gtag loader and defines gtag for the panel. The panel gets a little off track as David jokingly explains his beef with Aaron Frost, Frosty. Frosty host My Angular Story and a while back had twitted looking for awesome angular stories. David had responded but never heard back from Frosty. Frosty jokingly says he faxed an invite to David. The panel jokes about how awesome David’s episode will be and tells everyone to look out for his episode. Getting back on track, David gives more examples of ways to use the Remote Config feature on with the Google Analytics for Firebase. Frosty confesses he needs to get better at looking at analytics. Sharing an example from a company he is currently working for, Frosty explains how they made nearly 2 million dollars just by changing the color of a button. The panel considers how minor changes like that can make such a big difference and how analytics helps you target your audience. David shares the story behind writing Angular Fire. Jeff Cross worked on the angular team and started writing angular fire but then left for Nrwl. After Jeff left, David took over and ended up rewriting the entire library. He explains some of the mistakes that they made that led to the rewrite and how he fixed them. The panel wonders at David about using Angular Fire and NgRX. David tells the panel that the Firebase console uses NgRx under the hood and shares what he learned while working on it. Using firebase and NgRx can be very confusing because of the mass duplication of responsibility. David’s advice is to let Firebase and NgRx do their own thing and connect the dots with RxJs. David discusses Firestore, a very advanced caching system and what you can do with it. Including, working offline and setting security rules. Frosty brings up Firebase Messaging Cues, he explains that it is similar to three-way messaging cues except its n-way. David explains that even though he is intrigued by the idea, he does not approve of the name. The panel considers possible use cases for an n-way messaging cue. David explains some of the costs and benefits of this architecture. The episode ends with a discussion of Firebase’s documentation, which is currently a group of markdown files. David defends the simplicity of this documentation style and gives recommendations and resources for those who need more help. Panelists Aaron Frost Brian Love Alyssa Nicoll Shai Reznik Guest David East Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links https://firebase.google.com/ https://firebase.google.com/summit My Angular Story https://fireship.io/ Fireship Youtube https://twitter.com/_davideast https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: Bonnie Love Aaron Frost: Stop shaming people Miss Saigon Alyssa Nicoll: David East David East: Alyssa Nicoll Freakonomics The Signal and the Noise: Why So Many Predictions Fail-But Some Don't
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 Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links NgRx — Best Practices for Enterprise Angular Applications The Facade of NgRx Facades Building with Ivy: rethinking reactive Angular | Mike Ryan | #AngularConnect 2019 https://twitter.com/wesgrimes https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: The Great Hack Shai Reznik: RxJS: A Better Way To Write Frontend Applications - Hannah Howard - JSConf US 2018 Complex Features Made Easy With RxJS - Ben Lesh Aaron Frost: Lizzo Jennifer Wadella: https://twitter.com/began_7/status/1177880930549223424 https://github.com/vmbrasseur/Public_Speaking Wes Grimes: ngGirls
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 Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links NgRx — Best Practices for Enterprise Angular Applications The Facade of NgRx Facades Building with Ivy: rethinking reactive Angular | Mike Ryan | #AngularConnect 2019 https://twitter.com/wesgrimes https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: The Great Hack Shai Reznik: RxJS: A Better Way To Write Frontend Applications - Hannah Howard - JSConf US 2018 Complex Features Made Easy With RxJS - Ben Lesh Aaron Frost: Lizzo Jennifer Wadella: https://twitter.com/began_7/status/1177880930549223424 https://github.com/vmbrasseur/Public_Speaking Wes Grimes: ngGirls
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 Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Flatfile Cachefly Links NgRx — Best Practices for Enterprise Angular Applications The Facade of NgRx Facades Building with Ivy: rethinking reactive Angular | Mike Ryan | #AngularConnect 2019 https://twitter.com/wesgrimes https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: The Great Hack Shai Reznik: RxJS: A Better Way To Write Frontend Applications - Hannah Howard - JSConf US 2018 Complex Features Made Easy With RxJS - Ben Lesh Aaron Frost: Lizzo Jennifer Wadella: https://twitter.com/began_7/status/1177880930549223424 https://github.com/vmbrasseur/Public_Speaking Wes Grimes: ngGirls
In this week’s episode of Adventures in Angular the panel interviews Manfred Steyer, the creator of ngx-build-plus and angular architecture expert and consultant. Ngx-build-plus is a way to extend how the CLI is doing its build. Manfred explains how ngx-build plus works in two different ways. The first is that it provides a partial webpack configurations file that merges with the webpack configuration that the CLI is using. The second, it provides a plugin with free methods that influence the CLI. Manfred consults with companies on architecture, he explains that the main problem when people take a simple application and make it complex, big, with a lot of entities and forms. This makes it difficult to manage in the long term. He borrows ideas from domain-driven design to help these companies structure their applications. Strategic domain-driven design is one of the main strategies he uses when structuring an application. Strategic domain-driven design is subdividing a big application into subdomains, then modeling those subdomains separately. By modeling the separately, the coupling is limited. This makes it easier to change parts of the code without breaking anything unrelated in the application. The panel asks Manfred for recommendations for using domain-driven design in their architecture. Manfred recommends using libraries within monorepos and outlines the benefits. Using this method creates isolation, you can’t easily access everything in the library because of the public API. Manfred explains how a public API works like a facade. Nx is the recommended tool for the monorepos, as it adds many great features to the CLI and is not as heavyweight as other monorepo solutions. Manfred explains one of his favorite features called tagging. This restricts which libraries can access another library. The panel discusses some examples of tagging. The panel wonders about Manfred’s opinions on state management solutions. Manfred explains that he doesn’t believe that every application needs a state management solution. When used at the wrong time a state management solution is an overkill. He also explains that not using a state management library does not make someone a bad person. The panel discusses how you know if you need a state management solution. Manfred indicates two things to look for when considering the use of a state management library. First, is there a lot of state? Second, is the state going to be used by many different components? If you are not sure he recommends starting with a facade and adding a state management library later if needed. The panel explains what a facade is. A facade is when you combine a lot of systems under a single API, like jquery. Manfred gives an example of what a management facade should look like. The panel shares experiences explaining how it works and gives advice and examples of using a facade. The topic turns to the importance of testing. Manfred shares his testing philosophy, asking how do you sleep at night knowing you have to change a part of the application? Does it scare you because you know you are going to break everything in a terrible and painful way? Or, Do sleep soundly because you know you are safe to do what needs to be done. Shai Reznik equates this to the shake meter, how much does your hand shake when you push the button to execute a change. Manfred’s recommends starting with unit testing, testing where you need it and avoid a testing coverage goal. Unit testing he explains are more stable than end-to-end testing. You do need end-to-end testing but very little in comparison to unit testing. Aaron Frost shares the tool protractor flake as a way to combat the flakiness of end-to-end testing. Manfred explains that there are two common mistakes people make in their angular architecture. The first is over-engineering and under-engineering an application. He explains the problems that arise with each and how to combat this problem. The sweet spot can be found by knowing what you want, finding the right structuring to fit what you want. The panel wonders how to measure the cleanliness of code in an application. Manfred recommends looking at each indirection and deciding if it is necessary. The panel explains what indirections are, an example is event mechanisms, you can’t see a direct effect. The panel discusses NgRx as an indirection framework. Manfred warns not to use NgRx all the time only when you need it. This launches the panel onto a tangent of choosing tools and how to weight the pros and cons of each tool. The phrase “use it when you need it” is considered by the panel, the genericness of the phrase is discusses. The panel advises new developers who don’t have the experience to gauge if they need something or not to do the research necessary to understand a tool and to experiment with it. The panel comes back to the other common mistake made with architecture which is chatty applications. Applications that send thousands of requests to the backend causing the application to slow. The panel considers why this happens. Aaron explains the concept of affordance and how this results in chatty applications. Panelists Aaron Frost Brian Love Shai Reznik Guest Manfred Steyer Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Cachefly Links NgRx + Facades: Better State Management https://www.npmjs.com/package/protractor-flake https://twitter.com/manfredsteyer?lang=en https://www.softwarearchitekt.at/ https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: The 5 Big Features of TypeScript 3.7 and How to Use Them Shai Reznik: Angular Testing Course Hip-Hop Evolution Aaron Frost: RxJs Live Lover Manfred Steyer: Star Trek: Picard ngrx-etc
In this week’s episode of Adventures in Angular the panel interviews Manfred Steyer, the creator of ngx-build-plus and angular architecture expert and consultant. Ngx-build-plus is a way to extend how the CLI is doing its build. Manfred explains how ngx-build plus works in two different ways. The first is that it provides a partial webpack configurations file that merges with the webpack configuration that the CLI is using. The second, it provides a plugin with free methods that influence the CLI. Manfred consults with companies on architecture, he explains that the main problem when people take a simple application and make it complex, big, with a lot of entities and forms. This makes it difficult to manage in the long term. He borrows ideas from domain-driven design to help these companies structure their applications. Strategic domain-driven design is one of the main strategies he uses when structuring an application. Strategic domain-driven design is subdividing a big application into subdomains, then modeling those subdomains separately. By modeling the separately, the coupling is limited. This makes it easier to change parts of the code without breaking anything unrelated in the application. The panel asks Manfred for recommendations for using domain-driven design in their architecture. Manfred recommends using libraries within monorepos and outlines the benefits. Using this method creates isolation, you can’t easily access everything in the library because of the public API. Manfred explains how a public API works like a facade. Nx is the recommended tool for the monorepos, as it adds many great features to the CLI and is not as heavyweight as other monorepo solutions. Manfred explains one of his favorite features called tagging. This restricts which libraries can access another library. The panel discusses some examples of tagging. The panel wonders about Manfred’s opinions on state management solutions. Manfred explains that he doesn’t believe that every application needs a state management solution. When used at the wrong time a state management solution is an overkill. He also explains that not using a state management library does not make someone a bad person. The panel discusses how you know if you need a state management solution. Manfred indicates two things to look for when considering the use of a state management library. First, is there a lot of state? Second, is the state going to be used by many different components? If you are not sure he recommends starting with a facade and adding a state management library later if needed. The panel explains what a facade is. A facade is when you combine a lot of systems under a single API, like jquery. Manfred gives an example of what a management facade should look like. The panel shares experiences explaining how it works and gives advice and examples of using a facade. The topic turns to the importance of testing. Manfred shares his testing philosophy, asking how do you sleep at night knowing you have to change a part of the application? Does it scare you because you know you are going to break everything in a terrible and painful way? Or, Do sleep soundly because you know you are safe to do what needs to be done. Shai Reznik equates this to the shake meter, how much does your hand shake when you push the button to execute a change. Manfred’s recommends starting with unit testing, testing where you need it and avoid a testing coverage goal. Unit testing he explains are more stable than end-to-end testing. You do need end-to-end testing but very little in comparison to unit testing. Aaron Frost shares the tool protractor flake as a way to combat the flakiness of end-to-end testing. Manfred explains that there are two common mistakes people make in their angular architecture. The first is over-engineering and under-engineering an application. He explains the problems that arise with each and how to combat this problem. The sweet spot can be found by knowing what you want, finding the right structuring to fit what you want. The panel wonders how to measure the cleanliness of code in an application. Manfred recommends looking at each indirection and deciding if it is necessary. The panel explains what indirections are, an example is event mechanisms, you can’t see a direct effect. The panel discusses NgRx as an indirection framework. Manfred warns not to use NgRx all the time only when you need it. This launches the panel onto a tangent of choosing tools and how to weight the pros and cons of each tool. The phrase “use it when you need it” is considered by the panel, the genericness of the phrase is discusses. The panel advises new developers who don’t have the experience to gauge if they need something or not to do the research necessary to understand a tool and to experiment with it. The panel comes back to the other common mistake made with architecture which is chatty applications. Applications that send thousands of requests to the backend causing the application to slow. The panel considers why this happens. Aaron explains the concept of affordance and how this results in chatty applications. Panelists Aaron Frost Brian Love Shai Reznik Guest Manfred Steyer Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Cachefly Links NgRx + Facades: Better State Management https://www.npmjs.com/package/protractor-flake https://twitter.com/manfredsteyer?lang=en https://www.softwarearchitekt.at/ https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: The 5 Big Features of TypeScript 3.7 and How to Use Them Shai Reznik: Angular Testing Course Hip-Hop Evolution Aaron Frost: RxJs Live Lover Manfred Steyer: Star Trek: Picard ngrx-etc
In this week’s episode of Adventures in Angular the panel interviews Manfred Steyer, the creator of ngx-build-plus and angular architecture expert and consultant. Ngx-build-plus is a way to extend how the CLI is doing its build. Manfred explains how ngx-build plus works in two different ways. The first is that it provides a partial webpack configurations file that merges with the webpack configuration that the CLI is using. The second, it provides a plugin with free methods that influence the CLI. Manfred consults with companies on architecture, he explains that the main problem when people take a simple application and make it complex, big, with a lot of entities and forms. This makes it difficult to manage in the long term. He borrows ideas from domain-driven design to help these companies structure their applications. Strategic domain-driven design is one of the main strategies he uses when structuring an application. Strategic domain-driven design is subdividing a big application into subdomains, then modeling those subdomains separately. By modeling the separately, the coupling is limited. This makes it easier to change parts of the code without breaking anything unrelated in the application. The panel asks Manfred for recommendations for using domain-driven design in their architecture. Manfred recommends using libraries within monorepos and outlines the benefits. Using this method creates isolation, you can’t easily access everything in the library because of the public API. Manfred explains how a public API works like a facade. Nx is the recommended tool for the monorepos, as it adds many great features to the CLI and is not as heavyweight as other monorepo solutions. Manfred explains one of his favorite features called tagging. This restricts which libraries can access another library. The panel discusses some examples of tagging. The panel wonders about Manfred’s opinions on state management solutions. Manfred explains that he doesn’t believe that every application needs a state management solution. When used at the wrong time a state management solution is an overkill. He also explains that not using a state management library does not make someone a bad person. The panel discusses how you know if you need a state management solution. Manfred indicates two things to look for when considering the use of a state management library. First, is there a lot of state? Second, is the state going to be used by many different components? If you are not sure he recommends starting with a facade and adding a state management library later if needed. The panel explains what a facade is. A facade is when you combine a lot of systems under a single API, like jquery. Manfred gives an example of what a management facade should look like. The panel shares experiences explaining how it works and gives advice and examples of using a facade. The topic turns to the importance of testing. Manfred shares his testing philosophy, asking how do you sleep at night knowing you have to change a part of the application? Does it scare you because you know you are going to break everything in a terrible and painful way? Or, Do sleep soundly because you know you are safe to do what needs to be done. Shai Reznik equates this to the shake meter, how much does your hand shake when you push the button to execute a change. Manfred’s recommends starting with unit testing, testing where you need it and avoid a testing coverage goal. Unit testing he explains are more stable than end-to-end testing. You do need end-to-end testing but very little in comparison to unit testing. Aaron Frost shares the tool protractor flake as a way to combat the flakiness of end-to-end testing. Manfred explains that there are two common mistakes people make in their angular architecture. The first is over-engineering and under-engineering an application. He explains the problems that arise with each and how to combat this problem. The sweet spot can be found by knowing what you want, finding the right structuring to fit what you want. The panel wonders how to measure the cleanliness of code in an application. Manfred recommends looking at each indirection and deciding if it is necessary. The panel explains what indirections are, an example is event mechanisms, you can’t see a direct effect. The panel discusses NgRx as an indirection framework. Manfred warns not to use NgRx all the time only when you need it. This launches the panel onto a tangent of choosing tools and how to weight the pros and cons of each tool. The phrase “use it when you need it” is considered by the panel, the genericness of the phrase is discusses. The panel advises new developers who don’t have the experience to gauge if they need something or not to do the research necessary to understand a tool and to experiment with it. The panel comes back to the other common mistake made with architecture which is chatty applications. Applications that send thousands of requests to the backend causing the application to slow. The panel considers why this happens. Aaron explains the concept of affordance and how this results in chatty applications. Panelists Aaron Frost Brian Love Shai Reznik Guest Manfred Steyer Adventures in Angular is produced by DevChat.TV in partnership with Hero Devs Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp Cachefly Links NgRx + Facades: Better State Management https://www.npmjs.com/package/protractor-flake https://twitter.com/manfredsteyer?lang=en https://www.softwarearchitekt.at/ https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: The 5 Big Features of TypeScript 3.7 and How to Use Them Shai Reznik: Angular Testing Course Hip-Hop Evolution Aaron Frost: RxJs Live Lover Manfred Steyer: Star Trek: Picard ngrx-etc
Episode Summary Victor Savkin, former angular team member and now cofounder of Narwhal Technologies Inc or Nrwl, returns to Adventures in Angular to teach the panel about monorepos. Victor starts by explaining what monorepos are and why you might need one. Monorepo style development is when multiple projects developed in the same repository and the tools used to manage code between those apps. There are many benefits to using monorepos as Victor explains to the panel, such as sharing code between apps. Monorepos help you see what's going on in reality as well as helps you take control of the structure of your code. It also allows for more interesting deployment strategies. Victor talks briefly about his time at Google, working on the toolchain and using a large monorepo. After the panel asks about the costs of using a monorepo strategy, Victor explains that there are many perceived costs that are actually false or easily overcome. The first perceived cost he tells the panel about is how people get confused and believe that apps have to be deployed together when they really have to be developed in the same repository. The second is the fear of misplaced ownership, that some other developer will come along and ruin their code. Victor explains that ownership can be configured and controlled so that no one you don’t trust can touch your code. The next myth developers believe about monorepos is that it doesn’t scale and especially when it comes to performance. Victor explains that when the app is set up correctly and testing used correctly this isn’t a problem. The final perceived cost is that Git will break. Victor debunks this by explaining that you would have to be doing extremely well in order for Git to be a bottleneck and even then there are ways around that problem. Victor explains the one real cost and that is you have to change the way you code. The panel discusses a few different coding styles. Victor recommends getting used to single version policy and trunk-based development. He defines trunk-based development, explaining how it works and why it is better for monorepos than long-range branch development. Victor sees two types of groups who want to get started in monorepos and he explains what they most commonly do wrong. The first is greenfield projects who jump right in without thinking about it and eventually crash. The second is teams with a giant app and through a monorepo in hoping it will help them structure their app. He explains there is a right way to start using monorepos in both situations. Asking the important question is how to get started. Agreeing upon the structure, naming, ownership, are you going to build the frontend and backend in the same repo, and the answers to a bunch of other questions will affect your work the most, even more than the tooling you use. Some of these answers will be specific to your company where others will be universal, like naming and ownership. With other tools for monorepo out there, the panel asks Victor why Nrwl decided to build their own tool. Victor explains that the current tools on the market do not do it all. Lerna only does one thing great and Bazel is very selective on who can run it. Nrwl is hoping to marry Bazel to Nx, so they can allow everyone to use Bazel. They want Nx to support all tools and even Windows. The panel wonders if Nx is perfect. Victor explains that it nearly there. Nx is pluggable and easy to use. It is easy to learn. Victor explains that they really care about developer experience at Nrwl. Nx is free and opensource so everyone can give monorepos a try. Resources for learning about monorepos are discussed. Victor invites everyone to watch the ten-minute getting started video on the Nx website. He also lets the listeners know about a new book coming out mid-September and it will be more organizational based than the last. The panel wants to know what comes with Nx. Victor explains that Nx gives you modern tools by setting up Cypress, Jest and other tools for you. Because Nrwl is a consulting firm, the panel hopes that Victor will have an update on the trends. Victor shares his view that trends don’t really tell you anything about the true status of a framework. How many downloads a framework has doesn’t show the longevity of that framework. Frameworks being used to make large scale apps that will be around for years is how you can tell the longevity of a framework. From that perspective, Victor feels that Angular is doing really well. To end the episode, Shai Reznik recalls how passionate Victor was about NgRx a few years ago. He asks Victor if he still feels the same way as before. Victor explains that NgRx is pretty well most of the time, has great docs, is well maintained, and he would still recommend it. Panelists Jennifer Wadella Brian Love Shai Reznik Alyssa Nicoll Guest Victor Savkin Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp My JavaScript Story Cachefly Links https://twitter.com/victorsavkin?lang=en Nrwl Nx — An open source toolkit for enterprise Angular applications. Effective React Development with Nx https://connect.nrwl.io/app/books https://nx.dev/angular/getting-started/what-is-nx MAS 040: Victor Savkin 042 AiA Dependency Injection and Change Detection with Victor Savkin 123 AiA Upgrading from Angular 1 to Angular 2 with Victor Savkin https://nrwl.io/ https://nx.dev/ Momentum https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: https://trunkbaseddevelopment.com/ https://www.oreilly.com/library/view/why-angular-for/9781492030294/ Alyssa Nicoll: Caffeine Content Warning! Jennnifer Wadella: The Fall Season NGD Conf Laptop Safety at Conferences Victor Savkin: The Boys Use Less Social Media Freedom App Shai Reznik: https://bit.dev/ True Detective
Episode Summary Victor Savkin, former angular team member and now cofounder of Narwhal Technologies Inc or Nrwl, returns to Adventures in Angular to teach the panel about monorepos. Victor starts by explaining what monorepos are and why you might need one. Monorepo style development is when multiple projects developed in the same repository and the tools used to manage code between those apps. There are many benefits to using monorepos as Victor explains to the panel, such as sharing code between apps. Monorepos help you see what's going on in reality as well as helps you take control of the structure of your code. It also allows for more interesting deployment strategies. Victor talks briefly about his time at Google, working on the toolchain and using a large monorepo. After the panel asks about the costs of using a monorepo strategy, Victor explains that there are many perceived costs that are actually false or easily overcome. The first perceived cost he tells the panel about is how people get confused and believe that apps have to be deployed together when they really have to be developed in the same repository. The second is the fear of misplaced ownership, that some other developer will come along and ruin their code. Victor explains that ownership can be configured and controlled so that no one you don’t trust can touch your code. The next myth developers believe about monorepos is that it doesn’t scale and especially when it comes to performance. Victor explains that when the app is set up correctly and testing used correctly this isn’t a problem. The final perceived cost is that Git will break. Victor debunks this by explaining that you would have to be doing extremely well in order for Git to be a bottleneck and even then there are ways around that problem. Victor explains the one real cost and that is you have to change the way you code. The panel discusses a few different coding styles. Victor recommends getting used to single version policy and trunk-based development. He defines trunk-based development, explaining how it works and why it is better for monorepos than long-range branch development. Victor sees two types of groups who want to get started in monorepos and he explains what they most commonly do wrong. The first is greenfield projects who jump right in without thinking about it and eventually crash. The second is teams with a giant app and through a monorepo in hoping it will help them structure their app. He explains there is a right way to start using monorepos in both situations. Asking the important question is how to get started. Agreeing upon the structure, naming, ownership, are you going to build the frontend and backend in the same repo, and the answers to a bunch of other questions will affect your work the most, even more than the tooling you use. Some of these answers will be specific to your company where others will be universal, like naming and ownership. With other tools for monorepo out there, the panel asks Victor why Nrwl decided to build their own tool. Victor explains that the current tools on the market do not do it all. Lerna only does one thing great and Bazel is very selective on who can run it. Nrwl is hoping to marry Bazel to Nx, so they can allow everyone to use Bazel. They want Nx to support all tools and even Windows. The panel wonders if Nx is perfect. Victor explains that it nearly there. Nx is pluggable and easy to use. It is easy to learn. Victor explains that they really care about developer experience at Nrwl. Nx is free and opensource so everyone can give monorepos a try. Resources for learning about monorepos are discussed. Victor invites everyone to watch the ten-minute getting started video on the Nx website. He also lets the listeners know about a new book coming out mid-September and it will be more organizational based than the last. The panel wants to know what comes with Nx. Victor explains that Nx gives you modern tools by setting up Cypress, Jest and other tools for you. Because Nrwl is a consulting firm, the panel hopes that Victor will have an update on the trends. Victor shares his view that trends don’t really tell you anything about the true status of a framework. How many downloads a framework has doesn’t show the longevity of that framework. Frameworks being used to make large scale apps that will be around for years is how you can tell the longevity of a framework. From that perspective, Victor feels that Angular is doing really well. To end the episode, Shai Reznik recalls how passionate Victor was about NgRx a few years ago. He asks Victor if he still feels the same way as before. Victor explains that NgRx is pretty well most of the time, has great docs, is well maintained, and he would still recommend it. Panelists Jennifer Wadella Brian Love Shai Reznik Alyssa Nicoll Guest Victor Savkin Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp My JavaScript Story Cachefly Links https://twitter.com/victorsavkin?lang=en Nrwl Nx — An open source toolkit for enterprise Angular applications. Effective React Development with Nx https://connect.nrwl.io/app/books https://nx.dev/angular/getting-started/what-is-nx MAS 040: Victor Savkin 042 AiA Dependency Injection and Change Detection with Victor Savkin 123 AiA Upgrading from Angular 1 to Angular 2 with Victor Savkin https://nrwl.io/ https://nx.dev/ Momentum https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain Love: https://trunkbaseddevelopment.com/ https://www.oreilly.com/library/view/why-angular-for/9781492030294/ Alyssa Nicoll: Caffeine Content Warning! Jennnifer Wadella: The Fall Season NGD Conf Laptop Safety at Conferences Victor Savkin: The Boys Use Less Social Media Freedom App Shai Reznik: https://bit.dev/ True Detective