Audio file august-pod.mp3 Transcript 00:00:10 Matt Welcome everyone to the first ever DOT Net Maui podcast. We're here to keep you up to date with the latest and greatest with.net client development. We'll talk about some Azure, some Visual Studio and ofcourse.net Maui. I'm Matt. Soucoup. 00:00:30 David I'm James Montemagno and I'm David ort. 00:00:34 James David or and now special guest on the pod. 00:00:37 James Now this isn't like the first podcast we've ever done. 00:00:40 James This is the same RSS feed, same domain name that you can get there from other domain names, which I forgot what I registered, so we'll update those in the show notes. 00:00:49 Matt How about this one? 00:00:50 Matt James Xamarin podcast compat. 00:00:52 Matt That will lead to less than yeah. 00:00:52 James No, there we go. 00:00:54 James Perfect, that's what we should have renamed it to no, no, there's brand new artwork as well. So if you are inside of a podcast application like Pocket casts or overcast or other casts, type of applications that end with podcasts, you can go in and refresh the artwork and there's brand new beautiful.net Maui artwork. It happened. I'm really excited that. 00:01:15 James The developer division design team I ordered them over the last month and just some stunning stuff David approved and he's a designer, so David gave the thumbs up. 00:01:24 David I liked it. 00:01:25 David I I'm a design appreciator I know my way around some Adobe Creative Cloud suite stuff. 00:01:33 James That's all I can ask for. 00:01:34 James I always I always thought. 00:01:36 James And David went to do it, uh, life in the times of David Art. 00:01:39 James Now I always thought that. 00:01:40 James I mean, I knew that you were a developer, but I always thought that you were like a designer first. 00:01:44 James 'cause I remember you spoke at evolved 2016, 2014 at that, wasn't it all? Yeah look, I'm just showing off. 00:01:48 David All of the the evolves. 00:01:52 James Uhm, but you talked about design in your head. 00:01:56 James Well defined, that's got to be. 00:01:57 David On YouTube it is on YouTube. 00:02:00 David It's actually got quite a few views and it's probably one of my most favorite presentations I've ever given. 00:02:07 David Yeah, it. 00:02:08 David It's always been a passion of mine. 00:02:10 David I've worked with creative companies for the majority of my career, so working side by side with designers and kind of bridging the gap between what they conceptualize and what we're able to actually deliver using whatever technology we had at our fingertips. 00:02:26 David So it's A and something that I thought that a lot of developers could benefit from having a better understanding of design concepts. 00:02:34 David What you know, 'cause we can code something and make it work perfectly and nobody loves it. 00:02:39 David You want your stuff to be loved. 00:02:40 David So a lot of that comes down to the user experience and the design so. 00:02:46 James Well, I don't know if you saw me recently on the Twitters, I don't know if I have one of those. 00:02:49 James I follow one account just to join, but I I recently tweeted funny talk about design. 00:02:55 James I tweeted I had my my cadence happen. 00:02:57 James I was working on this as an app that I built and it connects little Bluetooth sensors for bike. 00:03:00 James Riding indoor bike riding and I was adding this history feature into the app and I did the traditional thing which is like. 00:03:08 James Here's a list view and here's a bunch of words in a card view. 00:03:11 James The card view looks nice, and I go. 00:03:14 James This looks terrible. 00:03:16 James I mean, it just looks terrible. 00:03:18 James And then I I tweeted out and I said my designers. 00:03:20 James But design, friends and engineers, anybody like please help me, please make this look better and well. 00:03:26 James I want to add a link to that so that week 'cause it was fun to watch the people that sent the inspiration from absent daylight apps that they've built was Xamarin forms and other apps that they've used. 00:03:37 James Like I said that displays similar information and. 00:03:40 James I just mostly changed the design language to be more visual icon based and made the numbers the important numbers shine and the relevant information, but for me I just yeah went to the old thing which was like I'm just gonna literally just sit there and plop words on a list and that works. 00:03:59 James But it's not a pleasant. 00:04:00 David User experience right now, and it's it's fun to to iterate over that right and to say, OK. 00:04:06 David Well, I'm going to change. 00:04:06 David Maybe the color of it, or use icons, or change the shape of it and and look for inspiration. 00:04:13 David I think the looking for inspiration can be just a great exercise that broadens your eyes. 00:04:17 David Listen, you can think of solving things in ways you never thought of before I I use Pinterest for that on occasion, and you know, it's not just for shopping for your dresses and your clothes and your jewelry or whatever, but you can go look at UI design and see what is hot and trending and come up with lots of really cool ideas like you turned me on to. 00:04:37 David Up labs while ago years ago probably. 00:04:41 David And that's a constant source for me to go see what designers are pumping out, how they're thinking about UI design, what's changing and trending. 00:04:50 James It is, it is a. 00:04:51 James It is definitely a website like up labs and dribble and all those. 00:04:56 James It's fun to to just go through the design like you said and watch the trends and watch gradients come in. 00:05:00 James Gradients go and rounded corners come and rounded corners go. 00:05:03 David Yeah, when you've been doing this for a while, you see you see the waves and. 00:05:08 David It'll it'll all come back eventually. 00:05:10 David Hopefully comes back better though, and yeah. 00:05:12 David And yeah, yeah. 00:05:13 James Yeah, now I know on the podcast we were just talking about this. 00:05:16 James So what makes the Donnelly podcast new? 00:05:18 James Well, like mass at the beginning you know we're gonna focus on allthings.net client development in and around Donna Maui. 00:05:24 James Still sprinkle in some address in Visual Studio, which we'll talk about quite a bit, but honestly, the other thing we want to do is, well, we've had David come on as special guests giving down in Maui updates. 00:05:32 James We'll be sitting down with. 00:05:33 James The engineers the PM's behind the product and doing some special. 00:05:38 James Sort of interviews with them on the podcast every single month, including beyond that, all the stuff that Matt's been doing with actually talking to customers and developers using our tools to build awesome stuff. 00:05:50 James So definitely keep subscribe for all that good stuff, but let's just get into it. 00:05:53 James David, what you got for us? 00:05:54 James That now you up dude. 00:06:06 David Yeah, so I'll give you a quick update. So where we are right now we just shipped Preview 7 a few weeks back and so with.net Preview 7 comes a whole host of changes to. 00:06:17 David Net Maui and kind of really starts off with layouts, so if you've been checking out.net Maui. 00:06:25 David And say Preview 3 you've been using the layouts that came straight from Xamarin forms. 00:06:32 David And these are the layouts that work best with renderers, but we kind of made them work initially with handlers. 00:06:39 David The reason that's important is because for laying something out, you first have to measure. 00:06:43 David Then you have to position and you have to work up and down that visual tree to make sure everything sizes correctly and is where you want it. 00:06:52 David So, but that works differently between handlers and renderers. 00:06:55 David What we did here in Preview 7 is we replaced the existing forms based layouts with brand new Maui optimized layouts. 00:07:05 David There are some some primitive layouts such as vertical and horizontal stack layouts. 00:07:11 David We even have a draft. 00:07:12 David PR right now for AZ stackler. 00:07:15 David Out which is not committed to. 00:07:17 David It wasn't even something that we were planning on, but one of the engineers was working on it and said, hey. 00:07:21 James Comes out of the screen. 00:07:23 David Uh, yeah, you know if it can come out of the screen, go behind the screen. 00:07:26 David You can do all kinds of crazy crazy ordered things Z order being the depth of a visual element for those who that might be a new term for you. 00:07:35 David Uhm so so layouts are really all brand new essentially so. 00:07:41 David Uh, what that means is your preview 7 experience may look quite a bit different than Preview 6 and earlier, but the good news is that as we do subsequent releases and we go to GA, everything is going to get much better, and we're looking for some of the performance improvements. 00:07:59 David Some of the reliability improvements, you know. 00:08:01 David When you size something, you want it to be that size and that it really all comes down to the layout manager that does that work. 00:08:08 David We also leveled the defaults and So what I mean by that is when you have a stack layout and you set the spacing, the spacing by default in Xamarin forms was. 00:08:17 David 8 did you know that Matt? 00:08:19 David Did you know that? 00:08:19 Matt I thought it was seven but eight. 00:08:22 David You thought it was seven? 00:08:23 David Yeah, but no, it's eight and I think that gosh, there's a couple other defaults on like frames and grids and stuff like this. 00:08:31 David The The thing is that that was always confusing to developers. 00:08:35 David We heard often from from people that it was confusing. 00:08:38 David Why are these arbitrary values there? 00:08:40 David Just level it to 0? 00:08:43 David And so, interestingly, we did. 00:08:45 David That and the feedback has been pretty positive to that, so it's always funny to me. 00:08:51 David When you make a small change like that. 00:08:53 David That just clarifies everything, how, how excited developers get 'cause. 00:08:58 David Now you know what to expect. 00:08:59 David Some of the other stuff that was in there. 00:09:01 David We're not going to dwell on it too much here. 00:09:03 David 'cause the blog post covers this in more detail. 00:09:06 David We made some accessibility updates for semantic focus in announce, so this is primarily for screen readers. 00:09:14 David And we did actually remove 'cause we really tried to lock down the API in Preview 7, so no more API changes after Preview 7. 00:09:23 David So we took our last opportunity and we removed the TABINDEX and is tab stop from talking to customers that really focus heavily on hitting the highest level of accessibility rating for their apps. 00:09:34 David That these were not useful, and we're actually confusing and getting in the way, and so it's like, let's get rid of them. 00:09:41 David Let's do this right. 00:09:43 David And and then font scaling. 00:09:44 David This is a really another exciting one, so we've always had named fonts, so you could do large headline small things like this. 00:09:54 David But what if you just want your fonts to scale according to what the user has chosen for their device? 00:10:02 David I have relatives and family who their eyesight is not what it once was, and so they like to bump that font up on their phone. 00:10:10 David Well, you want your app to automatically account for that and then you'll have to do some additional work for layout to make sure that. 00:10:18 David Uh, resize is as it's. 00:10:20 David Good, so that's now supported by default. 00:10:23 David You can turn it on and turn it off. 00:10:26 David And that's all in Preview 7. One of the last things I'll mention about Preview 7 is we were very close to having.net Maui in the Visual Studio. 00:10:35 David 2022 installer but there were some late changes and things that made it not a good experience, so we decided to not ship it as part of preview. 00:10:45 David Three of visuals 2022. 00:10:48 David However, moving on to what you're going to see next in the next preview of Visual Studio, that all should land, so your setup and install experience should be really smooth. 00:11:00 David That means that you just install Visual Studio 2022 Preview 4. You get all the Maui stuff that you need, the emulators, the tooling, the SDK's, and you don't need to worry about Maui checking things or any of the command line stuff. That'll be a nice big improvement for those who have experienced. 00:11:20 David Review 7 00:11:21 David You know that the Maui Check Visual Studio experience was pretty disjointed and rough, and I know that several people have hit some. 00:11:29 David You know, like they had installed allthe.net six previews beforehand and when they went to preview seven, there was like Oh no everything is broken, so this this will be a nice improvement. 00:11:41 David Some some of the other stuff to look forward to. 00:11:43 David The hot reloads will be getting improved and more features will be landing in preview. 00:11:48 David Four of Visual Studio. 00:11:50 David And then in terms of SDK stuff layouts I've already mentioned still going to continue to get lots of love. 00:11:57 David You may have noticed that your layouts started looking different. 00:12:00 David We're going to be seeing a lot of improvements. 00:12:03 David Bug fixes Polish come to the layouts and then borders, corners and shadows. 00:12:07 David If anybody follows Javier Suarez Ruiz. 00:12:11 David He will frequently tweet out what he's working on, and it's some pretty cool, beautiful stuff for borders corners and shadows, borders and corners, you've been able to do in certain places, pieces and parts of Maui and Xamarin forms, but we're actually taking it to a whole another level here. 00:12:28 David We're standardizing it across all the layouts and controls. 00:12:31 David That support this feature. 00:12:33 David And then shadows would be whole all new so that those may not all land exactly at the same time. 00:12:39 David But I'm excited about them speaking. 00:12:41 David We're just talking to James about design and when's the last time you saw a design that didn't need a border, a corner or a? 00:12:48 James Shadow all of them do every single one. 00:12:51 James A quick question for you on some of these features on the font scaling on the phone. 00:12:56 James If I just if I just set my font to like large, is that on automatically? 00:12:59 James It's like the the system automatically? 00:13:02 James Does stuff or how's that work? 00:13:02 David So large will still work. 00:13:04 David What this is going to do, however the font scaling if you set your font to 18 and by default the is scaling enabled I think is. 00:13:13 David Or maybe it's is font scaling enabled? 00:13:15 David I can, but the property is actually called. 00:13:18 David It's on by default, so what's going to happen is if I go into my accessibility. 00:13:23 David Settings on my phone or my desktop for that matter, and I scale it up to 120%. 00:13:30 David Then that 18 is going to become whatever 120% is on that platform, right? And so therefore you can set your base size using device independent units. 00:13:34 James Got it cool. 00:13:42 James Perfect. 00:13:42 David And and then, yeah, get what you want. 00:13:44 David So I think it's a whole lot more flexible than you know 'cause. 00:13:47 David Who knows what LG is? 00:13:48 David Who knows what headline is? 00:13:50 David It's super arbitrary. 00:13:50 James True, yeah, that's true. 00:13:52 James Yeah, totally yeah, that's cool. 00:13:54 David Yeah, I think that's going to be a big one for folks. 00:13:57 David The the last thing I'll mention is that from here on through GA release bug, fixed bug, fixed bug, fixed bug, fixed bug fix on on the things related to Maui, there's certainly more work to be done to light up features like hot restart for iOS. 00:14:14 David Which is the ability for you to develop directly from Windows to any iOS device, No Mac involved in that process. 00:14:22 David So that is still yet to be lit up in Visual Studio. 00:14:26 David And then some of the single project property panels are being worked on to make sure that you have access to all of that stuff and then a lot of end to end testing scenarios, right? 00:14:36 David So you get the workflow for publishing your app. 00:14:39 David The workflow for debugging your app for adding and removing images, and all those sorts of things. 00:14:44 David We're working through all those scenarios. 00:14:46 David Testing everything, we're porting all the Xamarin forms samples that make sense. 00:14:51 David We're porting them to dot net Maui with the help. 00:14:53 David Of many PM, and hopefully I don't make it sound like I am doing all this work. 00:14:59 David This is clearly a lot of people doing a lot of work and so big big props to them also work on. 00:15:06 David Heck, the the project system team to make sure that our single project multitargeted thing builds optimally. 00:15:13 David Doesn't build all four projects at one time that's being worked. 00:15:17 David Uh, my migration assistant. 00:15:20 David We will be shipping hopefully very soon. 00:15:23 David I don't have a date yet, but maybe in the next few weeks a preview public preview of the Dot net upgrade assistant for Xamarin and Maui projects. 00:15:32 David So that'll be nice. 00:15:34 David You can migrate today by hand. 00:15:36 David We've got documentation. 00:15:37 David Posted for that it's not a laborious process, but the migration assistant will be a nice or yeah.net upgrade assistant. 00:15:44 David I call it a migration assistant. 00:15:46 David Yeah, yeah, whatever whatever you call it, it assists you and it. 00:15:51 David Yeah, let's be very useful so. 00:15:54 David That covers the highlights. 00:15:56 David There's tons more work to be done and in in flight and look forward to the next blog post where I try to figure out what's there and tell everybody how awesome it is. 00:16:08 James Yeah, well if you go to thedevblogs.microsoft.com, there's actually now a little dropdown on there that says Dot M Ali, so you can tap on that and a lot of the blogs are being all kind of migrated into the net blog. And then there's category filters. So if you're. 00:16:25 James Doing blazer, for example. That's a category under the asp.net blog and then the net one is the dot net blog and then you have you know Dot net Maui under there so you can actually easily with one click get into that category and right now it's all of the preview stuff. However you're going to. 00:16:39 James Start seeing a lot new blog posts. 00:16:42 James Not there and so on. 00:16:43 James The Xamarin blog. 00:16:43 James 2 There's going to be some great ones on upgrading libraries, doing a bunch of stuff in your current Xamarin developer, looking to get to Don amount, but it's very exciting and you see a lot more content come out. 00:16:54 James Hence the down in mauipodcasthencetheresa.net Maui section on the door, there's a lot happening.net Maui community stand. 00:17:01 James As well with new branding as well. 00:17:03 David Yes there is. 00:17:04 David I didn't even know this was on the blog. 00:17:05 David That's really cool. 00:17:06 David I learned something valuable. 00:17:06 James Yeah I'm a fan. That.net community team always staying one step ahead. 00:17:11 David You're great, thank you very much. 00:17:13 James Now we're pretty excited. 00:17:14 James Pretty excited about that. 00:17:15 James By the way, I didn't do any of that. 00:17:17 James I asked the Dev blog team to kindly add 1 Button dropdown and they did it. 00:17:21 James It was cool, you know, you gotta think about it so, but thank you for tagging all of your posts gracefully. 00:17:25 James And then we we changed a little bit too so it actually says, you know, down in mauipartofthe.net blog, blah blah blah. 00:17:31 James We can we can change and optimize that, but it has its own RSS feed. 00:17:34 James That's what's also cool too. 00:17:35 James So if you want to get just done at Maui. 00:17:37 James Logs you can do that, or you can get all dot net blocks. 00:17:40 James There's a lot of good stuff in there. 00:17:41 James I'm really excited. 00:17:42 James Next week, David Fowler is going to have a blog post, which is all of his new favorite features of Dot Net 6. 00:17:49 James His new favorite APIs. 00:17:50 James There are some amazing things like there's this argument null exception dot like I don't know it's like throw if null. 00:17:58 James And then you just pass it an object and if it's null it throws an exception like genius. 00:18:03 David So smart I knew nothing about that too. 00:18:05 David I should probably check that out. 00:18:08 James It's really good. 00:18:09 James Let's check out the blog. 00:18:09 James We'll put links into the show notes. 00:18:11 James As always, David. 00:18:12 James Thank you so much for coming on and talking about all the awesomeness coming in downtown Miami preview. 00:18:17 James 7 thanks for having me. 00:18:28 James Well, not only do we have dot net Maui Preview 7, but Matt I think we have a whole bunch of Visual Studio updates. 00:18:35 Matt Is that correct? We have Visual Studio Mac 2022. It's what 2022 Visual Studio Mac. 00:18:41 James What's happening? 00:18:42 Matt I know it's private preview, it's crazy, So what you can do and it's well, I'll put the link in the show notes is so you can actually go out and sign up for the private preview for VS Mac, and so this is super cool. 00:18:53 Matt We all know and love VS Mac as it sits here, but the Nuvis Mac is going to come with a fully native. 00:19:00 Matt User interface which has a couple of great benefits to it. 00:19:03 Matt It's going to be one faster because it's all the good Mac UI behind it and it's also going to have some take advantage of some of Mac OS has built in accessibility for it. 00:19:14 Matt Like you know, if you're you change your Mac OS like the high contrast theme. 00:19:20 Matt It's going to automatically bring that right in and you have it there, so it kind of it's built in. 00:19:26 Matt It takes advantage of all the built in Mac OS stuff. 00:19:29 Matt Has voice over compatibility. 00:19:30 Matt All that other great stuff. 00:19:32 Matt Also, here's the other cool thing that I you know, and it's one of those things that after you hear about is like yes, this is great. 00:19:37 Matt I love it is that we're going to make the experience to it very similar to what you see over on Visual Studio windows. 00:19:45 Matt What does that mean, man, you know, you just said it's gonna be totally Mac like. 00:19:49 Matt Well, what we're talking about here is like the menus, and the dropdowns are going to have like the same terminology on it. 00:19:55 Matt So if you go over to uh VS Windows and you go like to the debug menu and I'm kind of just making things up here and it has, you know. 00:20:02 Matt Build it's going to be in the same spot and it's going to say the same thing over on the Mac side, so it just kind of keeps you going. 00:20:08 Matt If you had to switch back and forth, it's this nice, seamless environment. 00:20:13 Matt That's yeah, that's really neat. 00:20:14 Matt And yeah, I'm really looking forward to the native UI. 00:20:18 Matt It's going to be faster, it's just going. 00:20:21 Matt It's it's exciting. 00:20:22 Matt And what you can do, you can sign up for the private preview now, but the link there, the public preview is coming. 00:20:29 Matt And yeah VS Mac 2022, just like VS Windows 2020, Two 2022 is on its way. Awesomeness, comma. 00:20:38 James It's coming, I have this I haven't installed. 00:20:40 James I have the private private preview. 00:20:41 James It's it's a thing it's happening. 00:20:42 James Yes, it's good. Love it. 00:20:44 James Yeah, I like that the Git experience is the same as the new Git experience, which I really love inside of Windows, Visual Studio and it's going to be pretty much exactly the same over on the Mac. 00:20:54 James I really, really like that, and I think that's the same thing as I've already been. 00:20:58 James Playing around with it and you can tell from the screenshots or from other things, it's going to look similar, but if you just look at the screenshots you see some. 00:21:08 James Just some commonalities. 00:21:10 James I would say you know, starting to bring it a little bit closer and then doing what Visual Studio for Mac does best, and it's good. 00:21:16 James I'm I'm I like it I. 00:21:18 Matt Like it, yeah, it's I'm super excited for it and so another I'm going to skip over to Visual Studio 2019, so we're going to just not talk about the preview. 00:21:27 Matt Visual Studio quite yet, but 2019 V 16 dot. 00:21:31 Matt 11 and so the big deal about this one James is that it's the final update of Visual Studios 2019. Well and take a guess of how long this is going to be supported for. I was. 00:21:44 Matt Blown away when I heard it 28 years. 00:21:47 Matt Almost it's going to be supported till April 2029. 00:21:50 James Oh my gosh, what? 00:21:51 Matt I know, I know. 00:21:52 Matt What are you gonna be? 00:21:53 Matt What are you going to be doing in? 00:21:54 Matt April 2029 I. 00:21:56 James Ah, it's eight years. I'm gonna be 43. 00:21:58 Matt I know. 00:22:02 Matt Wow, yeah, so yeah I totally crazy but yeah, so take a upgrade or update this one 'cause the previous like 16.10 and like 16.9 aren't going to be supported as long as this. So obviously you'll want to update this one. It's the long term servicing release and it has. 00:22:21 Matt A couple, uh? 00:22:22 Matt Bug fixes in it obviously has some get tooling updates and the one thing I thought was pretty neat. It has hotreloadfor.net previews are built into this too, and we'll talk a little bit about hot reload when we start talking about Visual Studio 2022, but that's like hot reload for sale but hot reload for C sharp so. 00:22:43 Matt Yeah, neato, so why don't we talk about Visual Studio 2022 Preview 3? 00:22:50 Matt Alright, we're back in town, awkward. 00:22:51 James Backward in 22. In the future, yeah. 00:22:55 Matt I have it installed. 00:22:55 Matt As you know, you can go out and. 00:22:58 James Download it right now I have it. 00:23:00 James I have it installed. 00:23:01 James I installed got it's amazing I. 00:23:02 Matt Do you like it? 00:23:03 Matt Is it working for you? 00:23:04 Matt Love it and a couple new improvements with a preview. 00:23:07 Matt 3 is a dark theme improvements. 00:23:10 Matt And this is kind of neat. 00:23:12 Matt I haven't ever done this ever in my entire life. 00:23:15 Matt Have you ever looked at a memory dump, James, that tried that debug? 00:23:19 James Yes, you have. 00:23:20 James Yeah I have. 00:23:20 Matt Has it worked for you mean? How did you like that experience subpar? Subpar VS 2022 Preview 3 and onwards. 00:23:29 Matt It's going to have like a diagnostics analyzer in it, so it's going to help you identify common problems. 00:23:35 Matt With it, so it's going to kind of like look at this huge memory dump and pull out like we've seen this before and this is how you're going to fix it. 00:23:42 Matt Or this might be wrong. 00:23:44 Matt So it's going to help out with stuff like that to make you more productive. 00:23:47 Matt Another cool thing that I saw that it's going to be able to do is I work with multiple git repos at once. 00:23:53 Matt Now again, this is something I haven't really done ever, 'cause I've worked a lot with never work with really huge huge teams or huge huge projects always going kind of in one repo, but. 00:24:04 Matt I can easily imagine where you would have one large solutions like let's say if you're working on what's the word? 00:24:09 Matt Oh microservices, you're working on microservices. They might be spread out through different git repos, and so Visual Studio 2022 will be able to handle that. We can bring it, bring them all in, and work with them at the same time at once. 00:24:21 James Yeah, you know, I I had that I have I have done this. 00:24:25 James I was thinking about this feature 'cause I saw it come out and I was like I've never done this but I can totally see it happening in huge projects like ginormous and you're saying I had huge enterprises or designing but when I worked at Seton we we had multiple Git repo. 00:24:39 James This is the first place I used Ghitis TFs before everything else. 00:24:42 James And we would have. 00:24:45 James A bunch of different projects that built and shipped independently, but had shared logics, so you could just add those as like submodules as well, but sub modules or submodules and they're not. 00:24:55 James You know they're submodules, but often I would clone both of them and I'd have them open and and they would be our dependency and things like that. 00:25:04 James And then I'd have multiple ones. 00:25:06 James Working around with intertwining dependencies is probably not the best, but it's how it worked at least. 00:25:10 James So there weren't microservices back then than I was doing. 00:25:12 James But it was, uh, I could tell that this is really cool and this is a cool feature. 00:25:16 James So that's like when I think of Visual Studio, you know the full blown IDE. 00:25:21 James I think about these, you know these features that are complex with, you know, multiple projects, multiple solutions, multiple things, and that's what Visual Studio does best. 00:25:31 James And I love it. 00:25:31 James So this is a cool addition, even if you don't. 00:25:33 Matt Use it, you gotta appreciate it. 00:25:35 Matt I've noticed a lot of the features that. 00:25:37 Matt We're rolling out with Visual Studio 2022. Are these nice productivity enhancements to it which is going to make everybody's life easier as we go? 00:25:46 Matt Yeah, that kind of rolls into the next thing I wanted to talk about is a lot of the folks on the VS 2022 team are putting out a lot of blog posts where they're talking about the productivity enhancements that they're working on on one big one. As we mentioned before, is the hot reload, which helps you reduce your. 00:26:05 Matt App starts, it's like XAML hot reload, but for C sharp and right now it's working with wpfwinui3asp.net and console apps and blazor server as well. Coming up itwillworkwith.net Maui of course and blaze. 00:26:24 Matt There was some so blazer on the app or blazer in the browser. 00:26:29 Matt So couple new features that they just added to it is that you can now hot reload razor razor pages also works with supporting custom custom attributes and record records and you can actually edit. 00:26:44 Matt Switch expressions too, so it's it's iterating at all as you go. 00:26:49 Matt So yeah, that's pretty cool that's baked right into a hot reload or Visual Studio. 00:26:54 Matt 2022 and we'll link out to a blog post where Dmitry kind of goes over everything there. And there's also a bunch of new personalization features. 00:27:02 Matt That are going to be on it like such as like on. 00:27:06 Matt It'll automatically you know how on Mac James and I use the Mac all the time. 00:27:09 Matt How like if you had the theme set, it'll be bright during the daytime and kind of go dark theme. 00:27:14 Matt Automatically at night. 00:27:15 James So I have my phone set as two. 00:27:15 Matt Or yeah, yeah yeah. 00:27:18 Matt And So what Visual Studio is going to respect that over on the Windows side too. 00:27:23 Matt So automatically going to have night mode essentially and just go full and. 00:27:27 Matt You know it's so cool stuff like that, and it's also going to have like some nice inclusive features as well, like so if you have like for our neurodiverse developers or learning differences like it's going to be able to adjust the line spacing in between the lines. 00:27:40 Matt Uhm, help you customize the tabs to be working exactly the way you want and things like that that really help make everybody productive across you. 00:27:50 Matt Know the whole everything and again multi repo support which we we talked about that already and. 00:27:59 Matt Yeah, and the cool thing is we'll keep on putting these blog posts and as we will talk about him as well because there's gonna be a whole lot more of a. 00:28:00 David That's it. 00:28:06 James Man, as we come out, yeah, and don't forget that you can install things side by side I have. 00:28:13 James I have my Visual Studio 2022 right next to Visual Studio 2019 and I just installed a new. 00:28:20 James Installed the Visual Studio 2019 preview. You know why there's no more previews? November this, uh, last month it's gone on talking about some other things that are evolving into new versions. 00:28:24 Matt You don't know where previous you don't need it, it's gone. 00:28:32 James It is both the Xamarin Community Toolkit and Xamarin Essentials Oh my goodness, let's start with our good friend Brandon Minnick. 00:28:39 James Your colleague over there in the cloud advocate org. 00:28:42 James Brandon has been contributing with all the amazing community members and the owners of the Xamarin Community Toolkit, which is a community. 00:28:52 James Microsoft Combination it's run by the community and a few individuals from Microsoft that have helped kind of bring it to fruition and add new features going forward. 00:29:02 James There's been over 80 contributors, 250,000 downloads, and it's using over 500 open source getter reboots. And if you don't know about the summer Green toolkit we've been talking about forever. 00:29:11 James Which is all about adding all that extra goodness. 00:29:15 James Then different controls and Nvme helpers and converters and effects and behaviors that you know a lot of people have been developing. 00:29:23 James It brings them into one place, right? And there's been, you know, Windows community Toolkit's and Daniel WPF community toolkit. And all this stuff. And it follows that vein, which is really cool. Now, of course, as we evolve. 00:29:34 James Entodon and Maui. 00:29:35 James You're like what's happening to the community toolkit. 00:29:37 James Well, there's gonna be a new community toolkit, which is the dot net Maui Community toolkit. 00:29:42 James Uhm, which is really nice, so it's going to bring in brand new handlers for netsex all this stuff with.net Maui and rely on that. 00:29:49 James But there's also going to be a Maui comp at library for Xamarin Community Toolkit, Maui, comp. 00:29:57 James At most things about that is, it's going to follow that pattern that David was talking about with some of the backwards compatibility. 00:30:04 James Xamarin forms controls that you can use in a net Maui app so you can you know upgrade over time, but here's the bigger thing. 00:30:16 James Matt, is this not just the dot net Maui and the Yammer community toolkit anymore? 00:30:22 James Oh no, no. 00:30:23 James There's a brand new org. 00:30:24 James All of the community toolkits have come together over here at Microsoft, and there's a new Community toolkit GitHub organization which has not only the net Maui Community Toolkit has the windows. 00:30:36 James Community toolkit and it has just general.net community toolkit stuff for all. Net developers. 00:30:43 James So you can go over there and you can look at all of them. 00:30:45 James There's like graph controls and the mounted community toolkit and the Windows community toolkit and VM samples and all sorts of good stuff over there. 00:30:52 James So you'll be able to find all the dotted Maui stuff. 00:30:54 James The markup stuff. 00:30:55 James Lottie stuff, lab stuff all. 00:30:57 James This great stuff that have been worked on by the community and by individuals here at Microsoft to bring it together. 00:31:03 James And it's. 00:31:03 James Part of the net foundation. 00:31:05 James Which is so cool, so they're going to really be bringing it all together into one big happy family. 00:31:11 Matt That's so exciting. And it's really. I love the fact that we have a Maui compat so it doesn't break anything as we take our time to upgrade, which is super NEAT. And yeah, it's neat that the Windows community toolkit's getting folded into this too, so it's. 00:31:25 Matt All in one, we're all happy. 00:31:27 Matt Super nice. 00:31:28 James And the same thing is about to happen with Xamarin Essentials because. 00:31:31 James If you know it or not, essentials is actually Donnelly Essentials. It's actually partof.net Maui literally in the box already with.net. 00:31:42 James Mauiis.net, Maui Essentials all the things that you love from Xamarin Essentials, which has had over 10 million installs. 00:31:51 James 80 Plus contributors has been used or been starred one point 5000 times on GitHub. 00:31:58 James And a kind of really a foundation for applications for a long time since it was first introduced. 00:32:03 James Is going to evolve into net Maui essentials so you can bring it into any.net Maui application or any iOS or android.net application. 00:32:11 James Just use it as part of it, but it'll be a fundamental pieceof.net Maui and all those APIs that you know and love will be there. 00:32:19 James They'll all just work as you know them. 00:32:21 James There might be a few changes here and there, but mostly just work. 00:32:23 James As is and and and you'll already see them in DOT Net 6 Preview 6 done in Maui, previous six and seven. 00:32:32 James Of course, now, and you can just add a command line option or not command line option, but a project option called using Maui Essentials and I'll bring it right in now. 00:32:42 James There is a new release to Xamarin Essentials 1.7. This is focusing on credit critical bug fixes and of course also a few API changes for the Web authenticator based on some feedback that was essential to keep up to date with new versions of iOS and. 00:33:00 James Just like the Xamarin Community toolkit, the Xamarin Essentials project will follow the same schedule as Xamarin forms. 00:33:07 James Which will continue to support Xamarin Essentials until November 2022, but of course it is open source, so you can always continue to to go that route too and pull it in and and take a look at the road map and everything like that. 00:33:20 James But that is out there today, so you can update and there's some nice bug fixes and optimizations in 1.7. But yeah, all things. 00:33:27 James Don Amaui going forward, which is really, really cool. 00:33:30 James They're all going to be there. 00:33:31 James It's really exciting time. 00:33:33 Matt Yeah, it really is exciting times, but I do have a question for you. 00:33:36 Matt James is when do we drop the essentials name from Net Maui Essentials and just call it. 00:33:40 Matt Bake it right into down at Maui. I mean, it's when's the last time you've used? Not used.net essentials or examined essentials in a salmon app? 00:33:50 James Yeah, it's a good question. 00:33:51 James I mean, there are definitely developers doing it today, and that's for sure. 00:33:54 James I think the one nicety is that library creators can take. 00:33:59 James A dependency on the dot net, Maui Essentials or Xamarin essentials and use that in their libraries specially for the platform helpers things like that. 00:34:12 James And not have to rely on pulling in the full specific version of. 00:34:17 James Adanna, Maui. 00:34:18 James I think the other thing that we we've done, it's a great question. 00:34:21 James I'm so glad you asked that. 00:34:22 James The other thing that the team has really thought about over the years of should it be we had the same question. 00:34:27 James Should it just be in Xamarin forms? 00:34:29 James You know there's the same question that John Matthew and I ask ourselves and talked to Miguel and talked to community members. 00:34:36 James And the biggest thing is that. 00:34:39 James To be able to put out hotfixes separate from the core UI library seem like a big ask from developers and that was the one thing we were hoping to continue on with and that's why I think it is. 00:34:51 James But good question. 00:34:52 Matt No, it makes total sense, but I'm always going to still keep on using it in every single project so. 00:34:59 James The nice thing is that when the inside the CS project Maui app. 00:35:05 James It says uses Maui, right? True, that inherently automatically brings in.net Maui essentials, so you don't even know it's being brought in. 00:35:14 James It's like automatic, it's as if it was bundled underneath itbecause.net. Maui Essentials is a dependency of.net Maui alright? 00:35:23 Matt So essentially it is an essential. 00:35:26 James Correct, essentially it isn't essential. 00:35:27 James That is correct, yes? 00:35:29 James Yes, all right there you go. 00:35:30 James Well Matt. 00:35:31 James What is happening over in the cloud world? 00:35:42 Matt All right, so one of the things that I get some questions about and it actually is a little bit confusing and the reason why it's confusing is just really it's. 00:35:52 Matt It's kind of like an awareness thing. 00:35:54 Matt Is this the Azure SDK? 00:35:57 Matt And so a lot of the product. 00:35:59 Matt Teams have an SDK like there's a storage SDK and then we have something called the Azure SDK. 00:36:05 Matt And what is it? 00:36:07 Matt And you know, essentially, why is it to Azure Friday? 00:36:11 Matt Kind of goes over the top level. 00:36:12 Matt What Azure SDK does and what's really nice about it and that the Azure SDK API is a nice little fluent design. 00:36:19 Matt And then once you get to know one of the SDK's for a product, another product is going to be. 00:36:24 Matt Really similar 'cause it's built off the same way like you're gonna use a builder class. 00:36:28 Matt They go get references to things and it's kind of even though they do different things. 00:36:32 Matt You're gonna be familiar with how they do things. 00:36:34 Matt It's kind of the idiomatic way of doing things that you'll be alright. 00:36:37 Matt I'm I'm at home with it now. 00:36:39 Matt I just need to. 00:36:40 Matt Know the product differences that do certain functionalities. 00:36:45 Matt So go check out the video kind of answers the questions of what's all involved with the Azure SDK. 00:36:50 Matt Totally worth watching. 00:36:52 Matt And another thing I wanted to push out or talk about and is because it has a great name in the post. 00:36:58 Matt It's called target. 00:37:00 Matt Random users with blog or with push notifications. 00:37:05 Matt Now this isn't just going out and sending a. 00:37:09 Matt I'll push notification Willy nilly to anybody out there. 00:37:13 Matt What it actually is. 00:37:14 Matt It's about really kind of like if you're a beat, has signed push notifications. 00:37:17 Matt Let's say you're a part of a man or a merchant, and you want to test out a push for an upcoming promotion, and you want to send a version to it at the like. 00:37:28 Matt Ten of your users, another one to 10 users. 00:37:32 Matt Before you shoot out the main one the the winner, so to speak, to the rest of the A. 00:37:38 Matt And so this goes through and tells you how to accomplish that, and you do it through Azure notification hubs tags. 00:37:45 Matt So let's say when somebody logs in or initially registers with Azure notification hubs, you can assign them A tag and then with that you can then push to a specific. 00:37:57 Matt Tag, so I'm not going to have to say James. 00:37:59 Matt I'm pushing exactly to you or I'm pushing exactly to me. 00:38:03 Matt I'm going to be pushing to A tag number and that's going to push to everybody who happens to have that tag. 00:38:10 Matt So it's a way to abstract users and Azure notification hubs, so you can actually just send to a grouping and. 00:38:16 Matt Time so this article goes over it and it's totally. 00:38:20 Matt Uhm, worth a read to find out how you would do that without start using push notifications that a little more advanced level with notification hubs, huh? 00:38:29 James Very cool, that's awesome I do. 00:38:31 James I've always wanted to kind of do something like that. 00:38:33 James I like the idea of AB testing or doing different promotions or things like that, or even just. 00:38:38 James Yeah, I love the ability to send different information alerts. 00:38:42 James I was thinking about my application. 00:38:44 James I don't have push notifications in it today, but trying to get more people to beta, test new versions and even just trying to like look at oh register this tag as an active user in quotes. 00:38:53 James It's like you know a power user and they might get notified because. 00:38:58 James They're they're in that group in that tag or whatever, so that's kind of cool. 00:39:01 Matt Yeah, yeah, it's really. 00:39:03 Matt It's a really neat idea and I'm glad to kind of explain. 00:39:06 Matt It's one of those nice blog posts where they actually walk you through step by step. 00:39:10 Matt Azure service of the month. 00:39:11 Matt James want to hear hear a new one. 00:39:22 Matt Azure Logic apps and so what's neat about Azure Logic apps is you can think of it's like kind of like Azure functions in a way, except what it has is it has a bunch of built in connectors. 00:39:37 Matt To it and you can, I guess, logically draw out a workflow of how you want something to happen. 00:39:46 Matt So let's say you want a logic app to react to an HTTP request coming in. 00:39:53 Matt And then you wanted to connect to Twitter. 00:39:56 Matt So essentially you're what you're going to do is you're going to drag in a Twitter adapter or a connector to it. 00:40:02 Matt You know, set up all your login information and then it's like a certain, let's say hook up to Azure Maps as well. 00:40:09 Matt And if you say like alright, an HTTP request came in and after. 00:40:13 Matt Traffic accident over. 00:40:15 Matt You know somewhere in Seattle that's going to tweet out, UM? 00:40:20 Matt That there's a traffic incident somewhere, and so you can do these. 00:40:24 Matt This logic app and base it off of incoming events and kind of lay it all out in a kind of like a WYSIWYG fashion. 00:40:36 Matt So it's that kind of neat to use that way, that in that you're not really sitting down in. 00:40:40 Matt Writing code, but you're actually looking at the code and spreading it out that way so. 00:40:45 Matt Yeah, I'll I'll include, uh. 00:40:46 Matt Accrued a link for it, and folks can go check it out. 00:40:50 James Yeah, I'm a big fan of the logic apps. 00:40:52 James It's logic apps is very much like flow or power automate, but they are a little bit different because it's inside of Azure, which means you have access to Azure E things. 00:41:03 James So an example of that would be. 00:41:07 James They both have. 00:41:08 James Their pluses and minuses, based on what you're trying to accomplish, but a good example is I need to create a webhook that I can call into and send data. 00:41:17 James You can do that with a logic app. 00:41:18 James That could be your trigger instead of a time trigger, or you know someone you know tweeted something as trigger. 00:41:27 James But the additional thing is like, let's say you're using Azure functions. 00:41:29 James What's really cool is you can automate this to say hey, when a blob is is entered or the tweet occurs, you could then. 00:41:39 James And pass data and you could call an Azure function directly that does something on the data. 00:41:44 James Returns something back to you and you could. 00:41:47 James You could basically use this and the connector so you have to write a bunch of code. 00:41:51 James Let the logic app handle it for you automatically. 00:41:54 James We've also recently been using this in. 00:41:59 James Our blog set up with this automation, So what happens is it's all powered by GitHub and synchronizes with our blog engine and with our Planner Board which is like a Kanban. 00:42:09 James Board and what happens is when somebody opens a pull request for our blog. 00:42:14 James The blog will automatically happen. 00:42:17 James Is a get up action will get called which validates the blog post, but then also calls a logic app that processes that data and it will determine if it needs to. 00:42:30 James Create, update or delete an entry on the Planner board. 00:42:34 James Automatically assign it to the right person. 00:42:36 James Have the right assigned date and it tracks the GitHub pull request ID and the planner ID. 00:42:47 James In a table storage instance, which is really cool too. 00:42:50 James I wrote this logic out. 00:42:51 James That's how I know how this works, so that way when the pull request gets merged or closed it has that pairing like a little database. 00:42:58 James And since it's inside of Azure, I have access to table storage to functions to these webhooks. 00:43:04 James All automatically. 00:43:05 James I work with the email and worth. 00:43:07 James On this, which is really cool, I did a lot of the validation engine and I worked on the logic app part of it. 00:43:12 James It's really slick to help do that stuff and I use I use honestly I use. 00:43:20 James On any given day 2030, forty power automations and logic apps to to do work here at Microsoft I mean things. 00:43:29 James I wake up in the morning and things just happen that they all happen through the night. 00:43:32 James So anytime I was duplicating work, there's automatically happened and a lot of that is based off of forms and based off of, you know. 00:43:39 James Automated just every you know 20 minutes or every morning at 3:00 AM. 00:43:44 James Go do stuff and insert, update, delete stuff. 00:43:47 James The more I can automate the. 00:43:48 James Better and I could write all the C sharp code and many much of my code too is C sharp. 00:43:53 James Like a lot of times. 00:43:55 James These power automations, or the logic apps are calling into my C sharp functions to do advanced stuff to to call different API's to parse different logic that that you can only do there. So I'm I'm always an odd when there's these more of these. 00:44:11 James Types of services help me be more happy every single day to automate some of that. 00:44:17 James Some of that stuff. 00:44:18 James I don't want to do. 00:44:19 Matt Right, yeah, and just because you're dragging and dropping a lot of the time doesn't mean it's necessarily a toy 'cause you are calling out to functions or whatever you have, and these connectors are super powerful that you can do in. 00:44:29 Matt Yeah, we should actually talk about maybe during.net comp or something. We can do a little session on it. You know how a.net developer? 00:44:37 Matt Can be more productive using using logic apps. 00:44:42 James So yeah, I think app so lulie. 00:44:43 Speaker 2 Happy cool. 00:44:45 James Alright, I got one pic of the pod you ready for it. 00:44:48 James Hit me alright, my pick of the pod was actually based off of a.net community community. Stand up theasp.net community. 00:44:56 James Stand up focus on blazer. I'm really getting into the.net blazor story over here. My thing is, I'm not a web developer and I am a client developer and. 00:45:06 James And that means when I want to go create a blazor website, whether it's simple or something like that, I have to go learn a bunch of HTML and bootstrap and CSS and all this stuff. 00:45:18 James And I don't want to. 00:45:19 James You know, because. 00:45:22 James Because, ah, it's not my jam, so there's a. 00:45:28 James There's a bunch of awesome community packages out there, but the one that they were showing off, they have the team behind Blazer. 00:45:35 James Blazer eyes it's calling blazer rise. 00:45:38 James Maybe that's how it is. 00:45:39 James Blaze or rise but blazer blazer eyes. 00:45:42 James And this thing is awesome. 00:45:45 James It is, for all intents and purposes, a bunch of custom components for Bootstrap, Bulma and design and material that you can bring into your blazer application. 00:45:58 James And why is that important? 00:45:59 James Well, what it does is it gives you all of those essentials. 00:46:03 James Controls like a card drop down a grid, a layout, a modal pagination, repeater step, tooltip, things that you would write in HTML and CSS with bootstrap. 00:46:16 James But let's say you wanted to create a tab, you know a bunch of tab. 00:46:21 James It basically looks like XAML. You say tabs and then there's a selected tab and, uh, selected tab change and you have items which are the tabs and content which are tab panels and it feels very much like doing XAML and doing Xamarin, formsdevelopmentin.net, Maui development. It makes me feel good about life. 00:46:40 James When I'm doing this, but it's still razor, so it still has all of your bind properties and all that other stuff, but the documentation is great. 00:46:48 James It is really good and I was able to add a drop down and tabs into an app that if I had known about this then it would have saved me hours worth of work just to try to figure out all the CSS and HTML it just made it so much easier. So check it out. Blazer eyes.com put a link into the show now. 00:47:08 Matt Yeah, it was totally cool. 00:47:09 Matt You sent me the link. 00:47:10 Matt I was like wow this is Xamarin forms, but it's not, but it's fine to be at home with it. 00:47:16 James Yeah, cool, exactly that's awesome. So we did it. The first dot net Maui podcast. I'm proud of us. Yeah, you can go to mauipodcast.net. That's that's what I'd register. I just looked it up mauipodcast.net 00:47:29 James I want. 00:47:29 Matt Loveititslike.net, Maui, but. 00:47:30 James Backwards, I know. Well, I thought I was going to get like.net maui.net, but then it's like that's already.net. 00:47:36 James I don't know, maybe I'll register something else. 00:47:37 James Who knows? 00:47:38 James We'll see by the time this house, how many. 00:47:40 James Domain names, well, I own it. 00:47:41 James Nobody knows too many all right now. 00:47:44 James Let's go. 00:47:44 James Do it. 00:47:45 James Check out our new website, grab that new artwork, check it out, appreciate everyone for being here. 00:47:50 James Thanks so much. 00:47:51 James I'll talk to you next month.