POPULARITY
In this episode, Victor Savkin, CTO at NX and ex-Googler, discusses his ...
Juri is currently Director of Developer Experience (Global) and Director of Engineering (Europe) at Nrwl, founded by former Googlers/Angular core team members Jeff Cross and Victor Savkin.Nrwl has compiled everything you need to know about monorepos, plus the tools to build them, here.Connect with Juri on LinkedIn or explore his website.Shoutout to Lifeboat badge winner penguin2718 for their answer to Storing loop output in a dataframe in R.
In this supper club episode of Syntax, Wes and Scott talk with Victor Savkin about NX Monorepo development. Whiskey Web and Whatnot - Sponsor Whiskey Web and Whatnot is different than your typical dev podcast. We show a lighter, more human side of developers you know and love, like a fireside chat with your favorite devs. Past guests include Tom Preston-Werner, Kent C. Dodds, Charlie Gerard, and of course Wes Bos! We have discussed everything from Next.js and TypeScript to Chuck's past life as a blackjack dealer, Cincinnati Chili, the best casseroles, and of course whiskey! Visit whiskeywebandwhatnot.fm or find them wherever you listen to podcasts. Strapi - Sponsor Strapi enables developers to build projects faster by providing a customizable API out of the box and giving them the freedom to use their favorite tool as it has both REST and GraphQL endpoints. Strapi is extensible and frontend agnostic, built to cover all your content use cases. Give Strapi a try at strapi.io/demo, find your missing content workflow piece on our marketplace,and learn more about Strapi and how it help you on our Youtube channel. Show Notes 00:29 Welcome 02:42 Guest introduction 04:07 What tools did Google use? 10:49 What do bigger companies use for version control? 14:40 What is Nx? Nx 21:02 How does Nx help you upgrade projects? 27:42 Sponsor: Whiskey Web and Whatnot 28:33 How does Nx fit into the existing tooling? 37:27 Sponsor: Strapi 39:02 Caching and skipping builds 44:50 The problem with caching 48:44 Is it used for images or video? 51:40 Small projects can benefit as well 53:13 Lightning questions Happy Hacking KB IntelliJ LunarVim VS Code 02:23 Shameless Plugs Shameless Plugs Scott: LevelUp Tutorials Wes: Wes Bos Tutorials Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets
SHOW SUMMARY:Today's episode of NgXP gives a look into the life and career of Nrwl's “primary founder”, Victor Savkin. Victor starts by talking about his work at Nrwl and leading a strong group of experienced engineers. He then takes us back into his earliest years working with computers, earning multiple graduate degrees, moving to Canada, getting a job at Google, and eventually starting his own company with Nrwl's “other founder” Jeff Cross. Victor shares especially inspirational advice as he discusses finding your own way, taking risks, and finding a healthy balance between work and life. LINKS:https://vsavkin.com/https://blog.nrwl.io/modern-angular-39b3f360f3d9https://medium.com/@vsavkinCONNECT WITH US:Victor Savkin @victorsavkinBrooke Avery @JediBraveryErik Slack @erik_slack
Can a monorepo be beneficial for development teams? Find out the answers to this and other questions as we interview Narwhal cofounder, Victor Savkin! The post Episode 56: Don't Fear the Monorepo appeared first on TalkScript.FM.
The Angular Show panelists (Aaron Frost, Brian Love, Alisa Nicoll, and Shai Reznik) chat with the co-founders of Narwhal Jeff Cross and Victor Savkin about Nx and Nx Cloud. But first, we check in with Jeff, who you may not know, has and cuddles with pigs, and Victor, who is a new father.Nx Cloud is a way for you to enable distributed computation cache such that you, your team, and your Continuous Integration (CI) can share build artifacts. Practically speaking, this results in saving you and your organization time when building and testing your application.You might be wondering, what exactly is computation cache? Victor breaks this down for us and shares how Nx tackles this, and further, how we can use Nx cloud to distribute the computation cache across a team, including CI.To get started, you'll need to be using Nx, which not only tackles computation cache, but is a tool for implementing a monorepo strategy. Then, set up Nx Cloud with an access token in your config for distributing the cache.
Jeffrey Cross and Victor Savkin are the cofounders of NRWL. They used to work together at Google on the Angular team and started NRWL so that people could use Angular 2 well. Victor talks about NRWL’s tool NX, which came from the desire to help people develop like the tech giants. Companies like Google and Facebook develop in the same repository so that people can collaborate. NX is an open source tool for this collaborative development, known as a monorepo. Monorepo style development is a way to develop applications such that you develop multiple projects in the same repository and you use tooling to orchestrate development. The tooling connects everything, makes the experience coherent, and ultimately makes the monorepo style work. The benefits of monorepo development are that the tool chain enables you to interact with different projects in the same fashion, collaboration is more effective, and multiple apps can be refactored at once. The panel discusses what situations are appropriate for a monorepo and which are not. Victor believes that any company with more than one large product would benefit from a monorepo, but it would not benefit a company that wants to keep their teams distinct from one another. The hosts express some concerns about implementation, such as scaling and creating the infrastructure. Victor assures them that a monorepo is inherently scalable, and most tools will work for years and years. As for the infrastructure, companies like NRWL specialize in helping companies set up monorepos, and NX provides many of the necessary tools for a monorepo. A monorepo can be tailor-made to fit any size of company, and can even be created for already established projects. If you wanted to start your own monorepo, you can start by taking a project or handful of projects and moving them to the same place. As you develop, pull pieces of your applications out and put them into packages. Victor cautions that monorepos tend towards a single version policy, so you’ll want to get on the same version as your third party dependencies before you move your next application in. You can move things in and temporarily have different versions, but plan to make them the same version eventually. Victor talks about how the CI in a monorepo setup looks different, because you run tests against everything that might be broken by that change, not just the project its in. So, when you change something in your code, you need to consider what other pieces of code need to be taken into account. A monorepo does make dependencies more explicit, and when you have good tooling it’s easier to see the effect the changes you make have. This is where NX excels. One of the big advantages of NX is that it allows you to partition your application into packages with a well defined API, and prevents the project from becoming one giant node. You can then interact with those packages, and see what happens when you change something. You have a lot more clarity of how your app is partitioned and what the restraints are. NX allows you to share stuff between the front and backend. The show concludes with the conversation turning to Jeffrey and Victor’s consulting work. They talk about some of the interesting features that are happening outside of React that we are missing out on. Victor is very impressed with tooling in the Angular community. He talks about a tool called Console for NX. They end by talking about the schematic powered migrations in Angular. Panelists Leslie Cohn-Wein Dave Ceddia Lucas Reis With special guest: Jeffrey Cross and Victor Savkin Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan My JavaScript Story Links NRWL Angular NX Building Fullstack React Applications in Monorepo Angular CLI Follow DevChatTV on Facebook and Twitter Picks Lucas Reis: Dear Startup Cryptocurrencies video by 1Blue1Brown Dave Ceddia: Help, I’ve Fallen (into code) and I Can’t Get Up! Code maps frontend Victor Savkin: Ember Mug Heal the Internet Jeffrey Cross: lululemon Commission pant Leslie Cohn-Wein Why I’m No Longer Talking to White People Everylayout.dev
Jeffrey Cross and Victor Savkin are the cofounders of NRWL. They used to work together at Google on the Angular team and started NRWL so that people could use Angular 2 well. Victor talks about NRWL’s tool NX, which came from the desire to help people develop like the tech giants. Companies like Google and Facebook develop in the same repository so that people can collaborate. NX is an open source tool for this collaborative development, known as a monorepo. Monorepo style development is a way to develop applications such that you develop multiple projects in the same repository and you use tooling to orchestrate development. The tooling connects everything, makes the experience coherent, and ultimately makes the monorepo style work. The benefits of monorepo development are that the tool chain enables you to interact with different projects in the same fashion, collaboration is more effective, and multiple apps can be refactored at once. The panel discusses what situations are appropriate for a monorepo and which are not. Victor believes that any company with more than one large product would benefit from a monorepo, but it would not benefit a company that wants to keep their teams distinct from one another. The hosts express some concerns about implementation, such as scaling and creating the infrastructure. Victor assures them that a monorepo is inherently scalable, and most tools will work for years and years. As for the infrastructure, companies like NRWL specialize in helping companies set up monorepos, and NX provides many of the necessary tools for a monorepo. A monorepo can be tailor-made to fit any size of company, and can even be created for already established projects. If you wanted to start your own monorepo, you can start by taking a project or handful of projects and moving them to the same place. As you develop, pull pieces of your applications out and put them into packages. Victor cautions that monorepos tend towards a single version policy, so you’ll want to get on the same version as your third party dependencies before you move your next application in. You can move things in and temporarily have different versions, but plan to make them the same version eventually. Victor talks about how the CI in a monorepo setup looks different, because you run tests against everything that might be broken by that change, not just the project its in. So, when you change something in your code, you need to consider what other pieces of code need to be taken into account. A monorepo does make dependencies more explicit, and when you have good tooling it’s easier to see the effect the changes you make have. This is where NX excels. One of the big advantages of NX is that it allows you to partition your application into packages with a well defined API, and prevents the project from becoming one giant node. You can then interact with those packages, and see what happens when you change something. You have a lot more clarity of how your app is partitioned and what the restraints are. NX allows you to share stuff between the front and backend. The show concludes with the conversation turning to Jeffrey and Victor’s consulting work. They talk about some of the interesting features that are happening outside of React that we are missing out on. Victor is very impressed with tooling in the Angular community. He talks about a tool called Console for NX. They end by talking about the schematic powered migrations in Angular. Panelists Leslie Cohn-Wein Dave Ceddia Lucas Reis With special guest: Jeffrey Cross and Victor Savkin Sponsors Sustain Our Software Sentry use the code “devchat” for 2 months free on Sentry’s small plan My JavaScript Story Links NRWL Angular NX Building Fullstack React Applications in Monorepo Angular CLI Follow DevChatTV on Facebook and Twitter Picks Lucas Reis: Dear Startup Cryptocurrencies video by 1Blue1Brown Dave Ceddia: Help, I’ve Fallen (into code) and I Can’t Get Up! Code maps frontend Victor Savkin: Ember Mug Heal the Internet Jeffrey Cross: lululemon Commission pant Leslie Cohn-Wein Why I’m No Longer Talking to White People Everylayout.dev
Episode Summary In 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. Panelists Aaron Frost Brian Love Guest Tomas Trajan 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 AiA 256: Debunking Monorepo Myths with Victor Savkin https://angular-extensions.github.io/elements/ https://twitter.com/tomastrajan https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain 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 Divide Tomas Trajan: Slipknot EX
Episode Summary In 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. Panelists Aaron Frost Brian Love Guest Tomas Trajan 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 AiA 256: Debunking Monorepo Myths with Victor Savkin https://angular-extensions.github.io/elements/ https://twitter.com/tomastrajan https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain 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 Divide Tomas Trajan: Slipknot EX
Episode Summary In 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. Panelists Aaron Frost Brian Love Guest Tomas Trajan 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 AiA 256: Debunking Monorepo Myths with Victor Savkin https://angular-extensions.github.io/elements/ https://twitter.com/tomastrajan https://www.facebook.com/adventuresinangular https://twitter.com/angularpodcast Picks Brain 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 Divide Tomas Trajan: Slipknot EX
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
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
Recording date: 2019-02-12 John Papa @John_Papa Ward Bell @WardBell Victor Savkin @VictorSavkin Resources: Narwhal Technologies Viktor on Medium Conway’s Law Angular React Vue Yarn npm npm vs yarn npx Typescript The Typescript Tax How Webstorm Works with Javascript Libraries VS Code Typescript Someone to follow Secret Women of Coding Igor Minar Monk on IMDB On Liberty Timejumps 00:45 What Ward's been up to 02:49 Guest introduction 03:32 What is a large app? 07:05 Conway's Law 08:15 How do you promote knowledge? 11:26 Similar patterns in CLI 15:09 Sponsor: Dev Interersection 16:02 Yarn and NPM 18:37 What about NPX? 19:48 Number of teams vs size of teams 21:57 How do you manage multiple teams on multiple sprints? 35:38 Tooling for Angular Developers 45:26 Sponsor: IdeaBlade 46:25 What's the best way to get familair with a new project 50:30 What would help shipping multiple versions of an app? 54:59 The Typescript tax 02:55 Someone to follow
--- Support this podcast: https://anchor.fm/angularair/support
Panel: Charles Max Wood Guest: Victor Savkin This week on My Angular Story, Charles speaks with Victor Savkin about his business Narwhal Technologies. In addition, they discuss Angular, past and current business projects, and their picks. Victor is a co-founder of nrwl.io, providing Angular consulting to enterprise teams. He was previously on the Angular core team at Google, and built the dependency injection, change detection, forms and router modules. In particular, we dive pretty deep on: Victor’s background. Two of Victor’s past episodes on the “My Angular Story:” Episode 42 Episode 123 When and how did you get into programming? Back when Victor was in Russia and playing games. This brought him to the idea that “I could build my own game” when he was a teenager. Programming is hard and difficult, but also fun and enjoying. There is a creative side to this. State of flow. How did you go from creating games with Flash to Angular? Eventually ended up using Angular. Victor prefers to use on the backend. It’s interesting to see how things have changed, such as Data Flow and Business Logic. In what ways do you think it has improved? Charles first got into programming it was Rails. JavaScript sprinkles Ember into Angular Why does this feel much harder – because we are solving much more complicated issues. Look at the tools we have today. Trello How did you get into Angular 14? Dart What contributions do you feel that you have made on the Angular team? Angular Dart In writing Angular apps, Charles is curious, how is it different writing the framework vs. an app within the framework? What made you and Jeff leave Google and go start Narwhal Technologies (nrwl.io)? I felt like I could provide more value. What things have Narwhal been contributing to the community? What are you working on now? NX Personal life Wedding in August and buying a home for Victor. Links: FreshBooks Past “My Angular Story” Episodes Data Flow Business Logic JavaScript Ember Trello Dart Narwhal Technologies NX Rails Victor Savkin’s Angular Victor Savkin’s Medium Victor Savkin’s Twitter Victor Savkin’s LinkedIn Victor Savkin’s GitHub Victor Savkin’s Lean Pub Victor Savkin’s Nrwl Blog Victor Savkin’s Book: Angular Router Victor Savkin’s & Jeff Cross’ Book: Essential Angular Angular Digital Ocean Cache Fly Sponsor: Digital Ocean Picks: Charles Audio Books: “The Big Leap” by Gay Hendricks “The Whole-Brain Child” by Daniel J. Siegel & Tina Payne Bryson Take a minute to be human through life’s different experiences. Victor Self-Help Books They Daily Stoic by Ryan Holiday & Stephen Hanselman Go see your doctor first before you buy equipment! Logitech Wireless Trackball Vertical Mouse
Panel: Charles Max Wood Guest: Victor Savkin This week on My Angular Story, Charles speaks with Victor Savkin about his business Narwhal Technologies. In addition, they discuss Angular, past and current business projects, and their picks. Victor is a co-founder of nrwl.io, providing Angular consulting to enterprise teams. He was previously on the Angular core team at Google, and built the dependency injection, change detection, forms and router modules. In particular, we dive pretty deep on: Victor’s background. Two of Victor’s past episodes on the “My Angular Story:” Episode 42 Episode 123 When and how did you get into programming? Back when Victor was in Russia and playing games. This brought him to the idea that “I could build my own game” when he was a teenager. Programming is hard and difficult, but also fun and enjoying. There is a creative side to this. State of flow. How did you go from creating games with Flash to Angular? Eventually ended up using Angular. Victor prefers to use on the backend. It’s interesting to see how things have changed, such as Data Flow and Business Logic. In what ways do you think it has improved? Charles first got into programming it was Rails. JavaScript sprinkles Ember into Angular Why does this feel much harder – because we are solving much more complicated issues. Look at the tools we have today. Trello How did you get into Angular 14? Dart What contributions do you feel that you have made on the Angular team? Angular Dart In writing Angular apps, Charles is curious, how is it different writing the framework vs. an app within the framework? What made you and Jeff leave Google and go start Narwhal Technologies (nrwl.io)? I felt like I could provide more value. What things have Narwhal been contributing to the community? What are you working on now? NX Personal life Wedding in August and buying a home for Victor. Links: FreshBooks Past “My Angular Story” Episodes Data Flow Business Logic JavaScript Ember Trello Dart Narwhal Technologies NX Rails Victor Savkin’s Angular Victor Savkin’s Medium Victor Savkin’s Twitter Victor Savkin’s LinkedIn Victor Savkin’s GitHub Victor Savkin’s Lean Pub Victor Savkin’s Nrwl Blog Victor Savkin’s Book: Angular Router Victor Savkin’s & Jeff Cross’ Book: Essential Angular Angular Digital Ocean Cache Fly Sponsor: Digital Ocean Picks: Charles Audio Books: “The Big Leap” by Gay Hendricks “The Whole-Brain Child” by Daniel J. Siegel & Tina Payne Bryson Take a minute to be human through life’s different experiences. Victor Self-Help Books They Daily Stoic by Ryan Holiday & Stephen Hanselman Go see your doctor first before you buy equipment! Logitech Wireless Trackball Vertical Mouse
Panel: Charles Max Wood Guest: Victor Savkin This week on My Angular Story, Charles speaks with Victor Savkin about his business Narwhal Technologies. In addition, they discuss Angular, past and current business projects, and their picks. Victor is a co-founder of nrwl.io, providing Angular consulting to enterprise teams. He was previously on the Angular core team at Google, and built the dependency injection, change detection, forms and router modules. In particular, we dive pretty deep on: Victor’s background. Two of Victor’s past episodes on the “My Angular Story:” Episode 42 Episode 123 When and how did you get into programming? Back when Victor was in Russia and playing games. This brought him to the idea that “I could build my own game” when he was a teenager. Programming is hard and difficult, but also fun and enjoying. There is a creative side to this. State of flow. How did you go from creating games with Flash to Angular? Eventually ended up using Angular. Victor prefers to use on the backend. It’s interesting to see how things have changed, such as Data Flow and Business Logic. In what ways do you think it has improved? Charles first got into programming it was Rails. JavaScript sprinkles Ember into Angular Why does this feel much harder – because we are solving much more complicated issues. Look at the tools we have today. Trello How did you get into Angular 14? Dart What contributions do you feel that you have made on the Angular team? Angular Dart In writing Angular apps, Charles is curious, how is it different writing the framework vs. an app within the framework? What made you and Jeff leave Google and go start Narwhal Technologies (nrwl.io)? I felt like I could provide more value. What things have Narwhal been contributing to the community? What are you working on now? NX Personal life Wedding in August and buying a home for Victor. Links: FreshBooks Past “My Angular Story” Episodes Data Flow Business Logic JavaScript Ember Trello Dart Narwhal Technologies NX Rails Victor Savkin’s Angular Victor Savkin’s Medium Victor Savkin’s Twitter Victor Savkin’s LinkedIn Victor Savkin’s GitHub Victor Savkin’s Lean Pub Victor Savkin’s Nrwl Blog Victor Savkin’s Book: Angular Router Victor Savkin’s & Jeff Cross’ Book: Essential Angular Angular Digital Ocean Cache Fly Sponsor: Digital Ocean Picks: Charles Audio Books: “The Big Leap” by Gay Hendricks “The Whole-Brain Child” by Daniel J. Siegel & Tina Payne Bryson Take a minute to be human through life’s different experiences. Victor Self-Help Books They Daily Stoic by Ryan Holiday & Stephen Hanselman Go see your doctor first before you buy equipment! Logitech Wireless Trackball Vertical Mouse
--- Support this podcast: https://anchor.fm/angularair/support
3:00 - Introducing Victor Savkin Twitter Website 3:30 - Making migration gradual 4:45 - NgUpgrade 6:20 - What is Router/Upgrade? How is it used? 9:15 - Iterative and Incremental upgrading 11:35 - UI Router 13:20 - Making a gameplan for migrating Blog post 16:00 - UI Router versus Angular Router 20:05 - Angular Upgrade Static 21:40 - Why should you upgrade your Angular modules? 25:30 - Reviewing the steps 26:30 - Step 3: Migrate individual components and services to Angular 2 28:50 - Leaf components 29:50 - Hashtag routing 31:00 - Step 4: Divide the routes between the Angular 1 and the Angular 2 routers 35:00 - Step 5: Removing Angular 1 from your setup 36:10 - When should you do a progressive migration? 39:05 - Predictions for the future of upgrading 40:40 - Performance implications of upgrading 48:00 - Deployment options 51:05 - Narwhal Technologies Picks: Rogue One (John) Top Coders Angular 2 cross-country workshops (Joe and John) Ng Conf (Joe) Toby Chrome plug-in (Lukas) The Cook, The Thief, His Wife, and Her Lover (Ward) Ng Cruise (Alyssa) Egghead.io (Alyssa) Newsfeed Eradicator (Charles) Echo Dot (Charles) Ethics in the Real World by Peter Singer (Victor)
3:00 - Introducing Victor Savkin Twitter Website 3:30 - Making migration gradual 4:45 - NgUpgrade 6:20 - What is Router/Upgrade? How is it used? 9:15 - Iterative and Incremental upgrading 11:35 - UI Router 13:20 - Making a gameplan for migrating Blog post 16:00 - UI Router versus Angular Router 20:05 - Angular Upgrade Static 21:40 - Why should you upgrade your Angular modules? 25:30 - Reviewing the steps 26:30 - Step 3: Migrate individual components and services to Angular 2 28:50 - Leaf components 29:50 - Hashtag routing 31:00 - Step 4: Divide the routes between the Angular 1 and the Angular 2 routers 35:00 - Step 5: Removing Angular 1 from your setup 36:10 - When should you do a progressive migration? 39:05 - Predictions for the future of upgrading 40:40 - Performance implications of upgrading 48:00 - Deployment options 51:05 - Narwhal Technologies Picks: Rogue One (John) Top Coders Angular 2 cross-country workshops (Joe and John) Ng Conf (Joe) Toby Chrome plug-in (Lukas) The Cook, The Thief, His Wife, and Her Lover (Ward) Ng Cruise (Alyssa) Egghead.io (Alyssa) Newsfeed Eradicator (Charles) Echo Dot (Charles) Ethics in the Real World by Peter Singer (Victor)
3:00 - Introducing Victor Savkin Twitter Website 3:30 - Making migration gradual 4:45 - NgUpgrade 6:20 - What is Router/Upgrade? How is it used? 9:15 - Iterative and Incremental upgrading 11:35 - UI Router 13:20 - Making a gameplan for migrating Blog post 16:00 - UI Router versus Angular Router 20:05 - Angular Upgrade Static 21:40 - Why should you upgrade your Angular modules? 25:30 - Reviewing the steps 26:30 - Step 3: Migrate individual components and services to Angular 2 28:50 - Leaf components 29:50 - Hashtag routing 31:00 - Step 4: Divide the routes between the Angular 1 and the Angular 2 routers 35:00 - Step 5: Removing Angular 1 from your setup 36:10 - When should you do a progressive migration? 39:05 - Predictions for the future of upgrading 40:40 - Performance implications of upgrading 48:00 - Deployment options 51:05 - Narwhal Technologies Picks: Rogue One (John) Top Coders Angular 2 cross-country workshops (Joe and John) Ng Conf (Joe) Toby Chrome plug-in (Lukas) The Cook, The Thief, His Wife, and Her Lover (Ward) Ng Cruise (Alyssa) Egghead.io (Alyssa) Newsfeed Eradicator (Charles) Echo Dot (Charles) Ethics in the Real World by Peter Singer (Victor)
1:50 - Introducing Jeff Whelpley at Angular Remote Conf Twitter Github Angular Air 3:40 - Working on Angular Air 6:25 - Lessons from Ben Lesh Episode Link 8:20 - Lessons from Gleb Bahmutov Episode Link 11:50 - Lessons from Aaron Frost Episode Link 14:00 - Lessons from Shai Reznik Episode Link 16:50 - Lessons from Joe Eames Episode Link 19:10 - Lessons from Uri Goldshtein 21:40 - Lessons from Wesley Cho and Jesus Rodriguez Episode Link 25:40 - Lessons from Brad Green 28:50 - Lessons from Igor Minar 31:40 - Lessons from Victor Savkin and Dan Abramov Episode Link 34:30 - Lessons from Amy Knight 36:05 - Lessons from Patrick Stapleton 39:00 - Lessons from Jamie King and Kyle Newman Fanboys movie Episode Link
1:50 - Introducing Jeff Whelpley at Angular Remote Conf Twitter Github Angular Air 3:40 - Working on Angular Air 6:25 - Lessons from Ben Lesh Episode Link 8:20 - Lessons from Gleb Bahmutov Episode Link 11:50 - Lessons from Aaron Frost Episode Link 14:00 - Lessons from Shai Reznik Episode Link 16:50 - Lessons from Joe Eames Episode Link 19:10 - Lessons from Uri Goldshtein 21:40 - Lessons from Wesley Cho and Jesus Rodriguez Episode Link 25:40 - Lessons from Brad Green 28:50 - Lessons from Igor Minar 31:40 - Lessons from Victor Savkin and Dan Abramov Episode Link 34:30 - Lessons from Amy Knight 36:05 - Lessons from Patrick Stapleton 39:00 - Lessons from Jamie King and Kyle Newman Fanboys movie Episode Link
1:50 - Introducing Jeff Whelpley at Angular Remote Conf Twitter Github Angular Air 3:40 - Working on Angular Air 6:25 - Lessons from Ben Lesh Episode Link 8:20 - Lessons from Gleb Bahmutov Episode Link 11:50 - Lessons from Aaron Frost Episode Link 14:00 - Lessons from Shai Reznik Episode Link 16:50 - Lessons from Joe Eames Episode Link 19:10 - Lessons from Uri Goldshtein 21:40 - Lessons from Wesley Cho and Jesus Rodriguez Episode Link 25:40 - Lessons from Brad Green 28:50 - Lessons from Igor Minar 31:40 - Lessons from Victor Savkin and Dan Abramov Episode Link 34:30 - Lessons from Amy Knight 36:05 - Lessons from Patrick Stapleton 39:00 - Lessons from Jamie King and Kyle Newman Fanboys movie Episode Link
1:50 - Introducing Torgeir Helgevold Blog Github Twitter 3:05 - Defining and using Web Worker 8:55 - Web Worker and value communication between threads 15:05 - Booting an app in Web Worker vs a browser 20:15 - Web Worker and mobile browsers 23:55 - Reality and perception of running apps on mobile devices 29:00 - Multi-threading and Web Workers Picks: Angular NgModule Doc (John) Tinker Crate (John) Angular 2 Router by Victor Savkin (Lukas) “Out of the Tar Pit” by Ben Moseley and Peter Marks (Lukas) Hardcore Henry (Joe) Vid Angel (Joe) Angular 2 Class with John Pop and Dan Moleen. Use code “AIA” for $200 off registration (Joe) Angular 2 Gitter chat (Tor)
1:50 - Introducing Torgeir Helgevold Blog Github Twitter 3:05 - Defining and using Web Worker 8:55 - Web Worker and value communication between threads 15:05 - Booting an app in Web Worker vs a browser 20:15 - Web Worker and mobile browsers 23:55 - Reality and perception of running apps on mobile devices 29:00 - Multi-threading and Web Workers Picks: Angular NgModule Doc (John) Tinker Crate (John) Angular 2 Router by Victor Savkin (Lukas) “Out of the Tar Pit” by Ben Moseley and Peter Marks (Lukas) Hardcore Henry (Joe) Vid Angel (Joe) Angular 2 Class with John Pop and Dan Moleen. Use code “AIA” for $200 off registration (Joe) Angular 2 Gitter chat (Tor)
1:50 - Introducing Torgeir Helgevold Blog Github Twitter 3:05 - Defining and using Web Worker 8:55 - Web Worker and value communication between threads 15:05 - Booting an app in Web Worker vs a browser 20:15 - Web Worker and mobile browsers 23:55 - Reality and perception of running apps on mobile devices 29:00 - Multi-threading and Web Workers Picks: Angular NgModule Doc (John) Tinker Crate (John) Angular 2 Router by Victor Savkin (Lukas) “Out of the Tar Pit” by Ben Moseley and Peter Marks (Lukas) Hardcore Henry (Joe) Vid Angel (Joe) Angular 2 Class with John Pop and Dan Moleen. Use code “AIA” for $200 off registration (Joe) Angular 2 Gitter chat (Tor)
53 ngAir - Angular 2 Reactive Redux with Victor Savkin and Dan Abramov What is state? Is there a difference between UI state and persisted state? What problems do people run into with state? Why is it hard to manage state? How to keep the state on the client in sync with the state on the server? What are the popular patterns for managing state? What is used in Angular 1? Difference between the core ideas and implementations What does unidirectional mean? What is Redux? Benefits of redux and similar patterns Is redux for sync state updates only and is making an HTTP request considered a non-pure inside a reducer function? What is ngrx? How is the reactive version of redux different than traditional Redux? What are your feelings on setting change detection strategy to OnPush? How would one go about debugging the state changes in Angular2? Other general questions Thoughts on cycle.js? There is a pattern in Redux if you have the same object in multiple places, you use _id in everything but one. How would this work with ngrx or another reactive approach? (custom pipe and helpers?) Rob/Victor: I was starting to think about an Angular 2 decorator that does something similar to the React Redux connect() function but then Rob said it was a bad idea because it will mess with precompilation. What is the deal? Predictions for the future What approach will Angular 2 developers adopt? Will a reactive version of redux gain any traction in the React world? Tips & Picks Jeff Whelpley Links: Tips: Picks: Our new sponsor, [Auth0](https://auth0.com/) Victor Savkin Links: [Managing State in Angular 2 Apps.] ( http://victorsavkin.com/post/137821436516/managing-state-in- angular-2-applications) Tips: AceJump a great plugin for WebStorm. Picks: Kurt Vonnegut "Mother Night", Brad Mehldau "10 Years Solo Live", Woody Allen "Manhattan Murder Mystery" Gleb Bahmutov Links: [Rob Warmald’s talks] (http://www.roblog.io/angular2/talks/2015/11/29/angular2-data-talks.html) - Angular 2 data flow with nice examples Tips: Everything in your application could be a source of events: button clicks, mouse movements, messages from the server, timer, etc. Dan Abramov Tips: No boilerplates Picks: [Redux Saga](https://github.com/yelouafi/redux-saga) [aphrodite](https://github.com/Khan/aphrodite) Patrick Stapleton Picks: [What’s new in Webpack 2] (https://gist.github.com/sokra/27b24881210b56bbaff7) Angular Air is a video podcast all about Angular hosted by Jeff Whelpley. Please visit the Angular Air website (http://angularair.com) to see upcoming and past episodes. Also be sure to follow Angular Air on Twitter and Google+ to stay up to date with future episodes. Also, all episodes are on the YouTube channel as well. AngularClass Learn AngularJS, Angular 2, and Modern Web Development form the best. Looking for corporate Angular training, want to host us, or Angular consulting? twitter: @AngularClass email: info@angularclass.com chat: Join AngularClass Chat --- Support this podcast: https://anchor.fm/angularair/support
Check out Freelance Remote Conf! And while you’re there take a look at all of this year’s conferences! 02:42 - Angular 2 Beta and Projected Release Talk ng-conf ?? 06:52 - Payload Size 07:56 - Preparing For Angular 2 13:31 - Application Capability 17:06 - Language Dart TypeScript 17:33 - Releasing Angular 1 vs 2 Syntax New A2 Syntax Tooling 27:10 - angular-cli 28:31 - The Designer Story Inline Templates UI Components 34:57 - Promises and Observables 40:55 - The Router Lazy Loading 48:43 - Angular 2 Myths: Busted 53:22 - React, React Native Telerik NativeScript React Native Radio 55:37 - Angular Guidance; OO-Style or Functional App Architecture? Victor Savkin’s Blog Made with Angular 01:01:19 - Angular 1 => 2 Migration ng-upgrade ng-forward 01:04:17 - The Angular Community and Upcoming Conferences and Announcements Jules Kremer That Conference Picks a2-in-memory-web-api (John) John Papa’s Upcoming Angular 2 Pluralsight Course (John) Julia Gillard (Ward) Bryce Canyon National Park (Joe) Stockpile (Joe) ngrx (Lukas) The Revenant (Brian) ServiceWorker: Revolution of the Web Platform (Brian) The Architecture of Open Source Applications (Igor) iPad Pro (Igor) Apple Pencil (Igor) Paper & Pencil by FiftyThree (Igor) Mandy Moore (Chuck) Federico Iachetti (Chuck)
Check out Freelance Remote Conf! And while you’re there take a look at all of this year’s conferences! 02:42 - Angular 2 Beta and Projected Release Talk ng-conf ?? 06:52 - Payload Size 07:56 - Preparing For Angular 2 13:31 - Application Capability 17:06 - Language Dart TypeScript 17:33 - Releasing Angular 1 vs 2 Syntax New A2 Syntax Tooling 27:10 - angular-cli 28:31 - The Designer Story Inline Templates UI Components 34:57 - Promises and Observables 40:55 - The Router Lazy Loading 48:43 - Angular 2 Myths: Busted 53:22 - React, React Native Telerik NativeScript React Native Radio 55:37 - Angular Guidance; OO-Style or Functional App Architecture? Victor Savkin’s Blog Made with Angular 01:01:19 - Angular 1 => 2 Migration ng-upgrade ng-forward 01:04:17 - The Angular Community and Upcoming Conferences and Announcements Jules Kremer That Conference Picks a2-in-memory-web-api (John) John Papa’s Upcoming Angular 2 Pluralsight Course (John) Julia Gillard (Ward) Bryce Canyon National Park (Joe) Stockpile (Joe) ngrx (Lukas) The Revenant (Brian) ServiceWorker: Revolution of the Web Platform (Brian) The Architecture of Open Source Applications (Igor) iPad Pro (Igor) Apple Pencil (Igor) Paper & Pencil by FiftyThree (Igor) Mandy Moore (Chuck) Federico Iachetti (Chuck)
Check out Freelance Remote Conf! And while you’re there take a look at all of this year’s conferences! 02:42 - Angular 2 Beta and Projected Release Talk ng-conf ?? 06:52 - Payload Size 07:56 - Preparing For Angular 2 13:31 - Application Capability 17:06 - Language Dart TypeScript 17:33 - Releasing Angular 1 vs 2 Syntax New A2 Syntax Tooling 27:10 - angular-cli 28:31 - The Designer Story Inline Templates UI Components 34:57 - Promises and Observables 40:55 - The Router Lazy Loading 48:43 - Angular 2 Myths: Busted 53:22 - React, React Native Telerik NativeScript React Native Radio 55:37 - Angular Guidance; OO-Style or Functional App Architecture? Victor Savkin’s Blog Made with Angular 01:01:19 - Angular 1 => 2 Migration ng-upgrade ng-forward 01:04:17 - The Angular Community and Upcoming Conferences and Announcements Jules Kremer That Conference Picks a2-in-memory-web-api (John) John Papa’s Upcoming Angular 2 Pluralsight Course (John) Julia Gillard (Ward) Bryce Canyon National Park (Joe) Stockpile (Joe) ngrx (Lukas) The Revenant (Brian) ServiceWorker: Revolution of the Web Platform (Brian) The Architecture of Open Source Applications (Igor) iPad Pro (Igor) Apple Pencil (Igor) Paper & Pencil by FiftyThree (Igor) Mandy Moore (Chuck) Federico Iachetti (Chuck)
02:07 - Uri Goldshtein Introduction Twitter GitHub LinkedIn MindMeister 02:27 - What is Meteor? angular-meteor 03:23 - The Meteor Company 03:54 - Structure & Deployment Matt DeBergalis: What's coming in Meteor 1.2, and beyond 11:51 - Revenue Story (Scaling) Galaxy 13:44 - Sync/Client-side Cache 19:19 - How Does Angular Work with DDP? 22:43 - Angular 2.0 angular-meteor: angular2 26:02 - Observables Jafar Husain at MWJS on Observables Gleb Bahmutov at MWJS (Journey from procedural to reactive JavaScript with stops) 30:48 - Publish Functions 36:09 - Client-side (Cont’d) GroundDB More Resources Uri Goldshtein: Angular-Meteor - Angular2, migration and Angular-Server @ ng-vegas 2015 Angular Tutorial on the Meteor Site Angular-Server Uri Goldshtein: Thoughts on angular-meteor as a great MEAN Stack David Yahalomi: When a Meteor finally hits production Matt Debergalis: The design and implementation of the Meteor platform Sashko Stubailo: Optimistic UI with Meteor Telescope Meteor Roadmap | Trello How to Meteor is production Forbes article about Meteor JavaScript Jabber Episode #076: Meteor.js with Marcus Phillips and Fred Zirdung Picks AngularConnect (Joe) ng-click.com (Joe) mdn.io (Joe) Ward and Victor Savkin's Angular 2 Samples (Ward) Downcast (Chuck) iPhone 6 Plus (Chuck) Côte&Ciel Isar Rucksack (Uri) Solar Panel for Bag (Uri) Angular-Meteor - Angular2, migration and Angular-Server (Uri @ ng-vegas 2015) (Uri)
02:07 - Uri Goldshtein Introduction Twitter GitHub LinkedIn MindMeister 02:27 - What is Meteor? angular-meteor 03:23 - The Meteor Company 03:54 - Structure & Deployment Matt DeBergalis: What's coming in Meteor 1.2, and beyond 11:51 - Revenue Story (Scaling) Galaxy 13:44 - Sync/Client-side Cache 19:19 - How Does Angular Work with DDP? 22:43 - Angular 2.0 angular-meteor: angular2 26:02 - Observables Jafar Husain at MWJS on Observables Gleb Bahmutov at MWJS (Journey from procedural to reactive JavaScript with stops) 30:48 - Publish Functions 36:09 - Client-side (Cont’d) GroundDB More Resources Uri Goldshtein: Angular-Meteor - Angular2, migration and Angular-Server @ ng-vegas 2015 Angular Tutorial on the Meteor Site Angular-Server Uri Goldshtein: Thoughts on angular-meteor as a great MEAN Stack David Yahalomi: When a Meteor finally hits production Matt Debergalis: The design and implementation of the Meteor platform Sashko Stubailo: Optimistic UI with Meteor Telescope Meteor Roadmap | Trello How to Meteor is production Forbes article about Meteor JavaScript Jabber Episode #076: Meteor.js with Marcus Phillips and Fred Zirdung Picks AngularConnect (Joe) ng-click.com (Joe) mdn.io (Joe) Ward and Victor Savkin's Angular 2 Samples (Ward) Downcast (Chuck) iPhone 6 Plus (Chuck) Côte&Ciel Isar Rucksack (Uri) Solar Panel for Bag (Uri) Angular-Meteor - Angular2, migration and Angular-Server (Uri @ ng-vegas 2015) (Uri)
02:07 - Uri Goldshtein Introduction Twitter GitHub LinkedIn MindMeister 02:27 - What is Meteor? angular-meteor 03:23 - The Meteor Company 03:54 - Structure & Deployment Matt DeBergalis: What's coming in Meteor 1.2, and beyond 11:51 - Revenue Story (Scaling) Galaxy 13:44 - Sync/Client-side Cache 19:19 - How Does Angular Work with DDP? 22:43 - Angular 2.0 angular-meteor: angular2 26:02 - Observables Jafar Husain at MWJS on Observables Gleb Bahmutov at MWJS (Journey from procedural to reactive JavaScript with stops) 30:48 - Publish Functions 36:09 - Client-side (Cont’d) GroundDB More Resources Uri Goldshtein: Angular-Meteor - Angular2, migration and Angular-Server @ ng-vegas 2015 Angular Tutorial on the Meteor Site Angular-Server Uri Goldshtein: Thoughts on angular-meteor as a great MEAN Stack David Yahalomi: When a Meteor finally hits production Matt Debergalis: The design and implementation of the Meteor platform Sashko Stubailo: Optimistic UI with Meteor Telescope Meteor Roadmap | Trello How to Meteor is production Forbes article about Meteor JavaScript Jabber Episode #076: Meteor.js with Marcus Phillips and Fred Zirdung Picks AngularConnect (Joe) ng-click.com (Joe) mdn.io (Joe) Ward and Victor Savkin's Angular 2 Samples (Ward) Downcast (Chuck) iPhone 6 Plus (Chuck) Côte&Ciel Isar Rucksack (Uri) Solar Panel for Bag (Uri) Angular-Meteor - Angular2, migration and Angular-Server (Uri @ ng-vegas 2015) (Uri)
Angular 2 Forms - We'll be joined by Victor Savkin who is leading the development on Angular 2 Forms. He'll give us the low-down on what we need to know about forms in Angular 2. It's pretty different from Angular 1, so this is definitely a show you do not want to miss. Guest: Victor Savkin Panelists: Aimee Knight, PatrictJS, and Jeff Whelpley Picks/Tips: Victor - Onirim Card Game, Reading CS Papers (article) Kent - React Podcast Episode 2: Webpack vs. Browserify, Snap CI (and my blog post on Continuous Delivery) Aimee - NomadJS Patrick - Angular 2 Server Rendering, RxJS, FalcorJS Jeff - angular-formly, AngularU Angular Air is a video podcast all about Angular hosted by egghead.io instructor Kent C. Dodds. Please visit the Angular Air website (http://angular-air.com) to see upcoming and past episodes. Also be sure to follow Angular Air on Twitter and Google+ to stay up to date with future episodes. Also, all episodes are on the YouTube channel as well. --- Support this podcast: https://anchor.fm/angularair/support
02:07 - Victor Savkin Introduction Twitter GitHub Blog 02:30 - Dependency Injection (DI) “Inject By Type” Other Project Use di.js 06:54 - How Angular Uses Dependency Injection Angular 1 vs Angular 2 Annotations Decorating Classes to Become Injectables Example Injectable Class Mechanisms in Angular 1 13:06 - Lazy Loading 16:14 - Testing 18:02 - Change Detection Victor Savkin: Change Detection in Angular 2 [YouTube] Change Detection Reinvented by Victor Savkin @ ng-conf 2015 24:33 - Components & Immutability immutable-js 28:08 - Scope zone.js [YouTube] Zones by Brian Ford @ ng-conf 2014 angular/zone.js 30:28 - Binding Action Phase/Control Phase Production Mode/Dev Mode Victor Savkin: Two Phases of Angular 2 Applications Picks My Story by Elizabeth Smart (Aaron) Shawarma (Joe) Home (Katya) Mulan (Katya) How to Win Friends & Influence People by Dale Carnegie (Chuck) WorkFlowy (Chuck) Habit Stacking: 97 Small Life Changes That Take Five Minutes or Less by S.J. Scott (Chuck) Mini Habits: Smaller Habits, Bigger Results by Stephen Guise (Chuck) Android: Netrunner Card Game (Victor) Mechanical Keyboards (Victor)
02:07 - Victor Savkin Introduction Twitter GitHub Blog 02:30 - Dependency Injection (DI) “Inject By Type” Other Project Use di.js 06:54 - How Angular Uses Dependency Injection Angular 1 vs Angular 2 Annotations Decorating Classes to Become Injectables Example Injectable Class Mechanisms in Angular 1 13:06 - Lazy Loading 16:14 - Testing 18:02 - Change Detection Victor Savkin: Change Detection in Angular 2 [YouTube] Change Detection Reinvented by Victor Savkin @ ng-conf 2015 24:33 - Components & Immutability immutable-js 28:08 - Scope zone.js [YouTube] Zones by Brian Ford @ ng-conf 2014 angular/zone.js 30:28 - Binding Action Phase/Control Phase Production Mode/Dev Mode Victor Savkin: Two Phases of Angular 2 Applications Picks My Story by Elizabeth Smart (Aaron) Shawarma (Joe) Home (Katya) Mulan (Katya) How to Win Friends & Influence People by Dale Carnegie (Chuck) WorkFlowy (Chuck) Habit Stacking: 97 Small Life Changes That Take Five Minutes or Less by S.J. Scott (Chuck) Mini Habits: Smaller Habits, Bigger Results by Stephen Guise (Chuck) Android: Netrunner Card Game (Victor) Mechanical Keyboards (Victor)
02:07 - Victor Savkin Introduction Twitter GitHub Blog 02:30 - Dependency Injection (DI) “Inject By Type” Other Project Use di.js 06:54 - How Angular Uses Dependency Injection Angular 1 vs Angular 2 Annotations Decorating Classes to Become Injectables Example Injectable Class Mechanisms in Angular 1 13:06 - Lazy Loading 16:14 - Testing 18:02 - Change Detection Victor Savkin: Change Detection in Angular 2 [YouTube] Change Detection Reinvented by Victor Savkin @ ng-conf 2015 24:33 - Components & Immutability immutable-js 28:08 - Scope zone.js [YouTube] Zones by Brian Ford @ ng-conf 2014 angular/zone.js 30:28 - Binding Action Phase/Control Phase Production Mode/Dev Mode Victor Savkin: Two Phases of Angular 2 Applications Picks My Story by Elizabeth Smart (Aaron) Shawarma (Joe) Home (Katya) Mulan (Katya) How to Win Friends & Influence People by Dale Carnegie (Chuck) WorkFlowy (Chuck) Habit Stacking: 97 Small Life Changes That Take Five Minutes or Less by S.J. Scott (Chuck) Mini Habits: Smaller Habits, Bigger Results by Stephen Guise (Chuck) Android: Netrunner Card Game (Victor) Mechanical Keyboards (Victor)