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.
Transcript source: Provided by creator in RSS feed: download file
