Adventures in Angular

Charles M Wood
undefined
Nov 26, 2019 • 36min

AiA 266: Creating Content in Portuguese with Loiane Groner

In this episode of Adventures in Angular the panel interview Loiane Groner about her Portuguese content creation. She starts by sharing her story and how she got into content creation and why she creates content for developers in Brazil. She gives advice on how to get started creating blog content and shares strategies for pushing out posts and organizing post ideas.  Moving on to video content, the panel share editing, and recording tips. Loiane shares recommendations for editing and recording software. They advise keeping videos short and to be consistent in creating content. Loiane answers questions about revenue and analytics. She also gives advice on dealing with internet trolls.  The episode ends as Loiane dives into the struggles of learning to code as a native Portuguese speaker in an English based coding language. She explains how translation works and shares opportunities for people to help. The Angular community’s translation efforts are outlined, including translating documentation and their work with ng-Girls.  PanelistsJennifer WadellaBrian LoveGuestLoiane GronerAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsSentry use the code “devchat” for 2 months free on Sentry small plan CacheflyLinksOpen source libraries and frameworks  http://lite.acad.univali.br/portugol/  https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:https://github.com/jakejarvis/lighthouse-action  Jennifer Wadella:Merino woolhttps://pa11y.org/Loiane Groner:IvySpecial Guest: Loiane Groner. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Nov 20, 2019 • 15min

The MaxCoders Guide To Finding Your Dream Developer Job

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99! Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Nov 19, 2019 • 13min

AiA 265: Progressive Enhancements with Ire Aderinokun

In this episode of Adventures in Angular Charles Max Wood interviews Ire Aderinokun at JAMstack conf 2019. Ire works for Buycoins, a cryptocurrency exchange for Africa. She gave a lightning talk, “Headless Chrome & Cloudinary for progressively enhanced dynamic content on the web”. After giving a brief overview of her talk to Charles, Ire defines progressive enhancement for the listeners.  Walking through how progressive enhancement works, she explains how Headless Chrome and Cloudinary helped her with the project she shared in the talk. Ire and Charles consider the blindspot that developers experience because they work on high-end devices and how using progressive enhancement helps those who use lower-end devices. Ire shares her experience with JAMstack and explains how progressive enhancement works with JAMstack. Charles shares his experience using JAMstack. The episode ends with Ire giving advice and resources to help get started with progressive enhancement.  PanelistsCharles WoodGuest:Ire Aderinokun Adventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsCacheFlyLinkshttps://buycoins.africa/Headless Chrome & Cloudinary for progressively enhanced dynamic contenthttps://github.com/ireade/caniuse-embedhttps://ireaderinokun.com/https://twitter.com/ireaderinokunhttps://github.com/ireadehttps://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastSpecial Guest: Ire Aderinokun. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Nov 12, 2019 • 46min

AiA 264: ngTemplateOutlets with Stephen Cooper

In this episode of Adventures in Angular the panel interviews Stephen Cooper about his recent talk at Angular Connect. His talk was about ngTemplateOutlets. Stephen answers the questions of the panel about ngTemplateOutlets and explains how and when to use them. He starts by explaining the difference between component outlets and template outlets.  Aaron Frost, Frosty, asks Stephen to walk through how to make a ngTemplate and explain what it is useful for. The panel considers the various use cases they would use this for. Frosty wonders why he would use a ngTemplateOutlet instead of a bunch of ngIfs. Stephen explains when it would be wise to use ngIfs and when it would be better to use ngTemplateOutlets.  The panel discusses ngComponentOutlets, Stephen explains how they relate to ngTemplateOutlets and how they give you another level to reusing components. He overviews the best way to use ngComponentOutlets and warns listeners of the tricky parts.  Stephen shares the best times to use ngTemplateOutlets and overviews some of the common use cases he has seen for them. He explains that they are very useful when creating shareable components or repeating similar chunks of code in a component. He shares some resources to help listeners get started. PanelistsAaron FrostAlyssa NicollBrian LoveShai ReznikGuestStephen Cooper________________________________________________________________________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon.  Get your copy on that date only for $1. ________________________________________________________________________________________________________________________SponsorsSentry use the code “devchat” for 2 months free on Sentry small plan FlatfileCacheflyLinksngTemplateOutlet: The secret to customisation | Stephen Cooper   https://ngtemplateoutletcontext.stackblitz.io  https://github.com/StephenCooper/ngTemplateOutlets  Advanced Angular: Implementing a Reusable Autocomplete Component  https://twitter.com/CooperDev  https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:Being back in the USAZelda: Breath of the WildAlyssa Nicoll:Mr. MilksDestiny 2:ShadowkeepAaron Frost:Garrett Reismanhttps://medium.com/ngconfShai Reznik:TestAngular.comOne Strange RockStephen Cooper:Visiting museums near youSpecial Guest: Stephen Cooper . Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Nov 5, 2019 • 40min

AiA 263: The JAM in JAMstack with Tara Z. Manicsic

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 Netlify is and introduces the topic for today’s episode, JAMstack. She explains what services Netlify offers and the packages they offer.  She explains that the JAM in JAMstack stands for JavaScript API Markup, which outlines the best practices of a JAMstack architecture. During her explanation of JAMstack and the benefits of a microservice architecture, she references Smashing Magazine and their switch to JAMstack.  Tara overviews each letter of JAM and how they affect JAMstack. J or Javascript refers to the use of a JavaScript language, like Angular and others. Tara lists the API’s one might use for the A in JAM. The panel discusses the M or Markup. Markup serves up fast and safe prerendered content. Tara explains what prerender means and it makes the content safer and the sites faster. Tara then overviews the entire JAMstack process and explains atomic deployment.  The panel considers how JAMstack is picking up in the Angular ecosystem. Tara outlines a few of the benefits seen when using JAMstack and the panel considers the possible use cases. She shares a few real-life examples of the success seen when JAMstack is used in an enterprise application.  PanelistsBrian LoveShai ReznikGuestTara Z. ManicsicAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsSentry use the code “devchat” for 2 months free on Sentry small plan FlatfileCacheflyLinkshttps://www.netlify.com/https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:Living with YourselfShai Reznik:Angular Testing Tip — The Easiest Way To Start Your Test  JokerTara Z. Manicsic:FleabagNetlify Tutorial - How to build and deploy websites using Netlifyhttps://www.ng-conf.org/2019/sessions/workshop-jamstack-from-i-dont-know-to-pro/Special Guest: Tara Z. Manicsic. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Oct 29, 2019 • 28min

AiA 262: Firebase Features with David East

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. PanelistsAaron FrostBrian LoveAlyssa NicollShai ReznikGuestDavid EastAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampFlatfileCacheflyLinkshttps://firebase.google.com/https://firebase.google.com/summitMy Angular Storyhttps://fireship.io/Fireship Youtubehttps://twitter.com/_davideasthttps://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:Bonnie LoveAaron Frost:Stop shaming peopleMiss SaigonAlyssa Nicoll:David EastDavid East:Alyssa NicollFreakonomicsThe Signal and the Noise: Why So Many Predictions Fail-But Some Don't Special Guest: David East. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Oct 22, 2019 • 44min

AiA 261: Angular Projects with Zama Khan Mohammed

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 different about his book and why it is worth reading. His book takes an approach different than the common practice of walking readers through concepts, instead, his book walks readers through using a project perspective.  The first chapter walks through setting up Angular, installing Angular CLI and Angular console. After the set up is complete he walks readers through a very basic flashbase application. Zama explains how this first chapter is geared toward beginners. In his book, Zama shows users how to use the whole platform. He covers PWA and how to create brand new projects from scratch.   The panel asks him about his unique project perspective strategy for this book. Each chapter of Zama’s book walks the readers through a different project, unlike most technical books that walk readers through one project introducing a different concept each chapter. Zama explains why he wrote the book this way. He wanted to bring different libraries and tools into each project to highlight how deep and rich the Angular community and ecosystem are. The panel shares how the ecosystem and community make Angular so great to use.  Zama’s book is called Angular Projects and was published by Packt Publishing. Zama shares where to find it for those interested. The panel considers how hard writing a book must be. Zama explains the time and stress involved in writing a book. He admits he has been approached to write more books but has resolved to wait a bit before diving back into writing.  The panel discusses Zama’s open source efforts in the Angular community. They consider a few of his projects including, ngx-formly, codelyzer, and ngx-loading. He wrote ngx-formly after using formerly and he decided he wanted to use it with Angular 2.0. The panel was impressed with his contributions to codelyzer, where he helped with the accessibility requirements.  After using react-loadable Zama knew he wanted a similar feature in Angular to provide more control over loading so he built ngx-loadable. The panel defines lazy loading for listeners and explains how having control over what can load and how fast it can load can be useful in applications. Zama shares some of the improvements he has made in version 2.0.  Zama shares his hopes for speaking at ng-conf 2020, this takes the panel down a tangent discussing the exciting workshops that will be at ng-conf next year. Brian Love will be teaching a two-day workshop on Angular fundamentals. Aaron Frost is teaching and observables class and a reactive angular class. They advise everyone to buy an ng-conf ticket and not to be afraid to submit a CFP.  Back on topic, Zama shares the challenges in writing, publishing and maintaining an opensource library. He explains how contributing to open source is a great way to learn and a great way to see what a framework can do. He shares advice for those looking to get into open source and invites everyone to try Hacktoberfest. PanelistsAaron FrostBrian LoveGuestZama Khan MohammedAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampFlatfileCacheflyLinkshttps://angularprojects.com/https://twitter.com/mgechevhttps://github.com/mohammedzamakhanhttps://www.ng-conf.org/https://hacktoberfest.digitalocean.com/https://m.hero.dev/ngstory  https://github.com/aaronfrostAudit your Angular app's accessibility with codelyzerhttps://twitter.com/mohamedzamakhan?lang=en  https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:ng-conf: CFP Office HoursAaron Frost:Late Night with Seth MeyersZama Khan Mohammed:Hacking the Angular CompilerSpecial Guest: Zama Khan Mohammed. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Oct 8, 2019 • 52min

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. PanelistsAaron FrostBrian LoveJennifer WadellaShai ReznikAlyssa NicollGuestWes GrimesAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampFlatfileCacheflyLinksNgRx — Best Practices for Enterprise Angular Applications  The Facade of NgRx Facades  Building with Ivy: rethinking reactive Angular | Mike Ryan | #AngularConnect 2019  https://twitter.com/wesgrimeshttps://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:The Great HackShai Reznik:RxJS: A Better Way To Write Frontend Applications - Hannah Howard - JSConf US 2018  Complex Features Made Easy With RxJS - Ben Lesh  Aaron Frost:LizzoJennifer Wadella:https://twitter.com/began_7/status/1177880930549223424  https://github.com/vmbrasseur/Public_Speaking  Wes Grimes:ngGirlsSpecial Guest: Wes Grimes. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Oct 1, 2019 • 44min

AiA 259: Ngrid with Shlomi Assaf

In this week’s episode of Adventures in Angular the panel interviews Shlomi Assaf, talking about ngrid. After some playful banter about the naming of Ngrid, Shlomi shares the reasons behind building ngrid. The company he was working for at the time need a grid, he tested nggrid but wanted something completely opensource, so he built one. He also explains that nggrid caused some problems in their project which made him want something more customizable. Shlomi explains how much work is needed on the application and asks listeners to contribute to documentation or other areas of the project. Shai Reznik endorses Shlomi as one of the smartest peoples he knows and tells listeners if they want to learn from someone who knows a lot about angular to step up and join this project.  The panel asks about the challenges Shlomi faced while building this app and what it was like using the CDK. Nggrid has a how company working on it but ngrid has only Shlomi. Shlomi explains that the CDK had a lot of the building blocks need to building blocks to build this application and was the power behind the project. The CDK’s lacks the ability to extend easily which was a challenge. He explains that his biggest frustration while building the application was the drag and drop feature.  Shlomi shares many of the features he built into the application that even though he built it over a three year period he could do it piece by piece because of the way he designed it. He considers the selling points of the application and shares them with the panel. Shlomi compares ngrid to other grid, explaining how templating, creating columns and pagination are all made easier with ngrid. With ngrid there is also virtual scrolling and you can control the width of each column.  Next, the pane considers performance, asking how the grid would handle if you loaded thousand or even tens of thousands of records and data onto the grid. Shlomi explains that unless the cells were extremely complex that ngrid’s performance would not suffer. The panel how ngrid could work with serverside rendering but not with NativeScript. Shlomi explains version support and advises listeners to use Angular 8. The panel ends the episode by sharing information about next year's ng-conf. Tickets go on sale on October 1, 2019, the best deals go fast so watch out for them. Many of the panel will be there, Brian Love will be giving the Angular Fundamentals Two-Day Workshop. The CFP also opens October 1, 2019, and will close January 1, 2019. Aaron Frost invites anyone who would like to submit to reach out to the veteran panelists to nail down ideas for their conference proposals. He also recommends submitting more than one.  PanelistsAaron FrostBrian LoveJennifer WadellaShai ReznikAlyssa NicollGuestShlomi AssafAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampCacheflyLinkshttps://www.npmjs.com/package/@pebula/ngrid  https://shlomiassaf.github.io/ngrid/  https://www.ng-conf.org/speakers/  https://twitter.com/aaronfrosthttps://twitter.com/brian_love?lang=enhttps://twitter.com/AlyssaNicoll?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthorhttps://twitter.com/shai_reznik?lang=enhttps://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:NG-DE 2019  Angular ConnectShai Reznik:The magic of RXJS sharing operators and their differencesLet Me Off at the Top!: My Classy Life and Other Musings  Aaron Frost:Connecting with your childrenShlomi Assaf:How we make Angular fast | Miško HeverySpecial Guest: Shlomi Assaf. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
undefined
Sep 24, 2019 • 1h 8min

AiA 258: Angular Architecture with Manfred Steyer

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. PanelistsAaron FrostBrian LoveShai ReznikGuestManfred SteyerAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampCacheflyLinksNgRx + Facades: Better State Managementhttps://www.npmjs.com/package/protractor-flakehttps://twitter.com/manfredsteyer?lang=enhttps://www.softwarearchitekt.at/https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:The 5 Big Features of TypeScript 3.7 and How to Use Them  Shai Reznik:Angular Testing CourseHip-Hop EvolutionAaron Frost:RxJs Live  Lover  Manfred Steyer:Star Trek: Picardngrx-etc Special Guest: Manfred Steyer. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app