AiA 256: Debunking Monorepo Myths  with Victor Savkin

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.Panelists
  • Jennifer Wadella
  • Brian Love
  • Shai Reznik
  • Alyssa Nicoll
Guest
  • Victor Savkin
Sponsors LinksPicksBrain Love:Alyssa Nicoll:
  • Caffeine Content Warning!
Jennnifer Wadella:
  • The Fall Season
  • NGD Conf
  • Laptop Safety at Conferences
Victor Savkin:Shai Reznik: Special Guest: Victor Savkin.

Advertising Inquiries: https://redcircle.com/brands

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.

Jaksot(468)

Angular Elements, Annex & Storybook with Brad McAlister - AiA 439

Angular Elements, Annex & Storybook with Brad McAlister - AiA 439

In this episode of Adventures in Angular, Brad McAlister joins our regular panelists: Alyssa, Chris, and Brooks! Brad walks us through his work of transitioning into an Annex Monorepo and how working ...

9 Tammi 202551min

How to Get a 60% Performance Gains with Push Pipe featuring Michael Hladky - AiA 438

How to Get a 60% Performance Gains with Push Pipe featuring Michael Hladky - AiA 438

Michael Hladky joins the adventure to discuss how he's gotten a 60% performance increase using push pipe and related techniques.Many developers can get by without this technology, but Michael explains...

2 Tammi 202552min

Matchmaking NGXS and Firebase with Joaquin Cid - AiA 437

Matchmaking NGXS and Firebase with Joaquin Cid - AiA 437

Joaquin Cid is an Argentinian developer who has built a plugin for NGXS state library that allows developers to connect to Firebase and have their queries automatically import into NGXS. Further, it a...

26 Joulu 202455min

Practical Applications of RxJS in Angular Development - AiA 436

Practical Applications of RxJS in Angular Development - AiA 436

In today's episode, Lucas is joined by Jason Akbar, a full-stack software engineer who’s got a knack for front-end development. He recently penned some intriguing articles on Medium about RxJS operato...

19 Joulu 202423min

Azure Cognitive Services with Ankit Sharma - AiA 435

Azure Cognitive Services with Ankit Sharma - AiA 435

Ankit Sharma, an Angular GDE and author, joins us in this episode of Adventures in Angular to talk about using Azure cognitive services with Angular.Linkshttps://azure.microsoft.com/en-in/services/cog...

12 Joulu 202436min

Power Up Angular with RXjs with Armen Vardanyan - AiA 434

Power Up Angular with RXjs with Armen Vardanyan - AiA 434

Armen Vardanyan is an Armenian Angular developer who works extensively with both angular and RXjs. He walks Chuck through the ins and outs of how he uses RXjs to expand the functionality of his Angula...

5 Joulu 202457min

Getting your Components to Communicate with Ravi Veliyat - AiA 433

Getting your Components to Communicate with Ravi Veliyat - AiA 433

Ravi Veliyat helps train people in many web technologies, Angular being one of them. The panel discusses the various ways you can get your components to communicate, from inputs and outputs all the wa...

28 Marras 202450min

Managing and Capturing Errors in Angular ft. Philipp Kief - AiA 432

Managing and Capturing Errors in Angular ft. Philipp Kief - AiA 432

Philipp Kief is a German developer who walks through how to manage and capture errors in your Angular application and how to display them to users.He discusses how he standardized error handlers in hi...

21 Marras 202454min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
rss-rahapodi
mimmit-sijoittaa
rss-lahtijat
rahapuhetta
rss-draivi
rss-neuvottelija-sami-miettinen
rss-rahamania
rss-porssipuhetta
rss-bisnesta-bebeja
rss-paasipodi
rss-porssipodi
syo-nuku-saasta
pomojen-suusta
sijoituspodi
juristipodi
rss-paatos-podcast-suomen-kovimmat-paatoksentekijat-2
rss-seuraava-potilas
rss-40-ajatusta-aanesta