00:00:17 Matt Welcome everyone to the.net Maui podcast. We're here to keep you up to date with the latest and greatest in.net client development. 00:00:24 Matt We'll talk about some Azure, some visual studios, some blazer and ofcourse.net Maui. I'm Matt Soucoup 00:00:30 James I'm James montemagno. 00:00:32 David Now I'm David Ortinau 00:00:34 James Happy 2022 we. 00:00:36 James Made it, we made it we're. 00:00:37 David Here we're here. 00:00:38 Matt So which one of you is dancing on screen? 00:00:40 Matt I love reading the intro 'cause I started laughing halfway through. 00:00:43 Matt Was that you, David? 00:00:44 David I was doing some dancing and then that made James Bob his head. 00:00:47 Matt Yeah, and then I started laughing and I had this. 00:00:49 Matt Yeah thanks guys. 00:00:51 Matt Well I needed screwed up one intro since beginning of we started doing this until that one. 00:00:56 James Oh, I was. 00:00:56 James I thought you were going to say I haven't. 00:00:58 James I haven't messed up one since. 00:00:59 James The beginning of the year so well. 00:01:00 Matt Since beginning of today, maybe. 00:01:02 James Well, my new thing is, whenever we're in a team meeting and I'm the first one there, as people come into the meeting. 00:01:10 James Thing I do, a little Jingle and I'm like here comes David into the chat. 00:01:15 James Look at him, wear some flannel. 00:01:17 James Welcome David. 00:01:19 James Ah, that that's getting some. 00:01:21 James Some smiles so far. 00:01:22 David Yeah, well, you gotta do whatever you can to liven things up in this. 00:01:28 David This world that we're living in. 00:01:29 David I wish that I I should open up a ticket on teams for this. 00:01:33 David I wish I could play music as the res. 00:01:36 David I don't know whatever the person that organizes the meeting without having to share my screen, right? 00:01:41 David 'cause that would be awesome. 00:01:42 David I think yeah, especially those first few minutes as people are filtering in, you know, set some mood, get things going. 00:01:52 David I mean, even the podcast has a little theme music intro, right? 00:01:55 David So why can't meetings have it too? 00:01:59 James I agree, well, you know, maybe that's a 2022 goal for teams. You should submit that ticket. 00:02:03 James Feedback though I approve of it. 00:02:05 David I'll go talk to Pierce, I'll make. 00:02:07 James It happen. There you go. I can't believe it. 2022 is here, but it's basically almost over 'cause it's the end of January. 00:02:12 David It is and we've actually shipped 2 releases of Maui. 00:02:16 David Can we believe that? 00:02:18 James Keeping me busy on my youtubes. 00:02:20 David Yes, well I yeah. 00:02:22 David Both you and the several others out there, YouTube influencers and whatnot. 00:02:26 David I appreciate it because then I just, you know less I have to do. 00:02:32 James Well, I've been having a blast because both Preview 11 had some major things in it and. 00:02:36 James Then Preview 12 as probably some of my favorite things from the. 00:02:39 James Community, but. 00:02:41 James I don't want to spoil it too much, but I will say this much. 00:02:44 James Preview 11 was an interesting one 'cause I actually talked about it last year, but kind of like it was out because there was updates to dot. 00:02:52 James Net but really. 00:02:53 James The Visual Studio integration kind of landed in the first week of the year, right? 00:02:56 David It did. Yeah, that was kind of what happened is we're on a cadence of monthly releasesfor.net Maui, and it goes along with the service releases. 00:03:05 David Is a schedule generally that the rest of net does 'cause we're partof.net, but you know, but we're also a UI framework, so we kind of sit in this fun little place between. 00:03:17 David Net and Visual Studio and so it's like, OK, do we ship? 00:03:20 David Do we not ship? 00:03:22 David And of course we want to ship our bits first before the. 00:03:25 David Visual Studio release goes out because it depends upon it. 00:03:28 David And so yeah, we were out in December, but there were some QA things that popped up at the last minute and so we held back the preview release of Visual Studio in December. 00:03:38 David And but it did go out right after we return from break, and so that's why the blog announcement coincided with the Visual Studio release in January. 00:03:48 David But the bits were actually available in December, and so those brave souls who knew how to use the command line. 00:03:57 David We're able to acquire it and hopefully be successful with it. 00:04:01 David But it's a whole lot easier when you have Visual Studio as the I don't want to call it a Trojan horse. 00:04:08 David It'll probably get me in trouble, right? 00:04:09 David But as a carrier. 00:04:11 James The main way of the main acquisition, the yeah. 00:04:13 David There you go. 00:04:13 James The main acquisition funnel if you will now, here's here's a fascinating part I've been working with. 00:04:17 James John **** **** the engineering team on this because, you know, I've gone through the pre pre previews all the way up to now. 00:04:25 James Like before, when you had to do manual craziness to where you can do Maui checked. 00:04:30 James And then where you get Visual Studio. 00:04:31 James Then I'm mixing in the two different things. 00:04:33 James I'm doing the the network load installs. 00:04:36 James I'm doing this stuff the templating engine. 00:04:39 James For the CLI and also Visual Studio you they don't install the templates in the same place, so this is something for our podcast. 00:04:46 James Listen, if you've been following along is interesting. 00:04:48 James I figured it out, David. 00:04:49 James We figured it out. 00:04:50 James I had this issue is that I would upgrade with Visual Studio to the latest version in the latest preview, but my templates would be an. 00:04:59 James Old version, they'd be the previous version, and it is because I had at some point kept installing and manually updating from the CLI dude on a new Maui and say, hey, you. 00:05:10 James Got to update. 00:05:10 James The template, but the problem is is that when you upgrade Visual Studio, it does install the newest template. 00:05:18 James But the CLI install you know has priority. 00:05:23 James There's like a ranking list, so there is a folder somewhere on your machine. 00:05:27 James You know slash user slash or name dot template engine. 00:05:31 James It's in there, you gotta delete it or do the uninstall command reopen Visual Studio. 00:05:36 James It just works. 00:05:37 James It was I couldn't figure it out. 00:05:38 James The longest time. 00:05:39 James But we figured it. 00:05:41 James Out most people won't run into that. 00:05:43 James Because they haven't installed all 8 billion previews for last year. 00:05:48 James David of this thing. 00:05:49 David I know, yeah. 00:05:49 James Right, but that was a fun fun. As we talk about all this stuff right? It's kind of fun to figure out how this new worldof.net CLI using the command line workload how this Big East ecosystem and just being aware of how it works 'cause. 00:06:06 James If you're only ever doing stuff from the CLI, you never saw this right? 00:06:09 James If you're only doing stuff from Visual Studio, you never saw this, but. 00:06:09 David No yeah yeah. 00:06:11 James I'm in that weird hybrid place. 00:06:14 David Yes, well, I mean probably yeah you similar that as I you know both using Mac and Windows and currently on the Mac CLI is is the only way to go. 00:06:23 David Yeah, hopefully that changes in the near future. 00:06:26 David Yeah, you know, this is what previews are for. 00:06:29 David It would be nice if we had been able to solve these things earlier, but isn't that always the case? 00:06:34 David You know why didn't we catch it last time? 00:06:37 David Yeah, so in your user path there is a template cache. 00:06:41 David It's actually one of those hidden folders, so it's a period template cache and what happens is Visual Studio. 00:06:48 David It my understanding is now we are installing them all in the same place but depending on who put it there, the other party doesn't know right? 00:06:59 James Oh yeah. 00:06:59 David Like this, like you snuck it in there and it doesn't have the registration that that those things exist or have been updated and so we're working through that. 00:07:08 David Stuff that's part of the previews, and so internally the teams are talking and saying OK, how do we make sure that these things do all work well together? 00:07:16 David Because that is absolutely the customer expectation that we have. 00:07:19 David Is that once these things go? 00:07:21 David GA Yeah, regardless of whether you've done things with the CLI or with the Visual Studio, we're going to do everything we can to make sure that everybody knows everybody is talking and we don't run into these conflicts. 00:07:33 David But if you do have the conflicts right now, my recommendation is go look for that template cache and blow that puppy. 00:07:39 David Away when Visual Studio is closed and then reopen Visual Studio and you probably 'cause it's going to rebuild the cache. 00:07:46 David Yeah, you'll probably be in a fine state at that point, but if you can just stick with Visual Studio 2022 previews, Preview Three is the latest one. 00:07:56 David You'll be in a much better situation, but if you've been riding along with the previews all along, yeah. 00:08:04 David Yeah, welcome to my life. 00:08:04 James Power off. 00:08:06 James Well, talking about templates. 00:08:08 James David, Matt. 00:08:09 David Yes, you have. 00:08:10 David You have something you like about templates. 00:08:11 James I think there's some to tell us 'cause myself. 00:08:14 James I did a little pull request on the templates and they're in there. 00:08:18 James They're in there, they've been C sharp, 10. 00:08:20 James Ified and. 00:08:21 James Uh Madonna Maui team. 00:08:23 James The engineering team by the graces of their amazingness, UM Peppers and John all the whole team. 00:08:29 James They also implemented implicit usings for Dana Maui in a magical way. 00:08:35 James Because I updated the templates to all C sharp 10. 00:08:37 James If I did make sure the essential stuff was in there properly. 00:08:40 James More updates coming there and. 00:08:42 James Preview whatever next super excited 'cause me and John Decker has been behind David back. 00:08:47 James Just chatting and and John. 00:08:49 James He's like I don't got time for this like no, but this is important. 00:08:51 James He's like, OK, let's do it. 00:08:53 James So I snuck in the C sharp and so we got top level statements. 00:08:56 James We got global usings. 00:08:57 James We got implicit usings we got. 00:08:59 James All sorts of goodies in there. 00:09:01 James All the essential stuff for both the the Blazer hybrid stuff with Maui and the normal Maui templates and they're just. 00:09:09 James A beautiful templates like oh they're everything I want in life they're so good they're in the box. 00:09:16 James And what was fun about doing this was understanding. 00:09:19 James The complexity some Morton from the community was. 00:09:22 James Like hey what? 00:09:22 James About or there gonna be conflicts, right? 00:09:25 James Because if you have implicit usings, well, what about Windows and Android? 00:09:28 James They have implicit usings, so Peppers figured out. 00:09:32 James Basically hey Maui is going to sit on top of the other platforms, which is what it does. 00:09:38 James Make sure that if I'm in this project, only use my implicit usings. 00:09:42 James Don't use the underlying platforms for this, which means there's no conflicts because Android has a button and windows has a button, and if you create a button then there's going to be differences there. 00:09:52 James So now it's beautiful, right? 00:09:54 James You go into the startup app file and it's like. 00:09:57 James But like 8 lines of code, it just starts online zero. 00:10:00 James It's a beautiful thing and then someone joked actually more than Joe is just funny is that we have all the everyone has those using Microsoft Maui shirts. 00:10:08 James It could just be blank now because there's. 00:10:10 James No more you seek sting. 00:10:12 James Which is amazing, as they're in there, they're gorgeous. 00:10:15 James I love these. 00:10:16 James Tablets I'm not going to just say that because I worked on them, but I'm very excited about the updates. 00:10:23 David I love them too. 00:10:24 David Yeah, I mean anything to reduce the lines and you know yeah, all the namespaces and everything you can just truncate all that stuff. 00:10:32 David It's beautiful and we now also have item templates in there too, so you can add your content pages. 00:10:39 David Your content views you can choose. 00:10:41 David Whether to add a XAML one or a C sharp. 00:10:44 David So depending on your preference there, so those are all now baked in that was in Preview 11, so that's been around for release. 00:10:52 David Now that's almost old news at this point, but also in that release we also had some fluent design updates for the Windows side of things, and there's more work happening there. 00:11:04 David I believe some of that may have come in Preview 12, but I don't quite recall if those PR's got merged so. 00:11:10 David They'll be coming in the next preview. 00:11:12 David There will be another preview, but what that is is, you know, for your entries, your buttons, your editors, your controls. 00:11:19 David Giving them the fluent treatment skins if you will, and then we also introduce multi window in Preview 11 that you can use. 00:11:30 David Today on Mac Catalyst on iPad on Android, and if you can get access to the experimental packages of win UI 3. 00:11:40 David The uh, which I believe, is slated to come for the 1.1. 00:11:44 David Release of Win UI then you can also use it on Windows, but that right now is not part of their stable release so check their release plans and road map for when that stuff is going to be public. 00:11:57 David Yeah yeah. 00:11:59 David So then and then we you know didn't stop, can't stop, won't stop was my tweet. 00:12:04 David Uh, we shipped preview 12 too and it was funny when I asked John our our favorite John. 00:12:10 David Uhm, what? 00:12:12 David What are we shipping in Preview 12? 00:12:13 David He goes as yeah, we haven't had time. 00:12:15 David It's basically preview 11 and so then I went and looked at the diff and I'm like, dude, there's some great stuff in here. 00:12:20 David What are you talking about? 00:12:21 David You must have just forgotten. 00:12:23 David Uhm, this has the new shell dependency injection work, which was a contribution from Brian. 00:12:31 David Whose last name escapes me, but it's in the blog post. 00:12:34 David So basically shell and really anything data template related. 00:12:39 David Did if you were depending upon or hoping for constructor injection to be satisfied by the host builder dependency container that was not happening and shell exclusively depends upon that for all the navigation to pages and whatnot, and so this PR a rather simple one took care of that and. 00:12:59 David So now with Shell which gives you the the quick ability for tabs and flyouts and UI based navigation and all the things that I kind of tried to focus on in the blog post. 00:13:11 David You can now use dependency injection for that. 00:13:14 David Uhm, something that was another simple ish PR, but something that I'm pretty excited about and and has gotten some positive reactions is the ability to Z index your child views within a layout. 00:13:28 David This is something that it does not take advantage or does not use the native platforms. 00:13:34 David Indexing, but within our layouts, if you want to, for example, take the last item in a layout and put it underneath the other items in the layout. 00:13:44 David You can just amend the Z index property on it a whole lot easier, especially as we get into desktop and you're doing things like dragging and dropping. 00:13:53 David You know, maybe reordering things in a care in a collection view or something like that, and you want to bring things from the bottom of the stack to the top of the stack. 00:14:03 David Carousel View, I imagine, would take good good advantage of this. 00:14:07 David You can now Z index and then we've taken some of the newer things on Windows, such as the extended toolbar and surface that. 00:14:15 David So you I this was a comment that I saw in the blog post this morning. 00:14:20 David How do I, you know, get access to the Chrome of the windows window? 00:14:27 David That's a fun one to I was asking one of the engineers something about the windows window and he was like what window are. 00:14:33 David You talking about. 00:14:34 David Because Maui has a window, windows is a window. 00:14:38 David Windows has a window. 00:14:39 James So many windows. 00:14:40 David Like the win UI 3 window again. 00:14:44 David Uhm, anyway, so you can now do things like you know, hide and show the the native Chrome. 00:14:50 David You can extend your content into that space. 00:14:53 David You can do all kinds of things with it, and that will be coming to shell in the next release. 00:14:58 David It currently works with the other navigation containers flyout page layout view. 00:15:03 David And tabbed page. 00:15:06 David Yeah, so that's kind of a, uh, recap of the major highlights of the features. 00:15:11 David Like I said, we do have a preview coming next month as well. 00:15:16 David And then we're kind of at the cusp of our release candidate, which is then right before a general availability release and and. 00:15:27 David The Great news is. 00:15:28 David Well, more great news. 00:15:29 David It's all great news. 00:15:31 David I like I like doing the podcast because I feel like I get to give all the good news here. 00:15:35 David You know, during meetings, sometimes I feel like I'm the bad news guy, but here I'm the good news guy. 00:15:43 David Dave Bridge has been pumping out documentation for new features in Maui as well as porting documentation from other features in Maui. 00:15:54 David The repo for all the docs so you can actually see what's being drafted as it's being drafted is all available at DOT net. 00:16:03 David It's github.com slash.net docs dash. 00:16:06 David Now it's all there. 00:16:08 David So hey, you want to go ports? 00:16:10 David And docks for. 00:16:11 David Us, you feel free to do that. 00:16:12 David You don't have to. 00:16:13 David We've already got it planned, but just saying so that's been nice to see because in the feedback, we have certainly heard loud and clear, especially from developers who maybe didn't have any history. 00:16:24 David With Xamarin, you know, it wasn't readily apparent. 00:16:27 David That all those documents still apply, so it's nice to have more of the documentation getting. 00:16:33 David Rolled out in satisfying some of that curiosity and pretty much every Friday we're on a on a cadence now. 00:16:40 David We'll be shipping new docs, so I'm very excited about that. 00:16:45 David It certainly helps people get up and running with Maui and being successful. 00:16:51 James David on the you know you mentioned you had a great example in the blog postsothe.net Podcast application, which I'm in the process of upgrading to Preview 12. We upgraded to Preview 11, took advantage of some new stuff there actually was already built on preview. 11 little people didn't know, but as an earlier preview. 00:17:09 James Are you? 00:17:11 James And and the shell dependency injection, which I'm really excited about. 00:17:15 James Uhm, does that trickle down through the view models? 00:17:18 James Like does it? 00:17:19 James You know you create your page, does it send this off to the page and to the binding context? 00:17:24 James If it's rigged up into the XAML, basically, I guess I could just test it, but I didn't know if you knew off the top of your head. 00:17:31 David Off the top of my head, I can't really imagine exactly what you're picturing. 00:17:37 James Well, 'cause you know the query parameters for example, do that if it's a, yeah. 00:17:39 David Sure, yeah, well, that's the the way the query parameters work. 00:17:43 David It's a very explicit applying of of properties. 00:17:47 David Yeah, so there's there's really no magic there. 00:17:51 David It you know, it scrapes it and then it it applies it. 00:17:53 David I mean, if your dependencies are set up such that. 00:17:57 David I mean, 'cause really all the dependencies are satisfied through the container, right? 00:18:01 David And so the activator instantiates the thing and then populates it. 00:18:06 David So I would imagine that you know are you getting the same instance? 00:18:10 David Is it a Singleton? 00:18:11 David Is it transitive? 00:18:12 David Is probably more of the question. 00:18:16 David Uh, but yeah, give me a shout. 00:18:18 James I'm gonna try it out, will try it out. 00:18:20 David Yeah, you know you would ask me, hey, you know, do we have a PR to update this? 00:18:24 David Et cetera and I went and looked and I saw that you are using the the Maui version in your CS prod and so this is something that many people may not know exists. 00:18:36 David So I will mention it to you because. 00:18:40 David Especially if you're coming from Xamarin forms, you're like what? 00:18:43 David What version am I on? 00:18:43 David Where's my version? 00:18:44 David I need to know my version 'cause we are pumping. 00:18:46 David Out in new kits every month well. 00:18:49 David As we've said several times already in this podcast, we have. It's a new world. We're partof.net now, so you are in mauilandin.net world. 00:19:00 David You are on the the current versionof.net. Yep, that's your version, and so there are ways that you can go find out which version you're on. 00:19:09 David But during this preview cycle, you want to be able to pin your work to a particular preview release 'cause things are moving so quickly. 00:19:16 David So that's why you can have a Maui version in your CS prod. 00:19:21 David But here's the fair warning that is not an official thing. 00:19:26 David It may go away. 00:19:27 David It's something we're using to pin your apps to a particular memory version, but I can't promise you it's going to survive GA. 00:19:35 David So so when you asked me did we do a PR for the podcast app? 00:19:40 David I'm like it should just. 00:19:41 David Upgrade right? 00:19:42 David Because if you had not used. 00:19:44 David The my version. 00:19:45 David And you had upgraded your net. 00:19:48 David Then you would have already inherited the new stuff. 00:19:51 David There really weren't any major changes that you needed to adopt. 00:19:57 David But I I do want to. 00:19:58 David I'm remembering now there was something that I learned because if you're using Visual Studio, everything upgraded just as as it normally would. 00:20:07 David But if you were on Mac or you were using CLI, you may have gone and done a network load update and it said there's no update and you would have said well. 00:20:17 David But David blogged it. 00:20:19 David So therefore there must be an update. 00:20:21 David Did he lie to me? 00:20:22 David I did not lie to you. 00:20:23 James OK. 00:20:24 David What it was is a net move from the 100 band. 6.100 series releases to 6.200 preview. 00:20:35 David Uhm, so when you move to the next minor version of the release, the workloads follow that release package scheme, right? So so you needed to 1st acquire 6.200 version of DOT net itself and then. 00:20:55 David Update your workloads or install the 200 band versions of the workloads so this is another new thing that we're all kind of working. 00:21:01 James Let's got it. 00:21:05 David Through in this new worldof.net to understand how how these workloads work, how it works with the net installer, how it works with the Visual Studio installer, so I don't know if that all completely makes sense to everybody yet, but it'll sink in over time. 00:21:22 James Well, I'm still figuring it out, so it's all good. 00:21:24 James Nice, cool, alright I love it I love it I love it oh man cool alright. 00:21:31 James Well, you did mention that there's a new Visual Studio, Matt. 00:21:34 James Do you want to break down? 00:21:35 James What's new all up in there? 00:21:36 Matt Yeah, I will do that. 00:21:38 Matt What I love about this new version of Visual Studio. 00:21:39 Matt It is really. 00:21:40 Matt It's kind of really focused on productivity before David and I were chatting like David, asked me, when's the last time or he asked me if I was developing anything cool right now and I said I can't remember the last time I developed anything. 00:21:53 Matt But what I like about this new Visual Studio, I can't wait to actually develop something because it has all these new cool Productivity Tools in it. 00:22:03 Matt One of them is forget always adding some new git productivity to it. 00:22:08 Matt It's easier to compare branches now. 00:22:11 Matt And what I like about it is going to be super easy to check. 00:22:13 Matt About an individual commit. 00:22:15 Matt So if we're comparing the branches and you find out that your remote. 00:22:20 Matt As or if you mess something up and you want to go back to a previous commit, it's going to be really easy for you to do that, and you can compare your locals against the remotes and everything nice. 00:22:32 Matt The UI is better, will link to a couple images to show that off as well, but here here comes the I'm going to save the best. 00:22:41 Matt Last two, but here comes a couple other really cool things about this too. 00:22:46 Matt Is there's something called in here called automatic code cleaning profiles. 00:22:54 Matt Now this is kind of like if you think about it, it's kind of like linting, So what happens every time you save a file, it's going to automatically go through and like, remove unnecessary usings in it, or go through and make all your fields readonly or automatically alphabetically sort all the usings that you have in it. 00:23:13 Matt So is that like? 00:23:14 Matt All these rules that you have set up for. 00:23:15 Matt For a profile. 00:23:17 Matt To kind of enforce like I guess strict. 00:23:22 Matt If you have. 00:23:23 Matt Rules for your code that you want it and it's cleaning, so I mean that's pretty cool, and every time you hit save, it's going to go through and do that automatically, unless Visual Studio automatically saves the file and it won't do that, you're saying. 00:23:37 Matt Well, when does Visual Studio automatically save the file? 00:23:41 Matt Well, in this new preview, it automatically saves a file every time he loses focus. 00:23:45 Matt That's actually kind of cool, I'm I'm not sure if it works the same as like VS code does. 00:23:49 Matt He knows that if you ever close vscode, any open. 00:23:52 Matt Put it. 00:23:52 Matt Up like it brings a file backup that you're working on that you never actually saved, so I'm not sure if it does the same thing here, but every time that you lose focus. 00:24:01 Matt Or change focus away from Visual Studio. 00:24:04 Matt Now it saves a file for you, so there's not gonna be anymore. 00:24:07 Matt You know accidental closes or getting that warning that you know. 00:24:11 Matt Do you want to? 00:24:13 Matt It has your back, so that's pretty neat and a couple other neat things in there is that it's going to be easier to navigate to underlying source code like for the dot net source code your embedded assemblies, assuming the embedded assembly has the. 00:24:29 Matt I think the link is it called link source. 00:24:32 Matt In it you'll be able. 00:24:33 Matt To get that. 00:24:34 Matt Easier that way, uh, what else? 00:24:37 Matt I'm just gonna get right to it 'cause I can't, I can't. 00:24:39 Matt Wait to talk about it, David additional color tabs. 00:24:45 Matt Today was on mute. 00:24:46 David I was laughing but I was on mute. 00:24:48 David You know? 00:24:48 David It's funny 'cause when when you kicked off the segment talking about Visual Studio I was like are we gonna talk about color gaps? 00:24:55 David I didn't see it. 00:24:56 David And here it is. 00:24:57 Matt Here it is more many different colors by project, by file extension. 00:25:01 Matt Now you can actually take a tab and color it yourself if you want. 00:25:04 Matt To as well. 00:25:04 Speaker 1 Ooh yeah. 00:25:06 David I somebody tweeted about that now. 00:25:08 David Was like that makes so much more sense than what it. 00:25:10 David Was doing before. 00:25:11 James I love it. 00:25:12 David But you mentioned the get stuff and I did want to chime in with. 00:25:16 David I didn't know this stuff was new, I'm I just thought maybe I had never used the get integration before. 00:25:22 David 'cause I used to get get desktop app for most of my work, but I wanted to be able to compare my current. 00:25:29 David Changes against the last. 00:25:31 David Version that was in Git and I was able to do all the diffing and everything right in Visual Studio. 00:25:36 David I don't know how much of that was brand new or how much of it's been there for a while, but I was super pleased with how that all worked out because that's something that I had been personally missing. 00:25:47 Matt You don't know until you know, and that's the thing I haven't been. 00:25:49 David Is that it? 00:25:50 Matt You know, I'm saying with you, I've been using the old tooling, you know. 00:25:53 Matt Whatever your workflow is for such a long time and all of a sudden you see this brand new shiny stuff in Visual Studio that you haven't given a look to in a long time. 00:26:01 Matt Just 'cause you didn't. 00:26:02 Matt Know it was there or when you're using it before it wasn't as fully featured, and all of a sudden it's. 00:26:07 Matt Super shiny, it's super great and you maybe can even tap color it. 00:26:11 Matt I don't know. 00:26:12 David Hey, that's colorless. 00:26:12 Matt Wouldn't that be something? 00:26:15 Matt That's that's great, and that pretty much sums up everything that's new. 00:26:18 Matt In the preview. 00:26:18 Matt Uhm, so yeah, it's super exciting. Can't wait, download it now. You can download it side by side but it'll be coming to regular Visual Studio seven point or 17.1 soon enough too, yeah? 00:26:30 James That's the only other thing that they added in preview three that I thought was cool because the podcast app uses it, which is container apps. 00:26:38 James For Azure container up, so it's just kind of like have a bunch of services you know I want to auto scale based on events and we used it for like processing different RSS feeds and stuff like that in Preview 3 which is also out. 00:26:48 James They added GitHub actions workflows directly for Azure container apps like which makes it crazy simple to start spinning up microservices for. 00:26:57 James For your applications, which is just absolutely lovely. 00:27:02 David I'm reminded that one of the things Maui developers will want to do, and we're super excited that we have this Windows platform, which makes for a really fast kind of iterative flow that you have, especially with XAML hot reload. 00:27:18 David If you, if you see that XAML hot reload is not working. 00:27:21 David For you, there's probably tooling that you need that comes from the UWP workload, so that won't be an issue in the future, but as of preview three you may want to install the UWP workload just to get the tooling so that the XAML hot reload works for you, so that's just a random tip. 00:27:39 David It's still a few more megabytes or gigabytes on your machine just for this release, and you can. 00:27:45 David You can let it go next release and you hopefully won't need it, but. 00:27:49 James What do I what do I gotta install? 00:27:50 David What's that again? 00:27:51 David UWP workload inside of the Visual Studio installer oh. 00:27:55 James OK. 00:27:56 David Yeah, there's. 00:27:58 David There's some some unnamed tooling thing waves hands I don't know. 00:28:03 James Previous all previous things. 00:28:04 David What it's called. 00:28:06 James Oh also I did figure. 00:28:08 James Route I did figure out exactly what I need, but by the way, for the dependency injection, yes, everything works. 00:28:15 James How I envision it. 00:28:16 James Because we've registered all of our services which are going to get dependency injected into our view models. 00:28:22 James What we didn't do because this wasn't rigged up as we weren't adding the view models into the services. 00:28:28 James So right now, if you were creating your binding context in your XAML, which is probably what you shouldn't do, what you would do is you would pass the viewmodel into the constructor of the page, which is what you showed in your blog. 00:28:40 James Bug and your services would be injected into the viewmodel automatically, because that's how the whole thing, the whole kit and caboodle works, and it's amazing, and I'm adding it all right now. 00:28:52 James David, soon I don't know if I'll have it out by the podcast, but subscribe to updates to github.com/microsoft slash.net Dash podcast that is the application. 00:29:03 James And the show notes because Matt is fantastic with show notes. 00:29:07 Matt That's right, if you hear me typing, that's what. 00:29:09 Matt I'm doing. 00:29:10 David Did you see, since we're talking about the podcast app Real Quick, did you see you have a request here from Jimmy Angstrom? 00:29:18 David He would like to know what he needs to do to get the coding after work podcast represented in the sand at Excel. 00:29:24 James That's a great question. 00:29:26 David The app is so cool that now everybody who runs a podcast wants to be apart. 00:29:26 James We yeah. 00:29:31 James Yeah, we we can make that happen, I'm sure. 00:29:32 David Yes, yes. 00:29:34 David I don't know why Gerald not in there. 00:29:36 David You need to get Gerald in there too. 00:29:37 David He's got like a dozen. 00:29:38 David Podcasts he's doing. 00:29:39 James You know I reached out. 00:29:41 James I reached out to the team the last update over here that we got going on. 00:29:48 James Pretty exciting is that there's some updates. 00:29:51 James Some components I'm really excited about this. 00:29:54 James The Facebook SDK version 12.2 is released for iOS, so if you are doing stuff with Facebook, you know ads or tracking or audience or login or shares or all those. 00:30:07 James Things you go? 00:30:08 James Grab those updates. 00:30:09 James Let's first of many updates coming over and in the blog it outlines all of the components over there, and I know work is also being done to upgrade different like Android stuff to. 00:30:20 James Net six and all this stuff too. 00:30:21 James And I recently went through the the challenge of. 00:30:27 James Of upgrading my in app billing purchase my in app billing plugin to support all of Xamarin. 00:30:36 James And Windows UWP and all of. 00:30:39 James Net six iOS and Android and Mac Catalyst and win UI three with Windows App SDK. 00:30:46 James In one single build. 00:30:50 James Yeah, automatically and deploying to Nougat automatically from Visual Studio 22. All in CI. And it's all there. It's all on my GitHub as well. 00:30:59 James That was a fun journey. 00:31:00 James It took me a little. 00:31:01 James It took me a little bit to figure out, but it's cool because that library depends on Xamarin essentials. 00:31:07 James So when you're in net six, you wouldn't use Xamarin Essentials. 00:31:11 James You would use Maui essentials in there. 00:31:13 James So actually now take a dependency on Maui Essentials when you're on the net. 00:31:17 James 6 version. 00:31:19 David And have you had time to document and blog that beautiful journey? 00:31:25 James It's on my list. 00:31:25 David So I think that's you know the same thing with the Community toolkit and everything. 00:31:30 David I know that there are other library maintainers are facing a similar situation. 00:31:35 David Where do I bundle everything as one big nu get package? 00:31:39 David Do I split it out and have a Maui specific version and leave the Xamarin version as it is? 00:31:45 David And then what do I have to do to make this happen and? 00:31:48 David How do I do the CI blah blah blah? 00:31:50 James Here's what I've been saying. 00:31:52 James I had a big conversation with Brandon all about this now. 00:31:55 James I think if your nu get package has the words Xamarin forms in the name, I think it's OK for you to create a new package. 00:32:03 James For Don Amaui, right, if it's a dynamic, especially in control, things like that, now it's a plug in let's. 00:32:09 James Take the Bluetooth. 00:32:10 James Plug in for example, or then a billing plugin where it's not specific to Xamarin forms. 00:32:15 James It's just cross platform functionality. 00:32:18 James I want to support everyone for as long as possible, right? 00:32:23 James Until the the iOS and Android are out of band, I want to support people on that to make sure they can build. 00:32:30 James Now they may not get any new features or bug fixes or things like that, but I'll tell you this much just to build everything. 00:32:37 James I didn't change anything. 00:32:38 James I ifdef one line of code. 00:32:40 James Much between the Maui stuff and then on Maui stuff, and it's all working just fine. 00:32:45 James There's just some toggles that I had to figure out how to like in your CI. 00:32:49 James You just have to install the net six Maui stuff and some stuff, but I'll put a blog together on that. 00:32:54 James That'll be fun, but I feel like, yeah, if you're a UI control. 00:32:59 James Yeah, I think it's OK for you to like. 00:33:01 James Move because like your package name, it's like not representative of what it is anymore, and that's going to give you a. 00:33:06 David Yeah, it's total sense. 00:33:07 James Yeah, that would. 00:33:08 James That would give you an option to like create a branch for. 00:33:11 James For backwards compatibility of saying like hey, you know what like this is the Xamarin forms branch and main isnow.net Maui. You rename your repo and. 00:33:20 James Then you you could still. 00:33:21 James Ship both of them, right? 00:33:24 James If you want to for a little bit, but if you're just creating a normal package I I feel like it's nice to support as many as humanly possible for for a while, like kind of like when I think about supporting iOS versions. 00:33:37 James You know how far back do I want to go and my Frank Krueger that's supporting iOS 6. 00:33:42 James For some reason that's nearly impossible. 00:33:43 James Random tasks, I don't know how he's doing it or you like me where I I do n - 2 which is the current version minus two years. 00:33:52 David Does frank test? 00:33:54 James Frank does, yeah I think he supports iOS 9 still, but I think he's a man. 00:33:57 James I've been talking about him dropping iOS nine. 00:33:59 James It's a tough one. 00:34:00 James iPad 2, iPad 2. 00:34:04 David Yeah, that's a ways back wow. 00:34:06 David Well, congratulations on doing that and that's a great point about the Yammer name being in the package is. 00:34:11 David Kind of a trigger point there. 00:34:13 Matt James, we know what's coming up on mid Feb. 00:34:15 Matt David mid February you two what's coming up? 00:34:20 Matt Mid February, right before Valentine's Day, guys. 00:34:20 David Uh, from us or just anybody they'll prompt. 00:34:23 Matt No, uh, struck from from the Microsoft we collective guys. 00:34:29 Matt And this is just a little teaser. 00:34:30 Matt I mean just to kind of, you know, to bridge the gap until the next topic, but. 00:34:34 James Yeah, yeah. 00:34:36 David Well, we're definitely going to have another releaseof.net Maui, and I will include whatever they get done between now and then. I don't have terribly many specifics, but there is an event. 00:34:49 David Coming up somewhere thereabouts that will be celebrating 20 years of Dot net and the best Massi I know tweeted today that she has been hard at work getting everything lined up and I'm sure she's probably got guests and special guests and photos. 00:35:07 David And who knows, I'm she might. 00:35:09 David Even drag out some old video clip. 00:35:11 David Oops, I mean, I remember what I was doing. When.net first was released. I was working for a healthcare company that was stuck doing VB 6 stuff and I was like I'm not doing VB 6 stuff. 00:35:25 David I don't know VB, but how about I go off and do this dot net thing 'cause I was building the website for them. 00:35:32 David And they're like, yeah, sure, fine. 00:35:33 David And so that's how I was introduced to. 00:35:37 David Net and was able to do that despite everybody else writing really old code. 00:35:42 David And and I had a cool desk and I had a great little iPod stand and my phone would make my speakers go. 00:35:53 David That's what 20 years ago was like working in an office. 00:35:59 James I was in high school so. 00:36:01 David No really, yeah. 00:36:03 James 1520 years ago, a long time ago. Yeah, but stay tuned to the net website, the.net YouTube's all the places whole lots of exciting stuff coming up. I just got some of the art assets today. 00:36:04 David Oh gosh. 00:36:04 David I forget. 00:36:15 James The the design team just made some really just stunning, beautiful things. 00:36:18 James I'm really excited about it so. 00:36:20 James I have to. 00:36:21 James I have to modify some of the stuff for my crazy ridiculous monitor, but besides that I'm I'm excited about it. 00:36:26 James So yeah, keep we got lots of in stores so def. 00:36:29 James Only stay on it. 00:36:31 Matt Yeah, just a little teaser. 00:36:33 Matt Become something that is going on right now that everybody should check out is that we have a learning path or Microsoft learned series going on. 00:36:40 Matt I think there's like five or six of these and how they create.net microservices with usingwell.netasp.net and so on. Nisha Neil is. 00:36:49 Matt He's like the host. 00:36:50 Matt Of these, he's doing like all of. 00:36:51 Matt Them 'cause he he's. 00:36:53 Matt The.net micro service man. 00:36:56 Matt And So what they are, I'll put the link in the show notes for him, and there's how many are there? 123456 and it'll take you all the way through what microservicesarewith.net? 00:37:08 Matt And that one actually has already shown. But we can go and watch live or watch now for on demand all the way through deploying a cloud nativeasp.net 00:37:17 Matt Core microservice with GitHub actions that was going to be on March 1st, so they're going on every Monday. 00:37:23 Matt And yeah, check him out, learn, live what that is is that we have a learn module on the topic, and then a presenter goes through, works the Learn module. 00:37:34 Matt You can ask them questions as they go. 00:37:36 Matt It's interactive. 00:37:39 Matt It's fun, it's it's a lot of fun to ask the questions you learn as you go. 00:37:43 Matt You see the demos live, it's. 00:37:45 Matt It's almost like a conference talk except you. 00:37:47 Matt You have all the material in front of you, so. 00:37:50 Matt Yeah, definitely check it out. 00:37:52 Matt I'll put this, put it in the show notes where everything is. 00:37:55 James It's really cool because there's entire learning path on Microsoft. 00:37:58 James Learn for not only that but also for Blazer and. 00:38:01 James And also there's new banners saying that the down in Maui ones are coming soon. 00:38:05 James They're coming soon and they're on their, they're they're, they're they're, they're kind of, almost done. 00:38:05 Speaker 1 Thank you. 00:38:09 James But as things of all, we want to make sure they're ready to roll. 00:38:11 James But yeah, go. 00:38:12 James Definitely go check out the micro service ones 'cause we just kicked it off. 00:38:15 James And gave a little sample and they redid that one. 00:38:17 James But now it's all from start to finish of all the things. 00:38:20 Matt Yep and well, Speaking of microservices, let's just jump right into the Azure service of the month and something you could use to deploy our microservices with are not really deploying, but host them with is the Azure container registry. 00:38:34 Matt So what is Azure container registry? 00:38:36 Matt Well, if you're familiar with Docker registry, it's that, but it's on Azure. 00:38:41 Matt It's a place to hold all your containers up, and so why would you want to use ACR or Azure container registry over Docker registry? 00:38:50 Matt Well, you want to private. 00:38:51 Matt You want it easier to use with all of your other Azure services. 00:38:55 Matt Well, use Azure container registry rather than having them somewhere else. 00:38:59 Matt So another nice thing though, that you would use it for. 00:39:02 Matt Let's say that you are integrating with Azure App Service, which runs containers. 00:39:07 Matt Put it up in Azure Container registry, just kind of. 00:39:10 Matt Work centers like Azure Kubernetes service, so it's just nice integration between the other Azure services, but here's the cool thing is, if you're developing, check it into Git or something using all the cool new git resources in Visual Studio 2022. 00:39:24 Matt You can kind of offload your Docker build processes up to Azure and just have it build up an Azure container registry and get a new image put up there. 00:39:35 Matt So Azure service of the month Azure Container Registry. 00:39:40 Matt When we hit some cloud news while we're. 00:39:41 Matt While we're right 00:39:42 Matt At it well, I'm well, I'm going I'm on a roll so. 00:39:45 Matt Well, I learned about this new product. 00:39:47 Matt It's not out in it's you can actually use it right now, but it's not over Georgia yet. 00:39:52 Matt Still, in previous called Azure Chaos Studio, which sounds pretty cool, right? 00:40:00 Matt And so there's whole this whole subdiscipline of chaos engineering and essentially. 00:40:06 Matt It's what it is is really kind of be formalized, scientific method of. 00:40:11 Matt Let's see what happens when you pull the. 00:40:14 Matt A power cord out from the server, so it's we're going to actually go through and make an experiment to see what happens. 00:40:22 Matt Like if our database fails, see what happens to our application. 00:40:26 Matt Does it go down or did we actually make it good so it's resilient? 00:40:30 Matt And so there's this Azure Chaos studio which. 00:40:33 Matt As it sounds, it's sitting on Azure and it gives you a nice WYSIWYG interface. 00:40:39 Matt That you can go through, you import your Azure services that are running at part of your application and then once you have them on there or you on board them. 00:40:48 Matt So let's see you onboard a virtual machine. 00:40:51 Matt It'll give you no one faults like so I have my virtual machine in there. 00:40:56 Matt It'll say do a like an abrupt stop. 00:41:00 Matt And so now Azure Chaos Studio then is going to actually shut that shut that virtual machine down hard for you. 00:41:08 Matt And then you can monitor your application. 00:41:10 Matt Then let's see what happens like there's another virtual machine come up to take its place and like for like Cosmos, let's say you can like simulate. 00:41:20 Matt A uh write region shut down. 00:41:23 Matt So does Cosmos fail over to a proper read region for you? 00:41:27 Matt Like does it spin up a read write region? 00:41:28 Matt You can see how long everything has been shut down for pretty neat, and then what's nice then is that you get the results. 00:41:36 Matt My app was down, let's say for five minutes while everything was spinning back up. 00:41:40 Matt Now we can go back in and fix it. 00:41:42 Matt And it's actually it's not simulating these events. 00:41:45 Matt It really is killing it, right? 00:41:48 Matt So you're not going to do it against a production app at all, but you can actually go through step by step rollback any steps as you make these experiments out. 00:41:56 Matt And yeah, find out what results in downtime and actually. 00:42:01 Matt And actually fix it so they introduce chaos into your system and then. 00:42:06 Matt Fix the chaos. 00:42:08 Matt Unplugged the cord. 00:42:09 Matt And see if your. 00:42:10 Matt App still still still is in there. 00:42:14 Matt And then some other cloud news. There's this conference guys, and it's a 24 hour virtual conference organized by Microsoft in the community. 00:42:26 Matt And that sounds a lot like. 00:42:28 Matt Azure Cosmos DB. 00:42:31 James Ah, OK. 00:42:31 Matt Yeah Yep, itslike.net comp, but it's for Azure Cosmos DB and they're actually accepting call for paper right now and I'll put out the CFP 00:42:40 Matt So if you haven't talked, you want to give about Azure Cosmos DB. 00:42:43 Matt Yeah please do apply, but it's going to be April 19th and 20th and it's going to be going on for. 00:42:48 Matt 24 hours targeted. 00:42:50 Matt Across the world. 00:42:51 Matt As we go for the Americas, or for APAC regions or email and so yeah, check it out. 00:42:58 Matt It's gonna be pretty cool. 00:42:59 Matt It's a second time they're running this, and yeah, it seems a lot like.net comp on how we run that, but all on Azure Cosmos DB tool. 00:43:10 I think it's. 00:43:11 Matt Pick up the pod time. 00:43:13 Thank you. 00:43:13 James Pick up the pod. 00:43:17 James I pick. 00:43:20 James It's a great question. 00:43:22 James I am probably going to pick out some updates to the material frame library. 00:43:32 James Because they added translucent transparent. 00:43:38 James Windowing on both Mac and Windows. 00:43:40 James It's super nice, as in the sharp NATO new space over there I probably mentioned it before, but the newest updates make really cool, transparent, fluent E UI really, really cool. 00:43:53 James That's probably a pic of the. 00:43:54 James Pod, even though probably picked it before. 00:43:58 David I I was, uh, I haven't had a chance to use this yet. 00:44:03 David I mentioned it during the Community stand up earlier this month, but there is a library that I found that enables you to use X bind syntax in your Xamarin forms. 00:44:17 David Applications and other. 00:44:18 David It supports even more than Xamarin forms, but if you're coming from one of the XAML frameworks that. 00:44:25 David Prefers to use X bind and you're looking forward to you know, squeezing every ounce of performance out of your bindings in your applications totally check this one out. 00:44:35 David At the time I think I I've looked at it, it hadn't gotten a lot of activity, but I mean the the the maintainer is already reporting. 00:44:45 David You know some benchmarks and things like that, so it seems like it's been thoroughly vetted so far, and we'll include the link in the show notes after I find it and give it to me. 00:44:58 Matt I was just going to say put those links in the in the outline guy. 00:45:02 Matt All right, and so mine is going along with the not a development toolkit at all is called Microsoft Clarity. 00:45:09 Matt Have you? 00:45:09 Matt Heard of this before. 00:45:11 James Yes I have. 00:45:11 You know? 00:45:12 Matt You have, it's amazing I've I had not heard of it until I saw it on Twitter the other day and it's like gives you a heatmap of like where people are clicking on your website and it kind of shows people how you, how people are interacting with your website. 00:45:14 Speaker 1 Right? 00:45:27 Matt Or or not and and like for a blog, you know what are they going to do on a blog? 00:45:33 Matt At least, that's what I tell myself and I don't. 00:45:35 Matt See any heat map? 00:45:36 Matt But yeah, it's kind of neat. 00:45:38 Matt It's all free. It integrates with Google Analytics as well, and yeah, so it's really neat. Just clarity.microsoft.com and it's just one of those new. 00:45:47 Matt Those neat tools out there that kind of give you a visualization of what's going on, and I'm going to open mine up to see if anything. 00:45:54 Matt Happened, so refresh and. 00:46:01 James Let's see. 00:46:01 Matt On your users, since I set to set. 00:46:03 Matt It up this afternoon. 00:46:05 David I like those kinds of things. 00:46:07 David I don't know if this particular one does it. 00:46:09 David Does it do like a history of what the user did? 00:46:11 David Or is it just a heat? 00:46:13 David Map you do have a. 00:46:14 Matt Little bit of a yes yes of they. 00:46:17 Matt Call it like a record. 00:46:18 Matt So yeah, yeah. 00:46:19 David That's fantastic I so I used to use a service just like that back before I joined Microsoft back when I had my own customers and when I was doing web apps and I would get a support ticket, you know hey this such and such doesn't work because I had this particular service plugged in, I would be able to go back and see exactly what steps they took. 00:46:38 David Leading up to the issue that they reported. 00:46:42 David So if that service does the same thing. 00:46:45 David Even better. 00:46:46 Matt I'm watching it. 00:46:47 Matt Right now there's somebody. 00:46:48 Matt This is totally. 00:46:49 Matt Creepy, right? 00:46:50 Matt They're going down and reading the article. 00:46:51 David It's not creepy. 00:46:52 Matt They're they're going pretty fast Sunday articles, so they're not really reading it. 00:46:56 Matt So come on. 00:46:57 Matt But yeah, that's actually really neat. 00:47:00 David Cool, well, well we're all scanners now. 00:47:02 David We we skim and scan. 00:47:05 James Yeah, it's it's a really cool service. 00:47:07 James I tried it out on mine as. 00:47:08 James Well and just you might as well give it a go. 00:47:10 James So I think it's super helpful if you're building like a consumer facing application 'cause you can really tell like are they. 00:47:16 James You know, we we say like above the fold like do you have to scroll or not? 00:47:20 James Are they scrolling to your content? 00:47:21 James The answer is usually not unless they're reading an article, right, but if it's like a visual information or seeing where people are going, it's also kind of fun because I'm very article. 00:47:30 James Driven, I'm one of those people my wife has now taught me to highlight text while I'm reading. 00:47:35 James Yeah, like I do that all the time like and I'm I'm clicking. 00:47:38 James And clicking and. 00:47:39 James We're sometimes I was like I was like looking at the clarity content. I just saw like a person like click 1000 times and I was like oh they maybe they think it's a button or something but like no like I started to see that they were like me and they're like there's a lot of people out there that highlight text as they're reading and they. 00:47:55 James They constantly click click click, click, click and and it's kind of. 00:47:59 David Yeah, I do that if I'm having trouble focusing. 00:48:01 James There you go, yeah. 00:48:02 David It really helps you to kind of anchor to what the heck it is you're supposed to be doing instead of getting distracted and checking Twitter. 00:48:08 James Alright, let's going to do it for this week. 00:48:10 James This month Donnelly podcast we made it to the very end. 00:48:13 James Thank you both and thanks to everyone has been tuning in since the very beginning. 00:48:17 James If you have any feedback, let us know. 00:48:19 James I head over to the website, leave a comment, do all the things we appreciate it. 00:48:22 James So until next time I'm James, that's David, that's Matt and this is Ben The Dynamite podcast.