

Adventures in Angular
Charles M Wood
Join our weekly discussion about how to build top end Angular applications and become an Angular expert.Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
Episodes
Mentioned books

Sep 17, 2019 • 48min
AiA 257: The Easiest Way to use Angular Elements with Tomas Trajan
Episode SummaryIn this episode of Adventures in Angular Tomas Trajan, an angular elements expert, breaks down how to use angular elements for the panel. Tomas explains that angular elements are great for very specific use cases. Tomas starts by describing a scenario with a large enterprise with tens of developer teams and hundreds of developers, they have a few choices on how to organize their applications. The first option is a messy monolith. The second option is using monorepos and Nx. The final option is to use a multi-spa solution. Tomas explains how the multi-spa solution works. This solution consists of 80 stand-alone applications, on the same page and share components. Tomas outlines the common problems when using the solutions and how using angular elements combat those problems. The panel moves on to considers how you know if you should use angular elements in this way. Tomas provides two questions to ask yourself when deciding whether or not to use angular elements. The first question is, are you in a multi-spa scenario? The second question is, are components shared across applications? If the answer is yes for both of those questions then angular elements can only help the situation. In last week’s episode of Adventures in Angular the panel interviewed Victor Savkin about using monorepos and Nx. The panel asks Tomas to compare the strategy of using monorepos and Nx to his strategy of using multi-spa with angular elements. He explains why an enterprise might choose multi-spa over monorepos. He also gives the reasons the organization he is working with chose to work with multi-spa. Aaron asks for clarification for using elements in these multi-spa projects. Tomas goes into great detail, breaking down the way multi-spa and angular elements work together. They walk through it together using consumer profiles as an example. Tomas explains that using his approach all the applications update components all at once using angular elements. The panel considers the benefits of using Tomas’s approach and which scenarios it would work best for. Aaron expresses his appreciation for all the work Tomas did and the problems he overcame then bundling his solution in a library together so developers can just use it without all the pain. The library can be found on Github. Tomas tells the panel that there has already been some community contribution to the library. He describes some of the pull requests they have received along with the plans they have for angular elements. The topic turns to mismatched versioning and how the bundle will work. Tomas explains that the only problem they have seen with mismatched versioning is with zone.js. He shares some workarounds to the problem and promises that they are working on a solution. The episode ends with the panel listing all the major benefits that an enterprise can gain from using the multi-spa and angular elements approach. It will save them money, allow teams to work together, create and isolation. Tomas also shares some of the new features available in angular elements today. PanelistsAaron FrostBrian LoveGuestTomas TrajanAdventures in Angular is produced by DevChat.TV in partnership with Hero DevsSponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampCacheflyLinksAiA 256: Debunking Monorepo Myths with Victor Savkinhttps://angular-extensions.github.io/elements/ https://twitter.com/tomastrajan https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:https://node-atl.org/ Shai Reznik:https://netbasal.com/ Aaron Frost:How to Be Less Stupid About Race: On Racism, White Supremacy, and the Racial DivideTomas Trajan:Slipknot EXSpecial Guest: Tomas Trajan. 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.

Sep 10, 2019 • 1h 10min
AiA 256: Debunking Monorepo Myths with Victor Savkin
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.PanelistsJennifer WadellaBrian LoveShai ReznikAlyssa NicollGuestVictor SavkinSponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampMy JavaScript StoryCacheflyLinkshttps://twitter.com/victorsavkin?lang=enNrwl Nx — An open source toolkit for enterprise Angular applications.Effective React Development with Nxhttps://connect.nrwl.io/app/bookshttps://nx.dev/angular/getting-started/what-is-nxMAS 040: Victor Savkin042 AiA Dependency Injection and Change Detection with Victor Savkin123 AiA Upgrading from Angular 1 to Angular 2 with Victor Savkinhttps://nrwl.io/https://nx.dev/Momentum https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksBrain Love:https://trunkbaseddevelopment.com/https://www.oreilly.com/library/view/why-angular-for/9781492030294/ Alyssa Nicoll:Caffeine Content Warning!Jennnifer Wadella:The Fall SeasonNGD ConfLaptop Safety at ConferencesVictor Savkin:The BoysUse Less Social MediaFreedom AppShai Reznik:https://bit.dev/ True Detective Special Guest: Victor Savkin. 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.

Sep 3, 2019 • 49min
AiA 255: The Elephant in the JS Community
SponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Angular BootcampAdventures in BlockchainCacheflyPanelJennifer WadellaBrian LoveAaron FrostAlyssa NicollSummaryAddressing the recent twitter fire surrounding the JavaScript community, the panel shares their opinions on social awareness. They begin by discussing a time they inadvertently offended others and what they learned. They consider the best way to respond if you do offend someone; the correct way to apologize and learn from your mistake. The importance of taking responsibility and sharing a desire to learn is discussed. The panel considers how the community can be proactive in creating a safe space while being inclusive of everyone. They discuss resources for learning about sexism, racism and not feeling guilty as a victim.LinksThe Missing StairThe Gift of Fearhttps://twitter.com/TatianaTMac/status/1165781104122634240 https://twitter.com/why_is_js_mad/status/1164603312915791873https://www.facebook.com/adventuresinangularhttps://twitter.com/angularpodcastPicksAaron Frost:Family TimeBrain Love:Disconnect and enjoy real lifehttps://codeimg.io/ Alyssa Nicoll:Family timeJennnifer Wadella:Everyone Is In Love With These Fashionable Women On TikTok Taylor Swift- LoverAdvertising 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.

Aug 27, 2019 • 43min
AiA 254: Nx and Angular CLI with Brandon Roberts
SponsorsSentry use the code “devchat” for 2 months free on Sentry small planAngular BootcampiPhreaks PodcastCacheFlyPanelAaron FrostJoe EamesAlyssa Nicoll Joined By Special Guest: Brandon RobertsEpisode SummaryJoining the panel in this episode is Brandon Roberts, a Senior Angular Engineer at Narwhal Technologies. Brandon was previously on the Angular Team at Google.Brandon talks about what he is working on currently at Narwhal. They have recently launched more support for React and Web Components and Brandon talks about his role in that project.The panel then asks when Narwhal will release support for Knockout and jQuery. They talk about cases when to use Nx and when to use Angular CLI. They then talk about the effort required to learn Nx.They then talk about Narwhal's support plans for NgRx 9. LinksMAS 091: Brandon RobertsNgRx: A Reactive State of Mind (Two Day Workshop)https://www.ng-conf.org/2019/speakers/brandon-roberts/Brandon Roberts – MediumBrandon (@brandontroberts) | TwitterBuilding Full-Stack Applications Using Angular CLI and Nx - Nrwlnrwl/nx: Extensible Dev Tools for Monorepos - GitHub PicksAlyssa Nicoll:ngAir 211 - Template Streams in Angular & Change Detection Profiling w/ Dominic Elm & Kwinten PismanJoe Eames: Roll for Adventure Board Game Stop Thief! Board GameAaron Frost:Your local swap meetMLS SoccerUtah JazzBrandon Roberts:Connect Tech NWA Technology Summit 2019Special Guest: Brandon Roberts. 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.

Aug 20, 2019 • 52min
AiA 253: Upgrading AngularJS to Angular with Sam Julien
SponsorsSentry use the code “devchat” for 2 months free on Sentry small planReact Native RadioCacheFlyPanelAaron FrostJennifer WadellaAlyssa NicollJoe Eames Joined By Special Guest: Sam JulienEpisode SummarySam Julien, Technical Community Manager at Auth0 joins the panel to talk about upgrading AngularJS to Angular. Sam has a video course on transitioning from AngularJS to Angular and consults with companies that are in the process of upgrading. Sam and the panel share their upgrading experiences and tips on what they have learned. They also discuss how to convince companies that do not want to upgrade to Angular and agree that sometimes it's in the best interest of the company to present the financial benefits of the upgrade rather than the discuss technical aspects.The panel also talk about other reasons to upgrade from AngularJS, the most important of which is the announcement of AngularJS end of life on June 30, 2021. Tune in to learn about the biggest "got you" Sam had on an upgrade project.LinksMAS 043: Sam JulienMAS 090: Sam JulienSam's LinkedInSam's TwitterAuth0https://www.upgradingangularjs.com/Talks - Sam JulienStable AngularJS and Long Term SupportFinding the Right Path from AngularJS to AngularAngularJS End of Life AnnouncedPicksJennifer Wadella:Johnnycake from Neptune OystersAlyssa Nicoll:Bill OdomJoe Eames:Observables for AllSam Julien:Once Upon a Time In HollywoodAlamo Drafthouse Cinema Special Guest: Sam Julien. 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.

Aug 13, 2019 • 41min
AiA 252: Saying Goodbye to Angular CLI with Hans Larsen
SponsorsSentry use the code “devchat” for 2 months free on Sentry small planAngular BootcampCacheFlyPanelAaron FrostShai Reznik Joined By Special Guest: Hans LarsenEpisode SummaryHans Larsen, Team Lead of the Angular CLI at Google has left Google to pursue other opportunities. The panel meets with Hans to talk out about his time at Google Angular team and some of the challenges they faced. They then talk about Hans' future plans as well as some of the fun times they had at the Angular conferences.LinksHans Larsen LinkedInHans (@hanslatwork) | TwitterAngular is About Love!webpackPicksShai Reznik:16 PersonalitiesAaron Frost:NOVA: Black Hole Apocalypse | NetflixHans Larsen:Become a parentHave a drink with someone you loveSpecial Guest: Hans Larsen. 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.

Aug 6, 2019 • 43min
AiA 251: AngularJS to Angular Migration with Craig Spence
SponsorsSentry use the code “devchat” for 2 months free on Sentry small planAngular BootcampCacheFlyPanelAaron FrostAlyssa NicollShai Reznik Joined By Special Guest: Craig SpenceEpisode SummaryCraig Spence was a developer at Trade Me in New Zealand before he moved to Sweden to join Spotify. Trade Me is New Zealand's biggest website and it is similar to eBay where people buy and sell lots of different items. Craig talks about his experiences migrating Trade Me from AngularJS to Angular and the challenges they faced. One of the tips Craig has for the audience is when faced with a problem it is better to ask for help from those who have been in similar situations before, rather that attempting to solve it alone. The panel also agrees that developers should stop writing in AngularJS and make the decision to move forward. Craig recently started working at Spotify in Sweden and is dealing with a challenging bug that has lasted for over 13 days.LinksCraig's LinkedInCraig's TwitterTrade MeSpotifyAngular DenverPicksAaron Frost:OnePlus 7 ProChloe Condon - NG-ConfAlyssa Nicoll:Angular DenverShai Reznik:https://github.com/hirezio/jasmine-auto-spiesCraig Spence:Frank TurnerSpecial Guest: Craig Spence. 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.

Jul 30, 2019 • 51min
AiA 250: Adventures in 10x
SponsorsSentry use the code “devchat” for 2 months free on Sentry small planAngular BootcampCacheFlyPanelAaron FrostJoe EamesShai ReznikJennifer WadellaEpisode SummaryMuch reaction has been received for the tweet about the 10x developers and this week the panel outlines the checklist a 10x developer has to meet in order to be considered a 10x developer (a developer that outputs 10 times more code than the rest of the company). From always having their screen background set to black to their generally toxic attitude that is disliked by the rest of the team, 10x developers are generally a reason for others to quit their job. The panel discusses why managers continue to keep these people on even though they affect the overall team production negatively and how they should be dealt with.Linkshttps://twitter.com/skirani/status/1149302834619248640https://twitter.com/mike_conley/status/1149851483241947137PicksShai Reznik:PubConfJennifer Wadella:PubConfThe BacheloretteJoe Eames:Emotional IQAaron Frost:OnePlus 7 ProObservablesPablo Fransisco Bits and PiecesAdvertising 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.

Jul 23, 2019 • 1h 2min
AiA 249: What's New in Version 8 With Minko Gechev
SponsorsSentry use the code “devchat” for 2 months free on Sentry small planAngular BootcampCacheFlyPanelAaron FrostAlyssa NicollShai ReznikJoe EamesBrian Love Joined by Special Guest: Minko GechevEpisode SummaryMinko from Angular team at Google talks about what's new in Angular v8 and what has changed. Some of the exciting new features include differential loading, dynamic imports for lazy routes and CLI workflow improvements which end up being a large perfomance improvement. The panel comments on the fact that it was effortless to migrate from Angular 7 to Angular 8, and Minko also mentions that they had received feedback that the how to start tutorials were not very clear and so in Angular v8 they made an effort to re-do the tutorials.LinksAngular Versioning and Releases - AngularMinko's TwitterMinko's BlogMinko's GitHubhttps://caniuse.com/#search=modulesPicksAaron Frost:Stranger Things Season 3Angular DenverJoe Eames:Bonnie Brennan and her daughter SamShai Reznik:Dev Ed Podcast: Making Learning FunOzarkCobra KaiGetting Out of Your Comfort ZoneAlyssa Nicoll:ngAir 211 - Template Streams in Angular & Change Detection Profiling w/ Dominic Elm & Kwinten PismanBrian Love:https://github.com/cartant/rxjs-spyGo Outside and HikeMinko Gechev:You can use the "safe navigation" operator in Angular templatesHit Fit SFSpecial Guest: Minko Gechev. 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.

Jul 16, 2019 • 59min
AiA 248: Perfume.js with Leonardo Zizzamia
SponsorsSentry use the code “devchat” for 2 months free on Sentry small planAngular BootcampCacheFlyPanelAaron FrostJoe EamesJennifer WadellaBrian LoveAlyssa Nicoll Joined by Special Guest: Leonardo ZizzamiaEpisode SummaryLeonardo is a Senior Software Engineer, Technical Lead at Coinbase a digital currency exchange headquartered in San Francisco. Leonardo and the panel talk about Perfume.js. Over the past 5 years the Chrome team has been working on standardizing user timings for the web. One of the most recent metric tool the Chrome team has built is the Performance Observer which is an experimental API that observes user metrics. Leonardo explains how Perfume.js helps users so they don't have to worry about not complying with web standards in terms of user metrics. Leonardo then gives some guidelines to the web standards and explains what is considered in the normal range and what needs to be improved.LinksLeonardo's Twitter CoinbaseCryptoKittiesOkurrr2svgPerfume.jsSpill The Tea- definition D&Diesel PicksAaron Frost:Potion of Flyinghttps://www.rxjs.live/Joe Eames:Being a Guide and Not Being a LeaderJennifer Wadella:The Git Up by Blanco BrownBrian Love:https://github.com/tibing/async-pipelineAlyssa Nicoll:https://www.anxietytech.com/Leonardo Zizzamia:https://ngrome.io/home https://devfestlevante.eu/Special Guest: Leonardo Zizzamia. 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.