Harini Kannan on React Native - Episode 129

Joining Jeffrey today is Harini Kannan! Harini is a Program Manager in the Windows Developer Experiences and Platform team — a fast-moving and exciting team at Microsoft! Her team's charter influences a lot of different technologies from WinUI to XAML to WPF to React Native for Windows, and more! Their team connects everything around enabling the Windows native UI stack to be the best, most powerful, and the most modern technology that people can target to build really solid apps for Windows. They're always jumping on the latest technology and trying to give people the latest stuff with the best quality!

Over the last two years, the team has been building an incredible, one-of-a-kind collaboration across many other teams within Microsoft, with the goal of bringing React Native to Windows.

In their conversation together, Jeffrey and Harini dive into everything that her team does regarding React Native (as well as lots of other topics when it comes to rich and stateful native applications!) She shares how to build, deploy, and operate with React Native for Windows, the team's journey of adapting React Native to work on Windows, and shares her recommendations on getting started.

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[1:00] About The Azure DevOps Podcast, Clear Measure, and Jeffrey's offer to speak at virtual user groups.

[1:20] Clear Measure is hiring! Be sure to check out the link in the show notes.

[1:29] About Jeffrey's newest podcast, Architect Tips! If you would like your question to be answered on Architect Tips, you can submit it at: ArchitectTips.ClearMeasure.com!

[1:47] About today's episode with Harini Kannan.

[2:12] Jeffrey welcomes Harini to The Azure DevOps Podcast.

[2:10] Harini gives a rundown of what she does within the Windows Developer Experiences and Platform team and what the team is currently focusing on.

[4:18] Harini introduces herself, shares career highlights, and how she has arrived at Microsoft in her current role.

[5:44] Over the last decade, the development technologies have fallen out of the forefront. Would Harini say that it is truly coming back?

[7:58] What is React Native?

[9:08] Harini shares about the team's journey of adapting React Native to work on Windows.

[9:47] Harini shares a public example of React Native apps for Windows.

[11:19] When it comes to React Native, does it matter what you have on the server-side or what it calls out to?

[11:32] What does the common integrated development environment (IDE) look like for React Native? What does the code structure look like when put in source control?

[13:56] Is the general layout HTML and CSS?

[15:07] For automated testing, do the Javascript testing libraries work? And for the things that are intertwined with those controls, where you have to have the application running, what is the applicable testing scenario? And what are the tools that work? How does this all play out in this application type?

[16:31] Full system testing has been one of those things that still isn't finished. Harini shares her comments and insights on this topic and where she sees the future of full system testing going.

[18:35] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[19:05] When packaging up a React Native application, is there anything special that one thinks about across Android, IoS, and Windows, when preparing that build for deployment into the app stores?

[20:00] What does it mean to embed into a Windows Native app? What does that look like?

[22:21] How much of React Native is Javascript or Typescript translated to Javascript?

[23:13] Are most of the apps that Harini has spoken about thus far, Typescript?

[23:30] When does Harini recommend Typescript over Javascript?

[24:25] What are some of the ways to get these apps on Windows computers?

[25:05] What does the telemetry or the observability story look like for React Native? What might have special support in React Native from knowing what your users are doing?
[26:45] How should people think about feature flags with React Native?

[28:10] What's next for React Native?

[30:33] How React Native interacts with Xamarin.

[31:55] Does Harini have any insider information on why some people choose another technology over React Native?

[34:26] Harini recommends some go-to resources to learn more!

[35:40] Jeffrey thanks Harini Kannan for joining the podcast!

Mentioned in this Episode:

Architect Tips — New video podcast!

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow
React Native

React Native Windows

WinUI

XAML

WPF

Silverlight

Xbox Game Pass

Visual Studio Code (VSCode)

Yoga Layout
Jest

WinAppDriver

Appium

The Azure DevOps Podcast Ep.80: "Ryan Demopoulos on WinUI"

Typescript

Xamarin
React Native at Microsoft on Twitter @ReactNativeMFST

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 36:18, 34.8 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Simon Timms on Microservices Architecture — Episode 128

This week, Jeffrey is joined by return guest, Simon Timms, to discuss microservices architecture.

Simon Timms is a long-time freelance Software Engineer, multi-time Microsoft MVP co-host of ASP.NET Monsters on Channel 9, and also runs the Function Junction Youtube channel. He considers himself a generalist with a history of working in a diverse range of industries. He's personally interested in A.I., DevOps, and microservices; and is skilled in Software as a Service (SaaS), .NET Framework, Continuous Integration, C#, and JavaScript. He's also written two books with Packt Publishing: Social Data Visualization with HTML5 and JavaScript and Mastering JavaScript Design Patterns.

Two years ago when Simon was last on The Azure DevOps Podcast, he and Jeffrey discussed Azure Functions and Processes. In their conversation today, they're focusing on all things microservice-related. Simon has done a lot of work in the space of microservices and has a lot of insight on best practices; when (and when not) to use it; how you run it in production; how to build, test, configure, and deploy; what a visual structure solution looks like for a microservice; how to make a decision if you're looking at a software system; and much more. If you've been wanting to learn more about microservices architecture, this is a not-to-miss episode!

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[1:00] About The Azure DevOps Podcast, Clear Measure, and Jeffrey's offer to speak at virtual user groups.

[1:45] Clear Measure is hiring! Be sure to check out the link in the show notes.

[1:55] About Jeffrey's newest podcast, Architect Tips!

[2:19] About today's episode with Simon Timms.

[2:51] Jeffrey welcomes Simon to The Azure DevOps Podcast.

[3:38] About today's discussion with Simon on microservices.

[4:54] Microservices: what it is and how it is different from simply splitting up a system into multiple applications.

[7:43] Does a microservice architecture have its own version control repository?

[8:45] Does Simon tend to have a microservice in its own version control repository, or, does he tend to have many microservices in the same version control repository?

[9:38] What are shared dependencies? What does that mean in the context of microservice architecture?

[12:26] Key tenets to keep in mind if you're going to use microservices.

[15:09] How to identify if utilizing microservices is the right (or wrong) architecture pattern for what it is that you're doing.

[19:53] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[20:26] What is and isn't considered a microservice?

[25:02] What would cause you to choose one protocol/type of web service/messaging queue over another?

[27:40] If Simon was to start a project today, would he say that there is a go-to way to do asynchronous queue-based messaging?

[31:35] For someone new to the space of microservices, would Simon recommend NServiceBus as a good start?

[33:57] With each different version, do control repositories have their own DevOps pipeline?

[34:55] Is there a product or a method that works great when you have half a dozen independent programs running?

[38:18] Simon's recommendations on further resources to check out to learn more.

[40:12] Jeffrey thanks Simon for joining the podcast once again!

Mentioned in this Episode:

Architect Tips — New video podcast!

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

Simon Timms (Blog)

Social Data Visualization with HTML5 and JavaScript, by Simon Timms

Mastering JavaScript Design Patterns, by Simons Timms

Function Junction Youtube Channel

ASP.NET Monsters

The Azure DevOps Podcast Ep. 23: "Simon Timms on Azure Functions and Processes"

NServiceBus

Azure Application Insights

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 40:53, 39.2 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Jeff Fritz on Blazor Webassembly Architecture - Episode 127

Jeff Fritz is joining the podcast today! This is his second guest appearance. He is an experienced developer, technical educator and PM on the .NET team at Microsoft. He founded The Live Coders team on Twitch, and regularly livestreams builds of websites and fun applications. You can follow Jeff for more .NET, .NET Core and Visual Studio content on Twitch and Twitter at @csharpfritz.

In this episode, Jeff talks about what you're missing out when it comes to Blazor web assembly and Blazor server side. Jeff has been getting a lot of skeptical comments lately on whether this .net application is ready for the real deal, and he shares his opinions for what it's most useful for. He also has a live project that you can check out and beta test! Listen in as Jeff talks deployment and the future of where this application is headed.

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[1:00] About The Azure DevOps Podcast, Clear Measure, and Jeffrey's offer to speak at virtual user groups.

[1:20] Clear Measure is hiring! Be sure to check out the link in the show notes.

[1:30] About Jeffrey's newest podcast, Architect Tips!

[1:59] About today's episode with return guest, Jeff Fritz!

[2:35] Jeffrey welcomes Jeff back on to the podcast.

[3:15] Jeff shares what he's currently up to and why he's currently obsessed with live streaming.

[6:45] Both Jeffery and Jeff can't wait to get back to live conferences when this is all over.

[7:45] Jeff kid's are currently doing online school and they're missing the social interactions.

[8:45] Is .Net Blazor really ready for primetime?

[10:35] Nothing is an overnight success. Let's give Blazor some breathing room to see how it matures.

[11:20] Jeff shares some of the fun things he's been doing with Blazor.

P12:55] What's the difference between the web assembly version vs. the server version, and when should you be using which?

[14:40] What makes Blazor different from other .Net apps?

[18:05] How do successfully connect and deploy this application?

[24:00] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[24:40] Do we need to be thinking about containers when it comes to Blazor? Jeff argues it's even simpler than that.

[27:05] Jeff breaks down the compatibility level of Blazor web assembly.

[28:05] Blazor web assembly not compatible with your particular use case? You can convert it on server side for more flexibility.

[29:35] Jeff shares some of the projects he's currently working on.

[33:05] Listener challenge! Test out Jeff's project.

[37:30] We have a whole generation of web developers that have grown up on 'web for everything'. However, as an industry, we're slowly going back to native client applications.

[39:30] Jeffrey shares what excites him about Blazor the most.

[41:25] Jeffrey thanks James for joining the podcast.

Mentioned in this Episode:

Architect Tips — New video podcast!

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

Jeffreyfritz.com

Kliptok.com

Twitch: @csharpfritz

Twitter: @csharpfritz

Blazortrain.com

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 42:17, 40.6 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

James Avery on Optimizing the Engineering Team Structure - Episode 126

Joining the podcast once again is return guest, James Avery! James is the Founder and CEO of Kevel, previously known as Adzerk. Kevel is the next generation of publisher ad serving; offering the infrastructure APIs needed to quickly build custom ad platforms for sponsored listings, internal promotions, native ads, and more. It's built to be faster, easier to use, and more comprehensive than anything on the market today.

James originally started Kevel back in 2010, FTPing files up to an IaaS VM, and now he has a whole team and receives 3 billion requests per day! In this episode, he shares the story of Kevel, his unique take on how to structure a software engineering organization, how to align the dev organization with the architecture, and how to scale a custom index with a large number of ads.

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[1:00] About The Azure DevOps Podcast, Clear Measure, and Jeffrey's offer to speak at virtual user groups.

[1:20] Clear Measure is hiring! Be sure to check out the link in the show notes.

[1:30] About Jeffrey's newest podcast, Architect Tips!

[1:59] About today's episode with return guest, James Avery!

[2:30] Jeffrey welcomes James back on to the podcast.

[2:42] James shares the story of his company, Kevel, and what they do.

[5:21] Do they source the ads themselves at Kevel? What does the customer do on their own?

[6:33] Micro-blogging (such as Twitter) killed long-form blogging. Does James think long-form blogging may make a comeback?

[8:00] Jeffrey and James talk censorship.

[10:35] Discussing different analogies for architecture.

[13:17] James gives an overview of the technology stack that's under the covers in Kevel.

[14:42] In AWS, how does James reason around regions, disaster recovery, etc?

[15:54] James touches on AWS' past and current reliability.

[17:29] How many running processes makes the whole system of Kevel work?

[18:40] How many engineers are part of the Kevel team?

[19:02] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[19:35] James shares his unique take and philosophy on how to structure a software engineering organization.

[26:48] James shares what the approach has been to test at various levels.

[29:59] James shares some key lessons they learned from working in a high-scalability environment.

[31:39] Kevel has a massive amount of data and has tons of indexing. How much is in memory versus them utilizing storage providers?

[35:29] Jeffrey thanks James for joining the podcast.

Mentioned in this Episode:

Architect Tips — New video podcast!

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

James Avery

The Azure DevOps Podcast Ep. 51: "James Avery on Scaling to 3 Billion Requests Per Day"

The Azure DevOps Podcast Ep. 124: "Charles Flatt on Learning as a Developer"

INSPIRED: How to Create Tech Products Customers Love, by Marty Cagan

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 36:59, 35.5 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site