

The Angular Plus Show
ng-conf
The Angular Plus Show is the home of ng-conf's official all-Angular podcast. Come here to stay up to date on the latest changes in the Angular community. Expect to laugh and cry with us as we talk about our experiences as Angular developers.
Episodes
Mentioned books

May 5, 2021 • 52min
S2 E12 - Bootstrapping a Successful Startup
How many domains do you currently own? One for your blog, maybe one for your email, a family website or two, oh, and of course a bunch of domains for those awesome side projects and ideas you have. Side projects can be fun, challenging, and rewarding. Have you ever thought about what it might take or look like to bootstrap your own side project and successfully launch a new startup?Join the panelists of the Angular Show as we have the opportunity to spend some time with Niall Crosby, the founder, and CEO of AG Grid. Niall shares with us the story of how he got started building AG Grid, some of the early decisions he made, and how he was able to bootstrap and launch a successful startup. AG Grid is the best JavaScript grid in the world. And, as such, it wasn't built in a day (kinda like Rome, which we think is quite promising). If you're not familiar with AG Grid, head over to thinkster.io or check out some of the free workshops that our very own Brian Love has delivered for teaching you AG Grid, from the basics to the most advanced use cases. This is an episode of the Angular Show that you don't want to miss, especially if you're eager to be an entrepreneur or if you're considering launching your own company.Show notes: Article about a story of ag-Grid https://medium.com/ag-grid/why-the-world-needed-another-angularjs-1-x-grid-17e522a53bc8Connect with us: Niall Crosby - https://www.linkedin.com/in/niallcrosby/?originalSubdomain=ukBrian F Love - @brian_loveAaron Frost - @aaronfrostFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Apr 29, 2021 • 1h 10min
S2 E11 - Design Systems & Angular
Let's be honest, most engineers are not good designers. Working closely with product and design teams improves our applications, and is necessary for building a successful product. So, what are design systems and what role do they play to solve this challenge?In this episode of the Angular Show, we sit down with our friend Bill Odom. Bill loves Angular and his passion is to share his knowledge with the community, through speaking and teaching. Bill is a trainer at Oasis Digital that provides the popular Angular Bootcamp training. The panelists learn from Bill that design systems enable effective communication, planning, implementation, and ongoing maintenance of user interface and experience between engineering, design, and product development teams.You can expect to learn what a design system is, how they are valuable to organizations, some widely used design systems today, integrating design systems with tooling to develop components in isolation such as Storybook, and how design tokens fit into the model. Angular is well-positioned for developing applications using modern tooling, including design tokens, design systems, and more. Don't forget to subscribe so you can follow along with the panelists as they learn from community members like Bill.Show Notes:Oasis Digitalhttps://oasisdigital.com/https://oasisdigital.com/traininghttps://oasisdigital.com/code-talk-teach/Angular and CSS Grid: Get ready to fall in love - ng-conf 2019 - https://youtu.be/lh6n0JxXD_gStorybookhttps://storybook.js.org/Angular and Storybook, Oasis Digital - Nathan Kerr - https://www.2021.ng-conf.org/workshops/angular-and-storybook,-oasis-digitalThe benefits of a design system - Angular Berlin - Kai Röder - https://youtu.be/mWsNQB0fV38Design tokensWTF are Design Tokens? - Jina Anne - https://youtu.be/q5qIowMyVt8Theo - SalesForce - https://github.com/salesforce-ux/theoStyle Dictionary - Amazon - https://amzn.github.io/style-dictionary/Why Angular is the best framework for a design system - Jan Greger Hemb -https://youtu.be/yERBKsNVE60Connect with us:Brian F Love - @brian_loveAaron Frost - @aaronfrostJennifer Wadella - @likeOMGitsFEDAYBill Odom - @wnodomFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Apr 6, 2021 • 1h 12min
S2 E10 - RavenDB
We here at the Angular Show strive to deliver fun, newsworthy, and exciting developments in the Angular community. And, while databases may not be something you are familiar with or really have to even worry about, we wanted to take a break from our usual programming to reflect briefly on data persistence. After all, you need to put your user data somewhere, and we don't recommend stuffing everything into localStorage.In this episode, panelists Brian Love, Jennifer Wadella, and Aaron Frost welcome Oren Eini, founder of RavenDB, to the Angular Show. Oren teaches us about some of the key decisions around structured vs unstructured databases (or SQL vs NoSQL in hipster developer parlance). With the boom of document-driven unstructured databases, we wanted to learn why you might choose this technology, the pitfalls and benefits, and what are the options out there. Of course, Oren has a bit of a bias for RavenDB, so we'll learn what RavenDB is all about and why it might be a good solution for your Angular application.Show Noteshttp://howfuckedismydatabase.com/nosql/Shadon: https://www.shodan.io/Data Breaches: https://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/Israel COVID Stats: https://datadashboard.health.gov.il/COVID-19/generalConnect with us:Brian F Love - @brian_loveAaron Frost - @aaronfrostJennifer Wadella - @likeOMGitsFEDAYOren Eini - @ayendeFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Mar 23, 2021 • 1h 28min
S2 E9 - RxJS Operators Ep. 4: Multicasting, Error Handling, & Utility Operators
In the final part of our series on RxJS operators we welcome Zack DeRose, senior engineer at Nrwl, back to the show to learn about multicasting, error handling and utility operators. To kick things off we do a quick recap of hot vs cold Observables, unicast vs multicast, and then the Subject class as well as a few of its child-classes.You might be wondering, "What is a multicasted Observable; Why would I want that; and what is the implication for my application?" In short, the multicast operators provide the functionality to create a multicasted Observable (duh! and huh?). The complexity and confusion usually arise around what operators to choose from. Why would I choose publish() over shareReplay()? And, what about ref counting? Don't worry - panelists Aaron Frost, Brian Love, and Jennifer Wadella, along with our esteemed guest Zack, answer these very questions.We then go into detail on error handling in RxJS and the various operators for error handling, from catchError() to throwError(), and everything in between. Finally, we talk through various utility operators such as tap() and delay().While you don't need to have listened to the first 3 episodes on RxJS operators in this series to enjoy this episode, we do recommend you check them out if you haven't already. Be sure to subscribe so you don't miss a single episode of the Angular Show!Show Notes:WTF is a cold observable: https://www.youtube.com/watch?v=4btjdWHM6lI&ab_channel=AngularSeattleDeRose Hpothesis on Code Complexity: https://www.youtube.com/watch?v=H9EZZDREMEk&t=779s&ab_channel=AngularSeattlezackderose.devMulticasting: https://dev.to/bitovi/understanding-multicasting-observables-in-angular-2371Connect with us:Brian F Love - @brian_loveAaron Frost - @aaronfrostJennifer Wadella - @likeOMGitsFEDAYZack DeRose - @zackderoseFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Mar 10, 2021 • 52min
S2 E8 - Indigo Design
The Angular Show welcomes back our friends from Infragistics to talk about their new App Builder prototype as a low-code solution to building Angular applications that integrate seamlessly with their Indigo Design platform. Infragistics is a design and development company that also builds tooling and products to enable developers to build robust applications in .NET and Angular. In this show, we welcome George Abraham and Konstantin Dinev back to the show to teach us about design systems and their low-code solution for Angular.We start out by learning about design systems and the importance of using a design system to integrate the UI/UX team with the development workflow. In many organizations, there is a gap between these two teams, and further, making feature iterations and scaling designs across many applications can be difficult and complex. Design systems seek to solve these issues. Infragistics Indigo Design is built with this purpose in mind.Infragistics' new App Builder build (see what we did there) on Indigo Design to provide a low-code solution for application prototyping and development. Imagine taking your UI design, building the design and navigation using their cloud solution, and then downloading the resulting Angular application that is ready to go. Now now, you might find this a bit scary being an Angular developer. But, have no fear, the panelists ask the tough questions for you, such as what about the quality, maintainability, and testability of the generated code?? We think you'll be pleasantly surprised to learn what the team at Infragistics is building. Besides, who really enjoys spending hours writing out semantic HTML and CSS?Head over to infragistics.com to learn more about Indigo Design and the new App Builder for Angular. Check it out, and let us know what you think!Show Notes:Indigo Design: https://www.infragistics.com/products/indigo-designApp Builder: https://www.infragistics.com/products/appbuilderIndigo Design Feedback: feedback@indigo.designConnect with us: Brian F Love - @brian_loveAaron Frost - @aaronfrostKonstantin Dinev - @KonstantinDinevGeorge Abraham - @jabberSGAFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Mar 3, 2021 • 1h 18min
S2 E7 - Forms Series Episode 3: Reactive Forms
In the final installment of our series on forms, the Angular Show welcomes one of our favorite speakers and expert on forms, our very own panelist, Jennifer Wadella. Jennifer is the Director of Angular Development at Bitovi, a front-end JavaScript consulting firm.In the first two installments, we discussed Angular Formly with Bram (better known as Beeman) and Juri Strumpflohner, and then we sat down with Ward Bell to expand our understanding and appreciation for template-driven forms. In this episode, Jennifer will take your knowledge of reactive-driven forms to the next level. To get started, we will broadly discuss the basics of reactive forms and its API; including the AbstractControl, the FormBuilder, and more. We'll then briefly learn about the differences between using the reactive forms API and the template-driven approach. We'll also discuss some more advanced topics, such as the value control accessor and validation. Finally, we'll look at a few of the open issues related to reactive forms and discuss how the API could be improved (ehh hemm, typings).If you haven't subscribed to our show, go ahead and do it now. We love this community and we want you to be a part of it! The Angular Show is your home for the latest Angular news, to learn more about Angular, and to meet amazing people in the community.Show Notes: ngx-typed-forms: https://github.com/Quramy/ngx-typed-formsStrong typings: https://github.com/angular/angular/issues/13721Andrew’s reply: https://github.com/angular/angular/pull/40772#issuecomment-776456955 Improvements: https://github.com/angular/angular/issues/31963Control touch state observable: https://github.com/angular/angular/issues/10887Control.getValidators() is missing: https://github.com/angular/angular/issues/13461Input as Observable: https://github.com/angular/angular/issues/5689Identity made simple for developers with Auth0 - https://a0.to/youtubeDemo: How to add user login to an Angular application using Auth0 - https://a0.to/angularSDKqsConnect with us:Brian Love - @brian_loveJennifer Wadella - @likeOMGitsFEDAYAaron Frost - @aaronfrostFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Feb 17, 2021 • 1h 13min
S3 E6 - RxJS Operators Episode 3: Filtering Operators
In part 3 of our series on RxJS operators, the Angular Show panelists Aaron Frost, Jennifer Wadella, and Brian Love, along with our friend Lara Newsom, take a stroll through the filtering operators. The filtering operators enable developers to filter next notifications from an Observable.The most logical filtering operator to start with is, well, you guessed it, the filter() operator. From there, we look to the operators that only emit a single next notification: first(), last(), find(), and single(). Most of these operators are fairly straight-forward, and often have an optional predicate that can be provided to determine when the operator returns a new Observable that immediately emits the next notification to the Observer, or to the next operator in the pipe. Moving onward Lara teaches us about the family of take() and skip() operators. We didn't list them out here since we are lazy and don't want to type them all out, plus, you should really just have a listen to the show and subscribe! Ok, phew, now Lara and the panelists talk about the ignoreElement() operator, which like the window() operator, has nothing to do with the DOM. Rounding the final bend in our run through the filtering operators we talk about the family of distinct() operators. And, with a sprint to the finish line, we learn about the audit(), debounce() and simple() operators for rate limiting. Speaking of rate-limiting, this is getting long. But, thankfully, this show on the filtering operators is not that long, plus, you can always expect a good time hanging out with the Angular Show. Enjoy!Show Notes: https://dev.to/rxjs/debounce-vs-throttle-vs-audit-vs-sample-difference-you-should-know-1f21Connect with us:Lara Newsom - @LaraNerdsomBrian Love - @brian_loveJennifer Wadella - @likeOMGitsFEDAYAaron Frost - @aaronfrostFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Feb 10, 2021 • 1h 9min
S2 E5 - tslint to eslint Migration
What is a linter? For some, a linter is that round brush-thingy with sticky paper that you use to remove your cat's fur from your otherwise beautiful jacket before going out in public. For computer software engineers, a linter is a program that uses static analysis to determine if there are potential errors, stylistic problems, or other suspicious operations in an application. Attempting to use your lint brush with an Angular application might be tricky, or perhaps, it's an alternative method to cleaning the grime off your screen that has been there for months and you can somehow see past every day. Instead, Angular developers have long relied on tslint, which is a lint tool specifically built for TypeScript. Things were good, well, mostly good, up until last year when, in the midst of quarantining and eating ramen, you read a tweet that said maintenance of tslint was coming to an end. So, what is an Angular developer to do?Enter James Henry. James is a Consultant Architect for Nrwl, and generally coined by the Angular Show, as "that good looking guy at Narwhal" (not that everyone else isn't beautiful). James has worked alongside the eslint team for many years, and has provided a solution to those using TypeScript, and thus tslint, to migrate and leverage the power of eslint. James talks through his journey working with eslint, TypeScript, and more. To further prove that James good looking (scratch that)... an outstanding contributor to the community, James has provided a migration path for the most common tslint rules to eslint rules.Should you migrate to eslint today? How difficult is it? What about my existing tslint rules? Those are all great questions, and the panelists will explore and learn from James the answers to those questions and more. Go ahead, subscribe, and have a listen.Show Notes:discord.gg/angularhttps://astexplorer.net/https://github.com/typescript-eslint/tslint-to-eslint-confighttps://github.com/angular-eslint/angular-eslinthttps://twitter.com/cotufa82/status/1355901060636930049Connect with us:James Henry @mrjameshenryJennifer Wadella @likeOMGitsFEDAYBrian Love @brian_loveAaron Frost @aaronfrostFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Feb 5, 2021 • 56min
S2 E4 - Forms Series Episode 2: Template Driven Forms
Angular is a feature-rich and opinionated framework. Opinionated, for example, in terms of fetching data via XHR. Most, and perhaps all, Angular developers reach for the HttpClientModule. Most of us don't have to even think about that decision. While the debate will likely never end over JavaScript frameworks, Angular developers may never end their debate over what forms implementation to use. Do you use reactive forms (which are arguably not really reactive) or template-driven forms? The Angular show panelists want to take you on a learning journey into the depths of this debate in a healthy, fun, and educational way.If you read the Angular documentation you might be inclined to believe that Angular's template-driven forms approach is where you start, but real Angular devs use reactive forms. I mean, the name reactive is hip. And template-driven forms, that's so AngularJS-y. Why would I want to use template-driven forms?We have the perfect guest to answer that question for you. Ward Bell, a Google Developer Expert in Angular and President/Co-Founder at IdeaBlade, has put template-driven forms through its paces for many years, and in our opinion, is one of the foremost experts on using template-driven forms in Angular. Grab your kombucha, coffee, running shoes, or really whatever you want, and join us as we learn from the master on template-driven forms. By the end of the show, you might be asking yourself why you aren't already using template-driven forms in your Angular applications.Bonus notes from Ward after the show:I talked through a couple of approaches during the show but I didn’t have an actual sample to refer to... I just updated the StackBlitz sample with an example of both approaches. Color me “obsessive”.https://stackblitz.com/edit/angular-kkatri?file=src%2Fapp%2Fhero-form%2Fhero-form.component.htmlThe hero now has both a “Power” and a “Power Qualifier” (category and subcategory). Both are required. You pick a power and the list of qualifiers changes accordingly. A special “Select a power qualifier” appears until you pick a qualifier. This demonstrates the “disabled control” approach.One of the selectable powers is “Other”. It has no pre-defined qualifiers. Instead, you must enter a free-form description of the “other power”; what you enter is bound to the hero’s qualifier field.When you pick “Other”, the “Power Qualifier” selector is removed from the form and a required free-form input control takes its place. This is the alternative “ngIf” approach that I mentioned.Click the “New” button to see how it works when Hero has no power.Show NotesAbstractControl: https://angular.io/api/forms/AbstractControlConnect with us:Aaron Frost - @aaronfrostJennifer Wadella - @likeOMGitsFEDAYBrian Love - @brian_loveWard Bell - @wardbellFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5

Jan 27, 2021 • 1h 15min
S2 E3 - Forms Series Episode 1: Angular Formly
Developing on the web can potentially be reduced to inputs and outputs, and further, a snapshot of current inputs and outputs is the state of our application. Inputs often come in the form of user events, and one of the primary methods for users to provide input into our applications is through forms. Whether you love or hate forms, web developers have no way of escaping this critical input method. In this episode of the Angular Show, our panelists are joined by two experts in the area of Angular and forms, Juri Strumpflohner and Bram Borggreve. Juri Strumpflohner is a Senior Software Engineer at Narwhal and Bram is a freelance developer and founder of BeeSoftLabs. Juri and Bram are members of the Angular Formly core team that produces and maintains this open-source project. While Angular ships with powerful form modules, Angular Formly builds on top of Angular's modules to provide an abstraction layer that enables developers to build robust and complex forms. One of the biggest advantages is the ability to dynamically and programmatically define form groups, arrays, and controls. Further, Angular Formly provides wrappers for control appearances based on several popular UI component libraries, such as Angular Material and Bootstrap, or you can create your own UI wrapper if necessary.Connect with us: Juri Strumpflohner - @juristrBram Borggreve - @beeman_nlAaron Frost - @aaronfrostJennifer Wadella - @likeOMGitsFEDAYBrian Love - @brian_loveFollow us on 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 every year to attend talks and workshops by the Angular team and community experts.JoinAttendXBluesky ReadWatchEdited by Patrick HayesStock media provided by JUQBOXMUSIC/ Pond5


