00:00:10 Matt Welcome everyone to the.net Maui podcast. We're here to keep you up to date with the latest and greatest and. 00:00:23 Matt Net client development. We'll talk about some Azure, some Visual Studio and ofcourse.net Maui. I'm Matt Soucoup. 00:00:30 James Now I'm James montemagno. 00:00:32 David And I'm David Ortinau. 00:00:34 James Well, we should definitely add some blazer into it. 00:00:38 James I mean really, you know what? 00:00:40 James Can't you do with Dot net Maui? 00:00:41 James That's the question. 00:00:42 David That's yeah, I mean really, it's kind of about taking customers everywhere. 00:00:47 David They need to be, so yeah, and then eventually we'll be able to add other platforms and. 00:00:53 James All the things tell. 00:00:54 David We can talk about IoT. I had an interesting email today just by way of introduction. Customer representing a government asked if Microsoft was still investing in netandif.net was going to be around and I'm. 00:01:08 David Thinking to myself. 00:01:09 Speaker 1 Ha ha. 00:01:10 David Oh, we have so many companies and developers on Dot net is not going anywhere. 00:01:15 James 5.4 million? 00:01:16 David Yeah, it's not that I like. 00:01:19 David Yeah, it's it's fantastic. 00:01:21 David I well of course we saw the the numbers and the trends and the increases at net comp, which I'm sure that we'll touch on a little bit here, but. 00:01:29 David Yeah, it's always.net. No, he doesn't know. 00:01:32 James It's always. 00:01:32 James It's always fun talking with developers in the community that have been, you know, new to net. 00:01:37 James And in in in long term in.net and where's it going? Where is it coming from? Ithinklike.net config so is a great. 00:01:42 James You know, kick off to. 00:01:43 James Basically, here's all the things that are that have been happening here and there, and then all the focus ones too. 00:01:47 James Maybe we just need to talk about that more. 00:01:49 James More and more more more.net everywhere basically all up in your face, but you know I I just got back from VS Live Orlando. 00:01:57 James And did some sessions there with Maddie, which was RAD and we did have some great great response to the net. 00:02:04 James Maui the blowey if you will. 00:02:08 James I'm just going to. 00:02:09 James I just I I'm going to start using that everywhere. 00:02:11 James I don't care what marketing says, so the Donnelly Blazer stuff is really cool. 00:02:14 James I mean, I'm not a web developer, however. 00:02:17 James You know there are many Web developers in the world and I think this is really cool. 00:02:21 James Like someone whose son was joking on Twitter about like oh like before we wanted to make every like web developer or client developer. 00:02:27 James Now we want to make every client developer a web developer. 00:02:29 James No, we don't want to do that, right? 00:02:30 James I think it's hey you can now pick and choose what you want right? 00:02:34 James And and build those native apps in your web apps however you want to, which I think is really, really cool, and especially if you're a web developer, you know just using even as a shell and accessing those native APIs is going to be a huge win for you. 00:02:49 James I mean, like, that's. 00:02:50 James Like the first time, you know as a Windows developer for a long time. 00:02:53 James The first time I. 00:02:54 James Around Xamarin, right? 00:02:55 James I was like I had that same exact feeling like whoa like I can now build an Android and iOS app like I never thought I could do that, you know? 00:03:02 James And then when we went across platforms, well, I never thought I'd be able to create one UI that went everywhere. 00:03:06 James You know across these all these different platforms, so hopefully there's there's something in. 00:03:10 James In.net for you. 00:03:11 James And I I felt like that was, I read it like a keynote. 00:03:14 James There too, and I I think you know when we talk about Donna being a unified platform. 00:03:18 James It's really a, uh, not only just a unified platform, but a platform that we want. 00:03:25 James Microsoft wants the DOT net team wants the community once is is applied. 00:03:28 James That whatever you want to build there is the capability for you to build that so and share code between all of your applications and build out UI or libraries or microservices and and and you know basically reuse that knowledge. 00:03:48 James Everywhere another developer come up and say oh their companies use a lot of angular, but they they really want to use more.net and I said Oh well, you know, what are you using on the the back end? 00:03:58 James You know, for your APIs, are we using net for our Web API's and say oh cool well well there you go like build, build a blazer shell like Blazer app or an asp.net core app action. 00:04:09 James That's why I said it says build an asp.net core app and you can. You can have it host angular. 00:04:14 James The new templates are in there. 00:04:15 James You can have it host react and you can also host blazer 'cause like. 00:04:18 James You want more blazer stuff? 00:04:19 James And I was like cool, yeah, just like take your website and put it in asp.net and and you can have angular in there. 00:04:24 James You can have this. 00:04:25 James You know the dot net website for example. 00:04:27 James I'm going to ramble here about stuff 'cause I got. 00:04:30 James I got in at 1:00 AM, so it's pretty pretty anymore coffee, but. 00:04:33 James Uhyouknowthe.net website, for example, that is asp.net core. It's mostly razor pages, but it's also some MVC stuff. 00:04:43 James It's also some react stuff. 00:04:45 James It's also some blazer stuff. 00:04:47 James What isn't it to be honest with you 'cause a lot of people have worked on it over the years. 00:04:51 James And then there's different pieces of technology, and it's a cool showcase of you can mix and Max technologies like it's OK to have a, you know a angular or react front end and.net powering your back end. Like that's cool. 00:05:05 James You know what I mean? 00:05:06 James I mean sure you want more dot net everywhere, but like you know you could pick and choose what you want. 00:05:10 James I think it's. 00:05:11 James Beautiful thing it's a beautiful thing I'm talking. 00:05:13 David Yeah, well, you know the you mentioned Angular and when I talked to customers and I you know I talked to a lot of customers every week. 00:05:21 David And and when I find out that they have, you know, a lot of web developers. 00:05:26 David Very often those web developers are mostly well versed in angular and or react. 00:05:33 David But lotsof.net ends up getting used, and of course you know when they're calling and talking. To me it's typically because they have Microsoft as a partner, or you know they're already invested in the net stack somewhere in there or. 00:05:46 David And you know, Blazer is still relatively new, especially in enterprises and large organizations that have been, you know, developing apps for years and years and years. 00:05:55 David So Blazers very new to them, but then once they see that they can start doing these kinds of hybrid scenarios that really delivers a best of breed. 00:06:07 David Experience, I guess there's maybe a way to say it that's a little buzzy. 00:06:10 David But you know, it's like OK, what is going to give you the best experience on a mobile device for a certain scenario? 00:06:18 David Probably native and then so. 00:06:20 David So for that you have dot net Maui and you can choose XAML. 00:06:24 David You can choose C sharp however you want to do it, but then you may have other features in there that it's really more important for you to have code share with a with a web property and so then you can start embedding things either in a blazor web view. 00:06:38 David Or just a straight web view and you know, it's really what is the best thing for those scenarios is how we typically like to guide customers and this you know, as easy as it would be to have from a marketing perspective, A1 size fits all. Here's the product matches your solution everybody. 00:06:55 David Maybe the the reality is, is that letsmake.net as strong and powerful as it needs to be so that you don't have to make those sacrifices in terms of user experience and features. So there's my ramble right back at you, James. 00:07:09 James Love a good ramble. 00:07:10 James What's your ramble, Matt? 00:07:13 Matt What I love about.net here is that you know you guys are absolutely right. Is it's good for all the things. 00:07:20 Matt And last week was last week for DOT net conf rightyeah.net conf last week. 00:07:25 Matt Is that what? 00:07:25 Matt We didn't hit on and I'm kind of a little bit big. 00:07:28 Matt On in this little bit little bit. 00:07:30 Matt If he is the power platform right? 00:07:32 Matt And you can actually write a lot of dot net stuff for the power platform to help out with some citizen developers and the citizen developers are the folks who are not professional developers by their day job, but by they just they happen to do development for power. 00:07:50 Matt Apps and such, but we can write a bunch of dot net to help them out with like custom connectors and and and so you write something. 00:08:00 Matt Like an Azure function, put it in the API. 00:08:02 Matt Management actually doesn't even need to go into API management, could just be an open API supported 1. 00:08:07 Matt It's all net like a net Web API, throat, even throw it into a docker container or something which Nisha Neil and I even talked about and then bring it right back in to. 00:08:18 Matt Power apps and it's actually super cool on how easy it works. Soimean.net is everywhere. It's even in the power world so. 00:08:27 Matt Dot net everywhere right? 00:08:28 Matt So it's true pretty neat and. 00:08:28 David Star everywhere. 00:08:32 Matt So David, I know we have to get you out of here in like 5. 00:08:34 Matt Minutessoanythingnewwith.net, Maui. 00:08:37 David And yeah, I'm I'm going to a kid lunch. It's Thanksgiving season. So uhm. So yeah, you know with.net six launching, we also have a new preview update of Dot net Maui. 00:08:50 David So I did blog about this. Of course you can go check out the blog. It's a bit smaller in terms of new features because you know we're ending kind of the near near the end of the cycle towards an RC release in Q1 of next year. And that's calendar years. By the way. Calendar quarters. And then. 00:09:08 David And then in Q2 uhgareleaseof.net Maui. So mostly a lot of bug fixes in this one. I think one of the nicest comments I read on the blog post. 00:09:18 David Was saying hey, thank you so much. 00:09:20 David This actually solves several of the things that were filed in a previous release that were impacting me, so that's great. 00:09:27 David We're starting to see some of those things get polished out. 00:09:30 David Progress on the handler porting this is bringing over the Xamarin forms to Dot net Maui control. 00:09:38 David So implementing all the remaining properties and things like that, so we're getting very close on that collection view and indicator view have made an appearance previously. 00:09:48 David They were shimmed in using our compatibility Shim which you can use for custom renderers, by the way. 00:09:56 David So if you have custom renderers in your existing. 00:09:58 David Cameron forms code and you're wanting to bring that forward to dot net six, which I highly recommend everybody. 00:10:03 David Does then your first easiest step is to Shim those things in and that actually is something that I talk about in a other blog post because I couldn't write just one blog post last week. 00:10:15 David I had to write 2. 00:10:16 David So the other blog post is on the Xamarin blog and it talks about all the things that are new for Xamarin. 00:10:23 David Xamarin forms developers in terms of the latest Android, the latest iOS as well as what's new in Visual Studio 2022 for. 00:10:31 David You and then I also spend some time talking about what the support and the road ahead looks like for you. 00:10:38 David If you have existing apps on your way to net Maui and a high level look at what your migration strategy looks like, going from Xamarin and Xamarin forms to Dot net six and net Maui. 00:10:51 David So definitely check out both of those blog posts for that information. 00:10:55 David Some key bits of additional information. 00:10:58 David Before you make sure that when you're doing dot net Maui things you're using Visual Studio 2022. Seventeen .1 preview one so it's not in the 17 oh GA release because some of these tooling features hot reload and things like that are still being baked and of course. 00:11:19 David You know we're doing work in the SDK's as well, so you want to make sure you stay on the preview channel for now and we'll let you know as we continue to release previews. 00:11:27 David Which versions of Visual Studio you're going to have the best experience in? 00:11:30 David But the coolest thing here is that all of the Windows dependencies for Windows App SDK win UI 3. 00:11:37 David It's all right behind a single checkbox now, so all you need to do when you're installing this version of VIS check that mobiledevelopmentwith.net, which is a bit of misnomer now, right? Because we have desktop as well, so that's going to get you know updated in a future release. 00:11:55 David But all you do is check that you'll notice that the dot net Maui preview checkboxes should be pre checked for you and the optional components and you get everything you need, so you can just F5 right into your first Windows Windows App SDK app and it should launch for you no problem. 00:12:13 David Jumping ahead now in terms of what you're going to see next, I wanted to highlight a few things there. 00:12:19 David I OS type alignment, so there are a couple of number types that we have in Xamarin iOS that. 00:12:29 David Don't exist in net six essentially so in order to make this you know fully unified with the rest of. 00:12:36 David Dot net we made the decision to go ahead and make this breaking change so that we can you know, all move forward at the same pace. 00:12:44 David What this means is that any iOS things that you will adopt in the coming releases, you'll need to update your other dependencies. 00:12:53 David So any libraries or things like that that use iOS. 00:12:57 David Types, you'll just need to recompile them against against the new.net six types. 00:13:01 David That we really. 00:13:03 David The second thing is that our performance in app size work is now kind of in full swing. 00:13:07 David We've had some incremental improvements in the past releases, but in the next several releases we hope to really start to land some of this work in the in what we ship. 00:13:18 David Dot net Maui apps have on certain devices. We always have to throw that out there. On certain devices, the app startup is now below one second, which is really exciting because if you've used Xamarin forms in the past, you know that app startup tends to be more on the 1.5 to 2. 00:13:36 David Seconds, even for smaller apps you. 00:13:38 David Do quite a bit of work to get it down below that, but this is the default experience, so we're really excited about that and it doesn't stop there there. 00:13:47 David I just saw a PR this morning from Jonathan Peppers where he is doing some work to reduce the number of Java interop. 00:13:55 David Calls that happen. 00:13:58 David You can go up on the Mal repo, find that PR and take a look at exactly what's happening. 00:14:02 David If you want the nitty gritty. 00:14:03 David But essentially the idea is we know that we need to cross that bridge many times, so let's batch those calls and see how much time we can save per control and the numbers are very encouraging. 00:14:15 David So we're going to see a lot of milliseconds pile up there. 00:14:18 David Which may may have some some very positive results, and I'm excited about that because this is actually a change that Jason Smith recommended a long time ago, and so we're finally able to start to see if we can't make that thing work for us. 00:14:32 David So those things are all coming as well as some. 00:14:37 David You know of more improvements or and or completion of handlers, so look forward to that release candidate and the first quarter of next year and between now and then we'll have monthly releases. 00:14:47 David Things will slow down in December. 00:14:50 David Now I feel like I'm giving a weather report. 00:14:51 David Things will slow down in December with the holidays and everything so into the. 00:14:57 David New Year, but then we'll pick up speed again as we get towards that release candidate. 00:15:02 David And with that weather report back to you, James or Matt. 00:15:08 James Thanks David. 00:15:09 James Are you at now right now, you gotta. 00:15:10 David Though I do need to go, yeah, my wife actually just walked in the front door with the food for our lunch, so I should. 00:15:16 David Probably get going. 00:15:17 James All right, David, we'll have a good one, and we'll see you next month on the down in my podcast. 00:15:22 Speaker 1 Thanks man bye. 00:15:22 James We'll be right back. 00:15:26 James And we're back. 00:15:27 James That's right, we like we didn't really leave Batman. 00:15:29 James We're always here, yeah. 00:15:31 Matt Yeah, I mean I just sit on this, send caster and wait for the next month. 00:15:35 Matt Here everything is where I am and I'm just waiting for the next dot Net Maui podcast, featuring laser blowie James I. 00:15:42 Matt I let that one go while you were talking blowey. 00:15:45 Matt I love that. 00:15:46 James Yeah, I you know I I I I propose that as the name a while ago and and let's just say it didn't go super well. 00:15:53 James But yeah, we had dot net com. 00:15:55 James It happened, it's amazing. Everything there's all the videos on the net, YouTube and on Channel 9 or on the Doctor. 00:16:01 James Never that you'll find all of them will put links into the show notes. 00:16:04 James There's like I don't know 80 some odd hours of content from the net team from the Microsoft Teams from the community. 00:16:10 James All sorts of good stuff there. 00:16:12 James We had an amazing keynote that took off Maria mad. 00:16:18 James Maddie hanselman. 00:16:22 James Who else was there? 00:16:23 James Fowler, Dan Roth, Maddy Hunter, all the people were there Maria Mads all the people mission repeat names 'cause they're all there. 00:16:33 James They're all there. 00:16:34 James When it's only happened, it was it was super cool and it was announcements of the release of Dot net six of C Sharp, 10 new versions of F# brand new minimal APIs and asp.net core. 00:16:47 James What else was in there? 00:16:49 James They showed Azure container apps, they showed all the new enhancements in blazor, such as. 00:16:55 James The new compression that they have going on when you compile and release your blazor application, a web assembling app. 00:17:04 James The executable for, like the big podcast apps that they showed off was like 300 kilobytes or something like that, which is crazy and awesome. 00:17:12 James Uh, Maddie showed off down in Maui and then Maddie and Dan showed off. Blowietogether.net Maui and Blazer together, putting a little blazer into your.net Maui app. And then. 00:17:25 James Later on, uh LAN Lipton showed a demo of taking an entire Blazer app and putting it into a net Maui app, so just 100. 00:17:33 James Sent Blazer and a native output accessing native APIs or using Maui Essentials for example. So so cool to see it all really come together and and and with VS 2022. 00:17:45 James I mean so much good stuff in there that all came together and now it's just like David said, it's just you know those single checkbox boom. 00:17:51 James It's like go check it done. 00:17:54 Matt Yeah, so let's talk. 00:17:54 Matt A little bit more about that demo or the keynote demo. 00:17:57 Matt James as you see on the top row, one of the podcasts that was mentioned, definitely yeah. 00:18:01 James As our pocket, I think. 00:18:02 James Our podcasts got highlighted a lot, so hopefully there's a lot of new listeners young to the pod. 00:18:06 James So yeah, that was pretty cool. 00:18:09 James Thankfully, it was. 00:18:10 James I think it was demo. 00:18:12 James I mean I was funny 'cause I think we treated like a photo of it and like merge conflict was in there too. 00:18:17 James And and I tweeted, I think someone tweeted about that and I was like, yeah, I wonder who worked on this demo app? 00:18:24 James Who knows, it was me and a bunch of other people who worked with Dan was on their lawn was on their. 00:18:31 James Maddie worked on David, worked on it and then we had an amazing team at playing concepts, which is amazing. 00:18:37 James Individuals that helped build out the entirety of of the application as well. 00:18:41 James So they did mostly hard. 00:18:43 James Hard lifting and but it was cool. 00:18:44 James I got to actually like. 00:18:45 James Me and nish from my team basically were in kind of in control of of the demo app, so Nish Nish came up with listen together. 00:18:55 James I kid you not. We were thinking of like what's a great use case of blazerand.net Maui together and. 00:19:02 James And a, you know, a lot of people that go well. 00:19:05 James It's like put this screen here this year. 00:19:06 James Now we know we want a real, you know bigger real-world use case. 00:19:10 James And it was, funnily enough, like we didn't have time to recreate that entire screen and implement all the code where it was cool about this. 00:19:17 James Listen together, most like you'd be listening to this podcast like let's say you're listening to this podcast right now in the app. 00:19:23 James Want to listen it with me and and well as close as you can. 00:19:26 James Create a room and then you anyone can start and stop the podcast. 00:19:30 James Skip ahead and then you can send emojis based on where you're listening to gather which school that all use signal R. 00:19:36 James So all that signal R stuff was just in the dot net Maui stuff or in the blazer stuff in the Maui app. 00:19:42 James So it's really cool just to. 00:19:44 James See it all slapped together. 00:19:46 Matt Well, that's awesome that Nish came up with it. 00:19:48 Matt He I did not know about it. 00:19:49 Matt He demo'd it for me but he. 00:19:51 Matt Didn't tell me that was his idea. 00:19:52 James Oh yeah, Nash Nash. 00:19:56 James So, pretty cool, huh? 00:19:58 Matt Yeah that was amazing. Yeah it was a great app. I mean, all.net conf was amazing. 00:20:02 Matt Yeah, like like you said before was three days the the big big keynote, but I mean there were so many other other sessions that went on throughout the throughout the three days from people from Microsoft, people from the community. 00:20:16 Matt City it was nonstop and they all hit YouTube. And like you said channel 9 or Microsoft learn channel and everything else. 00:20:25 Matt I think they all went up yesterday they finally. 00:20:27 Matt All made it. 00:20:27 James Up so yeah, any favorites? 00:20:29 Matt You home well. 00:20:31 Matt I was there. 00:20:32 Matt So yeah, my that's number one there, me yeah. 00:20:36 Matt Yeah, that can't be. 00:20:37 Matt Can't be no, it can't talk. 00:20:38 Matt It down UM. 00:20:40 Matt Let's see, I always like looking at the stuff I know nothing about. 00:20:44 Matt OK, yeah, so and right now I don't know much about Blazer so I like learning that stuff. 00:20:51 Matt 'cause like I'm not. 00:20:53 Matt Really, much of a web developer, either James so, but always trying to get into the uncomfortable zone and learning a little bit. 00:21:00 Matt So that's that's the new. 00:21:03 Matt That's the hotness and also. 00:21:06 Matt Just learning like Kubernetes type stuff. 00:21:08 Matt So going into and learning the the the. 00:21:14 Matt The whole the whole container ecosystem. 00:21:17 Matt Even though Mission, I did a whole session on micro services so I know a little bit, but I need to push a little bit more so the whole Azure container services stuff was interesting too nice. 00:21:27 James Yeah, I really enjoyed a Kendra talk on testing. 00:21:32 James Really, really cool. 00:21:33 James My favorite part of that demo was. 00:21:35 James She showed how new in the new test explorer in Visual Studio 2022. You can do a drop down to do remote testing environments and she showed basically debugging and running the test in a Docker container locally on your machine which was really neat for like Linux. 00:21:55 James Specific tasks and then she ran the tests remotely via SSH on a VM in Azure that was running Windows 10, which is really really cool, so she was like kind of showing this all together. 00:22:07 James I thought it was it was it was so neat and that was one of my favorites then also. 00:22:10 James So, uhm, Micah did an awesome productivity talk all about. 00:22:19 James All about all the new features and analyzers and refactorings all inside of Visual Studio 2022. And just like. 00:22:28 James So cool, basically you know what I mean? 00:22:31 James Just like there's so much good. 00:22:32 James Stuff in there. 00:22:33 James Yeah it was. 00:22:33 James It was really. 00:22:35 Matt Yeah, so and there's yeah like I said, so many to pick from, yeah, so just head on out to the it's on the dot net you 2 right? 00:22:42 Matt That's where we all posted them. 00:22:43 Matt Yeah, so head out, head on out there and just pick and choose stuff and stuff you want to learn. 00:22:43 James Yep, Yep. 00:22:49 Matt Stuff that push your boundaries and. 00:22:52 Matt Have at it. 00:22:52 James There it's all there. 00:22:54 James It's all happening. 00:22:56 Matt So as part of the whole net 6 release jamesthereswell.net six itself. 00:23:02 Matt But also C. 00:23:03 Matt Sharp 10 came out and so one of my favorite features on C. 00:23:08 Matt Sharp 10 is implicit usings. 00:23:11 Matt What do you think of those? 00:23:11 Matt Those are my, that's that's my. 00:23:13 James Favorite implicit usings and global. 00:23:15 James Using so good. 00:23:17 James In general, I think Mads and dust and they did another great session there too. 00:23:21 James They talked about shrinking your code vertically and horizontally, so this is the verdict of the vertical right where you have all those using statements on top. 00:23:31 James And yeah, implicit usings are. 00:23:36 James Well, I think. 00:23:37 James I think it's easier to about global using first and then implicit usings OK because global usings are like hey I have this namespace in a bunch of files and I I don't want to stop copying and pasting. 00:23:42 Speaker 1 Right? 00:23:48 James Around so I create I create a file called, you know, global usings or usings or I put it in some other files. 00:23:55 James As for the word. 00:23:56 James Global in front of it. 00:23:58 James And then it's used throughout my entire application. 00:24:02 Speaker 1 Right? 00:24:03 James And that's awesome when it's like, oh, I have like, here's all my view models and I'm just going to use them like everywhere. 00:24:08 James You know what I mean? 00:24:09 James Like why am I? 00:24:10 James Doing that I. 00:24:11 James Might as well just, you know, do this one place or all my models or all this other. 00:24:15 James Stuff which is really cool for your project, but then implicit usings, that's a project setting. 00:24:21 Speaker 1 Right? 00:24:22 Matt Yes, and you could turn it off. 00:24:24 Matt But yeah, it's a. 00:24:24 Matt Project setting. 00:24:26 James And what does that do, ma'am? 00:24:27 Matt It's like I wait, I thought of it. It's like 'cause we have like Cyber Monday and Black Friday coming up here and in the US. And it's like the bundle deal for that where you buy a pack. 00:24:39 Matt Like if you're buying a package and you're buying like a battery for for a tool set, you buy a battery and then you get a driver drill for free with it. 00:24:47 Matt So if you're if you're doing an ASP net core project, you're gonna get a bunch of usings that are commonly used. 00:24:53 Matt For free with it, not for free, you know, but they're just included as part of like a global using statement essentially so like, well, they're free. 00:25:02 Matt They come along for free and you don't have to actually use them, which is actually super cool 'cause a lot of times you're using, you know the system threading tasks. 00:25:10 Matt When aren't you usually putting that in? 00:25:12 Matt So they may as well come all the time as part of the implicit usings, and like like you mentioned, it's it's in the project file itself, where there's gonna be a little. 00:25:25 Matt Uhm, the turn it on. 00:25:28 Matt Turn it off option so you don't need. 00:25:31 Matt To have it. 00:25:31 Matt On, because a lot of. 00:25:32 Matt Times you wondering how? 00:25:35 Matt How is this working? 00:25:36 Matt Where is this actually coming from? 00:25:37 Matt You might want to actually specify it yourself, and so yeah, you can turn it off if you want, but it's why leave it on. 00:25:45 Matt Just let it. 00:25:45 Matt You know, let it do its thing. 00:25:48 Matt So yeah, I that's that's the one I that was my favorite thing coming out of C sharp 10. 00:25:55 James But I also I also like talking about shrink code besides implicit and global, using is the. 00:26:03 James File scoped namespaces. 00:26:06 James I always mess it up so file scoped. 00:26:08 James Namespaces and, well, file scope. 00:26:10 James Namespaces are exactly what they sound like. 00:26:12 James They're a namespace that is scoped to the file, so right now you have to create a namespace, put it in squiggly brackets, indent all of your code by 4 spaces. 00:26:20 James No more shenanigans, just do namespace. 00:26:23 James You know my models semi colon done shift all your code to the left. 00:26:28 James Regain all that space and boom you're totally good to go. 00:26:31 James So many good features in there. 00:26:32 James Oh I love it. 00:26:32 Matt Yeah, yeah, 'cause? 00:26:33 James I love it. 00:26:34 James I love it though. 00:26:34 Matt How often do you have more than one namespace? 00:26:36 Matt In a file. 00:26:38 Matt Maybe did it. 00:26:40 Matt Sure, but it's not very often, yeah so. 00:26:42 James Yeah, pretty much never. 00:26:43 Matt Yeah, so one thing though James is, I always indent mine with tabs, not spaces. 00:26:47 Matt That's kind of weird. 00:26:49 Matt Yeah, I don't know, I don't, I I have no idea what I. 00:26:52 Matt I don't happen, I get care. 00:26:54 James I don't you know what, whatever the default is is what I have and if I go into tools, options and like in Visual Studio, AM I probably all out of whack, but really just settings being editor config so doesn't matter, so see. 00:26:57 Matt Exactly exactly. 00:27:08 James What is that under? 00:27:09 James That's under, like text editor C Sharp, general tabs? 00:27:14 James Mine is set to smart indenting, tab size forward indent size 4 keep tabs. 00:27:21 James I think that's the default. 00:27:22 James I don't know someone. 00:27:22 James Someone right into the. 00:27:23 James Show let me know what yeah fault is. 00:27:25 Matt Yeah, that's I use the default too, it's I'm not. 00:27:29 Matt I don't care about the tabs versus spaces, I'll, I'll admit it. 00:27:33 Matt It's what it is, and so there's a couple other new features of C. 00:27:39 Matt Sharp 10 Lambdas had a bunch of stuff put onto it. 00:27:42 Matt You can put attributes on lambdas now, which is pretty cool like. 00:27:46 Matt You could put attributes on classes and methods before. 00:27:49 Matt Put them on lambdas. 00:27:50 Matt We'll and those are kind of their own. 00:27:52 Matt Their functions in themselves, so it makes sense we can put out our attributes onto those and. 00:27:59 Matt Natural expression Lambda types. 00:28:02 Matt That's kind of like file scoped expressions. 00:28:04 Matt Trying to say that right, and So what happens there is the compiler can actually figure out what what the return type is or what the. 00:28:15 Matt Input types are going to be, which is pretty cool, and in that part and then you can also actually go ahead and actually specify hard code. 00:28:24 Matt What the return type of a Lambda is as well. 00:28:28 Matt So that's neat and there's some updates. 00:28:30 Matt Trucks as well and so strucks. 00:28:32 Matt You know they you're always focusing on values for structs. 00:28:36 Matt Rather than behaviors, so structs and classes are, you know, like why wouldn't I use a class versus struct and and so structs are mainly just for values and. 00:28:44 Matt And there's record structs now. 00:28:47 Matt So were you just defining at A at struct initialization and then they don't change and parameter parameterless constructors for structs? 00:28:59 Matt And and if you don't use one, so it's going to use the default value for all the fields. 00:29:05 Matt And so yeah, so it's improvement for structs as well. 00:29:08 James Nice yeah. 00:29:08 Matt And so there is a bunch of other C sharp 10 features. 00:29:13 Matt Those are the ones that I I thought were I thought were neat and. 00:29:19 James They're all amazing. 00:29:20 Matt You're eating. 00:29:21 James I love it. 00:29:21 James I love it so much. 00:29:23 James Good stuff. 00:29:24 James Go update all your codes you have there some other cool stuff come out on the Xamarin blog as well. 00:29:30 James I always love this blog post series, which is called the Journey to accessible apps and and Rachel Kang does this. 00:29:40 James She's awesome, so there's all sorts of stuff on accessibility, and this is a great blog post basically breaking down how to create even more accessible applications. 00:29:49 James And she comes in and she talks about like kind of UI design this and that, and she. 00:29:56 James Breaks down, you know what's good, what's bad? 00:30:00 James Can you see the difference is a meaningful context. 00:30:02 James Ordering on this one. 00:30:04 James Talk about semantic ordering. She's always talking about. Like all the improvements that you can just do today in your existing apps, including some new controls in the Xamarin Community Toolkit, but also some new things that are coming in.net. 00:30:16 James Maui, which is also really, really cool, so it's just a great blog post series. 00:30:21 James And also they have like a discord channel that you can hop in if you want to learn more about making your apps even more accessible as well, which is really, really cool. 00:30:30 Matt Yeah yeah, that's really neat though. 00:30:31 Matt Good just going through that post, dumb. 00:30:33 Matt There's actually a. 00:30:34 Matt OK so yeah, what she's talking about is like content ordering and they're like so how you would like? 00:30:40 Matt Essentially tab through a, uh, a page, and there's a. 00:30:45 Matt There's a view that does content ordering as part of the Community toolkit, which is, which is neat where you can actually specify. 00:30:51 Matt Alright, I want this this control to get, you know. 00:30:56 Matt Focus 1st and this one. 00:30:57 Matt It gets 2nd and you can specify it to make it make sense for them. 00:31:03 Matt You know, maybe for folks who who need that, so yeah. 00:31:06 Matt And it's super important. 00:31:08 Matt I mean, accessibility should be, uh, a priority. 00:31:10 Matt One thing when you you should think of when you're when you're building your applications so. 00:31:15 James Absolutely, absolutely. 00:31:18 James Uh, what else? 00:31:19 James We have Matt. 00:31:22 Matt There is one thing I did want to talk about. James and I did skip over just a bit before and I'm going to go back and talk about it now and remember couple spa podcasts ago we were talking about Visual Studio 2022 previews and there was a we were talking about the color tabs and we couldn't figure out whether. 00:31:40 Matt You can control the color tabs or not or what they were doing, and it turns out the color tabs are done by project type. 00:31:47 James Oh yes. 00:31:48 Matt My projects. 00:31:50 Matt Good news, soon it's not there yet, but soon they're going to be done. 00:31:55 Matt You could turn it so you can also do it by file type. 00:31:59 Matt So like you can do all your XAML files with there. 00:32:03 Matt They're going to be one color type or all the CSS files can be another one. 00:32:08 Matt That's what David wanted, he he said it. 00:32:10 Matt I was going to surprise him with this, but he had to jump jump off to it to Thanksgiving dinner. 00:32:16 Speaker 1 But ah it. 00:32:18 Matt So there it. 00:32:18 James Is it's definitely there. 00:32:19 James It's in the preview which. 00:32:20 James Is really cool so yeah yeah so so yeah. 00:32:24 Matt So I just wanted to jump back and mention that I had to know for myself to to mention that and. 00:32:30 Matt Poor David, he missed it, so we'll have to check out to see if he's listening to the podcast. 00:32:35 Matt If he brings it. 00:32:36 Matt Up to us. 00:32:37 James He definitely isn't, definitely, it's not. 00:32:41 James We also got an update to Xamarin forms service release 7 of 5.0. You can check out all the show notes in the show notes. 00:32:48 James You can check out the release notes for that as well and then also David talked about the what's new in Xamarin Visual Studio 2020. 00:32:54 James Two and of course there's all sorts of good blog posts and things that you can get and get updates to. Visual Studio 2019-2020 2. 00:33:03 James Obviously that's in GA, so when you tap on the mobiledevelopment.net, that's going to bring it in like I think David might have mentioned about. Well re mention it you got you got update to open JDK 11 from version 8. 00:33:14 James Which is a big update for the designer SDK manager device manager. That is a big one 'cause it syncs with all the new.net Maui stuff too. 00:33:23 James It's kind of nice to that, although Xamarin stuff is is there in in it so you just can install everything and you can do Donnelly and Xamarin together in the preview 1 channel and then that's cool. 00:33:34 James The Xamarin support for for two more years they they updated the schedule for shipping and to align with the Microsoft modern life cycle. 00:33:42 James So you can. 00:33:43 James Check out more of the enhancements for Android and iOS through November 2023. UM as well, which is cool. 00:33:51 James So and of course, you know he talks a little bit about the net upgrade assistant and dependencies, and Maddie demo that well. 00:33:57 James An upcoming or recent a session that that that she had at PS Live actually and and it was really cool. 00:34:05 James So I'm really excited for that and and to upgrade and migrate some of my now the Xamarin forms app. 00:34:08 James So down in Maui, but also you know any of just your existing apps, you should be able to move right over to Dot net six and take advantage of all these new C sharp time features. 00:34:17 Matt Do it, yeah, do it, it it? It kills me like we have Xamarin form service release out already. I mean service release or not itsall.net Maui coming up. You know it's just. 00:34:29 Matt It's service release time, so it's it's cool, though it's it's awesome. 00:34:30 James Service release 00:34:34 Matt It's super excited so no else. 00:34:36 Matt It's super exciting James, the Azure service of the month and. 00:34:40 James Azure services uh-huh. 00:34:42 James Uh, it's what you? 00:34:43 James Got all right. 00:34:44 Matt So this one is pretty cool. 00:34:46 Matt It's part of the Cognitive Services suite overall, and it's called the Azure form recognizer and I was. 00:34:51 Matt And I was messing around with this a couple weeks ago and it's actually pretty amazing and so it does pretty much what it says form recognizer, but it does so much. 00:35:00 Matt Form so essentially what you're going to do, you're going to snap a photo of something like a. 00:35:04 Matt Form or like an ID like your driver's license or a receipt or a business card. And it has like these prepopulated fields on it. 00:35:14 Matt So if we're going to be talking about or an invoice, Even so, if you're going to take a snapshot of. 00:35:20 Matt Let's say business card because that was going to be the easiest to explain. 00:35:23 Matt So if you're taking a snapshot or a photo of a business card, it's going to identify for you in pre populate. 00:35:30 Matt Like the company name on there, put that into a property address line information. 00:35:35 Matt The person name is going to find email address and their website in there for you. 00:35:40 Matt It's going to find all that for you. 00:35:42 Matt Put that into properties for you automatically. 00:35:45 Matt And then you have it. 00:35:46 Matt It's just there, so like it takes care of everything for you and like I. 00:35:49 Matt Said it'll do that. 00:35:50 Matt For like invoices so it finds like all the services offer like line items. 00:35:56 Matt Prices for those line items throws it into the total and you get all this stuff into the variables right away. 00:36:03 Matt It's like a one stop shop. 00:36:05 Matt It does all the hard work and and if you wanted to you can train it up on a custom model. 00:36:11 Matt So like if you had like your companies running and then you have your own invoices 'cause sometimes it misses right? 00:36:18 Matt Sometimes it'll miss. 00:36:19 Matt Like if you're taking a shot of a business card, it'll mess up the. 00:36:23 Matt Like the city and the state or the ZIP code or something. 00:36:26 Matt Like that, but. 00:36:28 Matt You can train it up on your own custom model so it doesn't miss you know. 00:36:33 Matt So like if you have an invoice that you're always taking a scan of, or always taking a photo of so. 00:36:38 Matt It you know you're using the same same template all the time, then you can train it so it always knows it doesn't make mistakes, so it's super cool. 00:36:48 Matt And what I like about it is that it uses across. 00:36:52 Matt All those different types like ID's and receipts and invoices and stuff like that. And yeah, I mean it's just you know that one stop shop and then you know where you don't have to do any work and that's. 00:37:05 Matt I love it. 00:37:06 James Awesome, I'll tell the cloud news of the month. 00:37:09 James It would be probably Azure container apps. 00:37:11 James It was part of the Dynacom keynote. 00:37:13 James It's an amazing way of simplifying microservices with event driven. 00:37:20 James You know, kind of architecture, so and what that means is it's kind of like. 00:37:24 James Think of it like serverless. 00:37:26 James Containers for microservices so kind of like how Azure functions or like serverless functions that you'd write, you'd have like your whole, you know, container, your whole micro service, and there's a lot of different pieces of functionality out there that allow you to. 00:37:41 James Basically, you know, have multiple microservices together with like Kubernetes. 00:37:46 James Or you want to do. 00:37:46 James Like loosely coupled dependencies like dapper, or you might want to do like. 00:37:49 James Event based scale. 00:37:51 James Dealing with some like kita and the container apps brings it all together. 00:37:56 James So what it enables you to do is basically specify hey I have this. 00:38:00 James You know container and I have these services and this other container and you know use these things and here are the events that I want you to kind of scale up and scale down on. 00:38:09 James So for example in the DOT net comp keynote. 00:38:11 James It was like based on a queue listener and says hey, you know this. 00:38:16 James There's going to be items coming in queue that this background worker needs to process. 00:38:20 James US and and you could just have it like listening there and kind of always on and doing stuff that can be expensive. 00:38:26 James So what if you had it scale from zero all the way up to five when you had like a heavy amount of, you know data and then the queue comes in and have it scale up so so Fowler showed that he ran a script and generated like. 00:38:40 James Dumping like 1000 items onto the queue and you saw it go from zero up to five and then scale back down. Basically over time, which is really cool so. 00:38:49 James Azure container apps? 00:38:50 James Uh, I I kind of now and understand microservices just a little bit more. 00:38:55 Matt Just a little bit more. 00:38:56 Matt This is it's yeah. 00:38:56 James It's a little bit more. 00:38:58 Matt If you can think of it. 00:38:59 Matt Containers for service server lists and serverless means you can scale it down to zero, which means you're not paying for it and it is. 00:39:07 Matt It's not opinionated, I was we the best word for it, which as you mentioned you can be do be doing dapper or kita or really anything. 00:39:16 Matt Else that you want to have running behind it, which is awesome. 00:39:21 James Yeah so good. 00:39:23 James Alright, you gotta pick up on at all. 00:39:25 Matt Oh gosh, James pick of the pod, you do yours first. 00:39:29 Matt I let me let me let me think of 1. 00:39:31 Matt While you do your. 00:39:31 James Allof.net comps, that's the pick of the pod. Go watch every single video. Ha I win. I got a few upcoming events for you to check out. 00:39:40 James There's a new net tech community that I want to give a shout out for. 00:39:43 James We'll put it in the show notes, you know, a few years ago I did blog posts on this, but we'll put that in there to a year ago or so there's. 00:39:51 James We started this unification project of. 00:39:54 James The all the forums and Q&A areas across.net, so there's a bunch of sporadic ones like you had a Xamarin one ASP and now one in other spaces. 00:40:04 James They weren't really consistent, and there's other platforms at Microsoft that do this already, so it felt really weird to have all these different communities spread out. 00:40:14 James All over the interwebs with all different, you know, login flows and reward points. 00:40:19 James You know all these. 00:40:19 James Different things. 00:40:21 James So what happens is, is myself Chris Spanos and others worked with the different teams. There's two teams, there's a team from Microsoft Q&A and answer. 00:40:30 James Which is kind of like in answering board somewhere like a stack overflow or you're asking questions and getting answers and support is there as well triaging things. 00:40:39 James And then there's a thing called tech community. So there are two different systems that you know work with your single Microsoft login and they both have different different purposes. So Q&A is like. 00:40:50 James Very strict like here's is the evolution of the MSDN forums and the MSDN forums were like hey, you know they kind of evolved into a space for most a lot of two words. 00:41:00 James Asking questions and answers so they want to create a new Q&A thing and all of Azure is there and Windows and all these other things so it felt naturallikewhyisnt.net there right because? 00:41:09 James You want to have.net there. You have the languages you want people to ask questions, get answers. You know you know all those different things. 00:41:17 James So we launched that like over a year ago and the asp.net forums and the Xamarin forms. They're all archived and they're all available, so the deep links all work and all that content is is available as well. 00:41:29 James But you know, all of those are older anyways. It's not like a huge huge huge thing, but the nice thing is that Q&A was this new home where anyone could go and get an. 00:41:39 James Answers, but a lot of people reached out and MVP's and community members and they said, you know, I like Q&A some some people didn't like Q&A T. 00:41:49 James That's fine too, but you know they they understood why it existed, but they're like, hey, it'd be really great to have more of a hub like a home where we can actually have deep, deeper technical discussions. 00:41:59 James Because Q&A is not that, it's just Q&A so. 00:42:04 James The tech community is something that already exists. It's techcommunity.microsoft.com, so it's already existed. So it's like I didn't. 00:42:10 James We didn't invent anything and myself and Jamie and Chris all kind of came together. 00:42:17 James We said, hey, let's 00:42:17 James Let's bring some unification where we have a Q&A and the tech community and the tech community enables you to join. 00:42:25 James All these different hubs such as you know Azure and Windows and surface, and you know exchange and Excel and you know M365 and all outlook. 00:42:38 James All these other ones, some of them are products. Some of their developer hubstheyhave.net one. 00:42:44 James And what's in there are, like all the basic same categories from Q&A where you can have deeper technical discussions. 00:42:49 James You can share videos, you can share blog posts, you know someone in here. 00:42:54 James For example, just posted premet they posted like what are the best practices for dependency injections in blazer, right? 00:43:02 James You can have those discussions and. 00:43:04 James And chit chat back and forth. 00:43:06 James And then you can also see upcoming events too. 00:43:08 James So we have an event page on the the net website, but we also have an events mirror there too, so you kind of find multiple things in one place. 00:43:15 James You can follow things. You get email updates so you you have that there too. So now you got Q&A. Got the dot. 00:43:21 James Net blog. Get all that. 00:43:22 James And it's super easy to find 'cause when you go to. 00:43:24 James The.net page. 00:43:26 James Myra updated the top of that puppy and now I love. I love the new navigation. When you go to the the community, there's a home, but there's a dropdown and it says Dot net blog conferences and events. Q&A And the tech community forum so you can find all of them right there from a single dropdown, which is super duper cool. 00:43:47 James Give that go, that's my pick. 00:43:48 Matt Of the pick of the pickup? 00:43:49 Matt Yeah, that's that's awesome. 00:43:50 Matt And yeah, I know you guys were working really hard on that. 00:43:53 Matt And it's awesome that it all combined together. 00:43:55 Matt And I did think I thought of a pick up a pod. 00:43:57 Matt Thanks for thanks for actually kind of jog my memory about it by talking about the new the new website. 00:44:04 Matt Is this actually started this week? 00:44:07 Matt But it's going to go on. 00:44:07 Matt For the next 5 weeks, I think is that we're doing a whole new line. 00:44:12 Matt It's actually web development, but you and I are doing the last one, and it's on learning microservices. 00:44:19 Matt For.net developers, it's a learn life and learn. Life is if we go over unlearn module live. So we actually sit and we talk about each of the units and then we do the demos as well and then people can ask US questions as we. 00:44:37 Matt And so James, you and I are doing a one on microservices, so we're going to touch on deploying a. 00:44:42 Matt Net app to Docker. 00:44:45 Matt We're going to containerize it, and then we're going to push it out in Kubernetes as well. 00:44:50 Matt And so yeah, we're going to kind. 00:44:52 Matt Of go a. 00:44:53 Matt Little bit outside of our comfort zone in that it's not mobile at all. 00:44:57 Matt But it's going to be. 00:44:58 Matt This is something that every dot net developer should know about because you need a back end to get some front end goodness. 00:45:04 Matt Actually, so this can be the first week in December, ours is. 00:45:08 Matt But what's neat? 00:45:09 Matt Is that this is all going on? 00:45:10 Matt It's building modern apps and they just did one this week on the kick it off on building web applications, but they're going to start talking about Blazer. 00:45:18 Matt I think next. 00:45:19 Matt Week, Galloway and Jefferts are doing one, so yeah. 00:45:24 Matt There's definitely something to check out. 00:45:25 Matt We'll put the we'll put it in the show notes, and what's neat. 00:45:28 Matt Though these are 90 minutes long and you get to ask questions as we go and. 00:45:36 James Beautiful, yeah, that's awesome. 00:45:36 Matt I can't wait, Yep. 00:45:39 James I am excited so much good stuff happening on the interwebs. 00:45:43 James Go check it out, but that's gonna do for this week out in my podcast until next time. 00:45:47 James Thanks for listening. 00:45:48 Matt Bye bye.