00:00:10 Matt Welcome back everyone to the Xamarin podcast, keeping you up to date with the latest and greatest in mobile development for Xamarin developers, covering the world with xamarin.net Azure and more, I'm Matt Soucoup. 00:00:23 James James Montemagno and we have a very special new or recurring guest, David Ortinau, David. 00:00:29 James How's it going? 00:00:30 David It's going well, James, thank you very much. 00:00:32 David How are you? 00:00:33 James Doing lovely just another beautiful day in the Pacific Northwest. 00:00:37 James No complaints here. 00:00:38 James Well, the reason we wanted to bring you on David is because we thought you know, hey, it's already March. We've started to get previews of.net 6IN. With that there's been some awesome updates on the Xamarin community. Stand up about.net Maui and we figured, hey, why don't we just bring you on every single month to give us an update on what's going on the team. I know everything is open source David. I know people can look but. 00:01:02 James You know on this podcast we like to break it down for people. 00:01:06 James All the important things they want to do. 00:01:07 James But how does that sound? 00:01:09 David That sounds great, and I think you know with this fast as things are moving and as much as it's changing, it probably makes a whole lot of sense to be able to just talk through things we have the, you know, the live community standups that we do on YouTube and then Twitch and we give some updates there. 00:01:27 David But things change rapidly so even between then and now. 00:01:32 David So you ready? 00:01:32 David I can go ahead and give you kind. 00:01:33 James Of the breakdown, I'm ready, yeah, I mean I know we have in our show notes here that you know Don SX preview one came out. 00:01:39 James Did that mean anything for net Maui or Xamarin developers at all? 00:01:43 David It did an. It's a. It's the foundational work of bringing Android and iOS into.net six. So that means that we're sharing the same base class libraries as everything else that runs in DOT net six. So you have a very consistent API surface for all of your code, and it means that we also have the latest runtimes for. 00:02:06 David Both desktop and mobile, but specifically in in Preview one. 00:02:10 David It was mobile for Android and iOS. 00:02:12 David So yeah, I mean we're on the latest and greatest. 00:02:15 David That means that we're also using SDK style projects, which is a new thing. 00:02:19 David If you come from the Xamarin history that you know we all share. 00:02:24 David So SDK style is new, target frameworks is new and all of that was in preview one. 00:02:32 David Andthen.net Maui really starts to take flight in Preview 2. 00:02:37 James Very cool now. 00:02:38 James Maybe if some people don't know Adonte Maui is there new to it? 00:02:42 James Can you give the elevator pitch here? 00:02:44 David Absolutely it's right there in the name, which is great, although if you keep saying Maui over and over again, it kind of loses that. 00:02:50 David But it's the multi platform app UI, so this is the ability for you to describe your app once. 00:02:58 David And it runs natively across Android, iOS, Windows, an Mac OS, all using the latest UI kits and tools that each of those native platforms provide. 00:03:10 David Right, so that you you have really access to anything that you would need to have access to and you can customize per platform. 00:03:17 David Or you can go for that really nice, consistent look and feel across platforms. 00:03:22 James Very cool, very cool. So what's new in preview two or what's happening in the ethos of March 2021? 00:03:23 Speaker 4 The. 00:03:30 David Yeah, so so Preview 2 like I said is where where dot net Maui really starts to take off. 00:03:36 David So we have the first bits and we're shipping them as Nu get packages right now. 00:03:41 David But later on they'll they'll get worked into the net. 00:03:44 David Installer and so this is the first set of controls that have been ported from Xamarin forms into the net Maui architecture and there's some key things that are happening in that architecture. 00:03:56 David There's performance improvements. 00:03:58 David There's decoupling from the meness in the XAML Ness of the framework, which all that stuff is still there, which is awesome. 00:04:06 David You still use it. 00:04:07 David But it all it gives us a lot more flexibility to extend controls and customize them as we need to. 00:04:14 David So in Preview 2 you get your first set of controls that have this new architecture, buttons, labels, entries, sliders, switches. 00:04:27 David And yeah, I think that's what we have in the first one, so they're all kind of in partial states of completeness in terms of what properties are available. 00:04:38 David Can you do everything that you could do with a font and that sort of thing? 00:04:41 David And so it's not necessarily the most exciting from the end developer standpoint, but it's it's the starting point, right? 00:04:50 David It's we're in the starting blocks in terms of those controls. 00:04:52 David But the Great News is, is that we also have what we call compatibility shims. So when you basically scaffold out and create the the beginning of your applicationin.net Maui, you can say hey, I want to register for compatibility. 00:05:09 David And then when you've done that, you get access to all the Xamarin forms, controls, and layouts that you perhaps have been using for seven years. 00:05:19 David And so now those are also available to you, and you can migrate to the net. 00:05:25 David Maui controls themselves as you need to. 00:05:29 David So if there's a particular behavior, or control is just not there yet, you have that through the compatibility layer, and it's a real simple registration. 00:05:38 David So which kind of builds on one of the other? 00:05:41 David I mean, there's there's several exciting things that are already here in Preview 2 there's multi targeted application projects, so the single project that we tend to call it that where you can just have all of your Android, iOS, Mac OS stuff all in one project. 00:05:58 David And you don't need to have multiple projects within your solution. It's much easier to build. You can multi target all of your code using.net multi targeting. 00:06:08 David All of that stuff is there, shared fonts and shared images are there, and that's exciting for multiplatform developers because no longer do you need to stitch all that stuff up together yourself in the different platform ways that they do that you get one place to do it. 00:06:27 David You know I was. 00:06:29 David I was, you know, testing and and and dogfooding. 00:06:32 David Yes, this past week and I noticed Matthew Lebowitz showed me that you can actually throw wildcards into the shared image and shared fonts. 00:06:41 David So if you just drop all your fonts into a single folder, you can very easily just wild card that whole folder and it will wire up for you. 00:06:49 David All those fonts which you only have 1 font, maybe not so cool. 00:06:54 David But if you're like me, you know you've got 3/4 fonts. You've got icons in those fonts, so that gets very exciting and you bring all this stuff together with the new host builder, which is from the Microsoft Extensions Library. 00:07:12 David Or I guess set of libraries where you can essentially initialize in a simple fluent syntax. 00:07:19 David The services, the view models, the pages, as well as any of your other dependencies. 00:07:26 David And you can also register your fonts with the aliases so you don't have to remember the name of that font. 00:07:32 David You can just call it Bob if you want. 00:07:35 David And you can just use Bob everywhere in your application. 00:07:39 David Similarly with images, you can register your images there and you know we haven't really talked about this much, but we're really excited about how this host builder pattern is going to work out for the third party community, because as it stands in Xamarin and Xamarin forms today. 00:07:55 David Each library could implement its own way of initializing and all the different parameters that you may or may not need to pass in can be very. 00:08:02 David Can be very. 00:08:02 David 00:08:03 David Using and with this pattern of the host builder, we have a singular place to point everyone and say whatever you need. 00:08:10 David Register can just all happen here and really best practices. 00:08:15 David Let the library do all that stuff by itself an you as the end user developer should never have to initialize those libraries. 00:08:24 David Unless there's some specific configuration you want, so that's in preview. 00:08:28 David Two, you can kind of see some code snippets of that if you go up and look at the sample app, we've got both the net 6 mobile samples repository as well as the samples that are inside the net, Mal. 00:08:42 David The repo so you can go look for the app host builder, Create Builder method and get a sense for what that's all about. 00:08:51 David I window is in there which is going to become important later for when we enable multi window for desktop, but it's already there so we kind of have to have some of these foundational pieces. 00:09:04 David And let's see, I'm skimming through my notes. 00:09:07 David There are some SDK foundational pieces that have been enabled, such as the remote iOS simulator for those Windows developers that like to use that which, if you're unfamiliar, essentially when you connect a Mac build host to your windows. 00:09:24 David Visual Studio It will not only build on the Mac host, but it will basically proxy in your iOS simulator and you can just use it. 00:09:33 David Right there, of course, many of us love using hot Restart, which is the ability with Visual Studio on Windows to go directly to an iOS device. 00:09:42 David No Mac build host required that work is coming along. 00:09:46 David It's not. 00:09:47 David I don't think it's quite there yet in Preview 2, but it will be coming in a future preview AOT ahead of time. 00:09:55 David Compilation is important, especially in the iOS space. 00:09:58 David the Apple. 00:09:58 David OK, so that is now there in Preview 2, so you can run on physical iOS hard. 00:10:03 David Where an and then on the Android side of things we now have Android X libraries built in runningfor.net six and those are the default for everything that you will do with androidand.net six, so I think I've probably left out and skimmed past the most exciting thing in Preview 2. Does anybody want to take a guess? 00:10:24 James Oh, I've been seeing some things about Mac support in here. 00:10:28 David Exactly, so we have our first introduction of Mac Catalyst, which is the ability to take a UI kit based iOS app and run it on desktop. 00:10:38 David So this is what we've seen Apple doing, and they're kind of leading in showing us by example what desktop development looks like for Mac in the future. 00:10:47 David And so we're enabling that in.net Maui for taking your apps. 00:10:52 David To the Mac. 00:10:52 David So we now have Mac OS support by Virtue of Mac Catalyst. 00:10:57 David It's all built and running on net six, currently using the mono runtime. 00:11:02 David Although we are exploring the viability of using core Clr, which is a more common when it comes to desktop scenarios than it is on mobile. 00:11:12 David Course mobile uses the mono runtime, so really excited to see the first bits of.net Maui running as a desktop app on the Mac and in the future will start lighting those things up as well. On the windows side. But for now, Android, iOS, Mac OS with Mac Catalyst is there in Preview 2. 00:11:32 David I'm excited to see what everybody thinks of it. 00:11:35 David I would say you know, just setting expectations that this is still a very early release. 00:11:41 David Things are rapidly changing. 00:11:43 David We're about to start implementing things like life cycle events and some of the more fundamentals for drawing and shapes and. 00:11:52 David Corner radiuses and on and on and on. 00:11:55 David So keep keep tuned into these these updates because the information will continue to evolve and change very rapidly. 00:12:02 James Yeah, so it's kind of like this is if you're looking to dip your toes, do some experimenting, just want to check out the hot bits. You can grab this stuff and kind of see where the platform is going. Get some input and you can go to github.com slash.net/maui and that's where all the works. 00:12:18 James Being done right, David. 00:12:20 David Absolutely, and we've also opened up for taking contributions, so I would be remiss if I didn't mention that, and we actually already have a handful of contributions from the Community. 00:12:30 David Alamir and Pedro and several others have already sent in pull requests for what we call handler implementations for different properties. 00:12:40 David So essentially we're asking for one PR per handler property that you implement across Android and iOS, which will cover those three platforms 'cause that iOS handler is reused for Mac. 00:12:54 David So if you're interested, the PR's are pretty straightforward. We have a guide up on the wiki and get started there. Their bite size they're so easy to do, which is actually one of the things that I've been very excited about from the very beginning with when it comes to the.net Maui architecture, you can be a contributor with minimal. 00:13:13 David Code very straightforward. 00:13:15 David Not intimidating at all, so definitely invite people to check that out. 00:13:20 James Very cool, very cool. Well thank you for the update an I am. I'm going to go download some bits and get started. I'm really excited to see the host builder stuff. You know I've been a big advocate of that for many years now and I'm really excited to see a lot of the core.net experiences and development environments have similar paradigms, which I think is very exciting. 00:13:42 James Asa.net developer in C Sharp developer for many moons. You know, jumping between a blazor app and a Maui app an you know an asp.net core Web API, there are going to be. 00:13:53 James Sort of similar in this in this realm and I love that, you know it's being architected, sort of from the ground up in many ways for what modern app development is like. 00:14:04 James So for example, you know I window, you're talking about windowing that. 00:14:07 James That seems like a small thing, but in fact, like that's a very large undertaking to think about because you know. 00:14:15 James Xamarin forms and have the concept of that at all. 00:14:17 James It was just like here's your app and that whatever it is and in fact like seen delegates and things like that on iOS didn't even exist for till like two years ago. 00:14:26 James So Yep. 00:14:27 David Yep, Yep, so there's lots of modernization happening. And you know, even stuff like the simple shared font, shared image wildcarding that I was mentioning earlier. I know from decades of writing apps that can be super useful. And it's there's a lot of fundamental things happeningin.net Maui that you just you just can't underestimate. And I think once everybody experi. 00:14:49 David Is it? 00:14:50 David It's gonna blow some minds so I'm I'm super excited about it. 00:14:54 James We're excited to have you on as a recurring guest, and definitely tune back in next month as David comes back yet again. 00:15:01 James But David, thank you for your time. 00:15:02 James We're going to get on to even more awesome news, so go pick up your kids and thanks for being with us for the awesome Donnelly update. 00:15:11 James Yeah, Oh my goodness man wasn't that amazing. 00:15:14 Matt Who doesn't need more David in their lives? 00:15:17 James That's true, I'm really glad that you decided to try to bring him on and get him on here because you know we can speak to the amazing news that's coming out, but it's great to hear it from the source. 00:15:27 Matt Especially when we there is a big change coming and just to have, I guess the reassurance that David comes on at Childress. What's happening month by month and as the picture clears, it's going to be a big change. But everybody's gonna be able to handle it. And David just going to reassure us he's going to be, he's going to be the person that says it's going to be alright. 00:15:46 Matt Here's what's. 00:15:47 Matt Happening we got this. 00:15:49 James And I think we'll be able to give us the green light when it's like, OK, Now it's go time for everybody to hop on board right? 00:15:56 James When the updates are there and things like that. 00:15:58 James I just on my YouTube. 00:16:00 James I personally YouTube. 00:16:01 James I put a video that was like should I wait for that? 00:16:03 James And now you should I start Xamarin development today and the answer is you should just start Xamarin development today because. 00:16:09 James There's so much amazing tooling, like Xamarin forms five that we've talked about and all of the knowledge of the tooling everything that you've learned through the years or about to learnwillgointo.net Maui. So it's a great time to start development because there's so much that will go into it. 00:16:24 James That, and there's amazing tooling and we got awesome updates for both Visual Studio and Visual Studio for Mac. So let's just hop right into that because men Visual Studio keeps on cooking an VS 2019 version 16.9 was just released on Windows and eight 9 on Mac. I'm going to bust through the windows one and there was tons of improvements. 00:16:46 James Definitelyaroundjustnormal.net development Donna productivity with refactorings also. 00:16:51 James Of good things in the C sharp editor. Just tons of refactorings. There were some new things with.net core debugging with WSL 2, so if you're doing some micro service development or some other things there, that's really cool for Xamarin developers. What's really exciting is that the apply changes or changes only for XAML. Hot Reload is now GA. 00:17:14 James So this is on by default. It's for Xamarin forms 5.0 plus, which by the way all of the templates have been updated for file new, which is rad. 00:17:23 James And this is the setting that enables, for all intents, I would say previously would refresh the page the whole page and your Contacts and everything. 00:17:26 Speaker 4 For. 00:17:26 Speaker 4 00:17:32 James This is sort of a Dom diff if you will. 00:17:35 James So if you're changing just a property on a label, it will just update just that property on the label and not the whole page will just refresh the element so. 00:17:43 James It's very stateful, which is nice, which I think is delightful and I will say the default under tools options if you just search for hot reload or hot. 00:17:46 Speaker 4 Yeah. 00:17:55 James I would say it's the only one under. 00:17:57 James It's all combined into one 'cause it's the same tooling for WPF, UWP, WPF and Xamarin forms, and the one that I like to check is apply XAML Hot Reload on document save that's off by default. 00:18:10 James 'cause it's as you type it'll validate like if it's accurate. 00:18:13 James I'm a I like to save so they added that you can. 00:18:16 James Only have it refresh the all the differences when you hit save, and that's my. 00:18:21 James That's my big thing. 00:18:22 James I'm a big fan of that. 00:18:23 Matt Yeah, I would be too. 00:18:24 Matt I mean, that's when I'm actually looking. 00:18:26 Matt I mean, I'm hunting and pecking begin with so. 00:18:29 James Yeah, exactly the other big thing that I'm a huge, huge, huge huge fan of is I don't know if this is on Mac. 00:18:37 James I was asking Dmitry if it is obvious from my notes on Windows at least there is brand new automatic viewmodel property and command creation. 00:18:47 James OK, so like light bulbs support. 00:18:49 James So for example, if you just do X data type and you give it the data type that it should be looking for, it will give you little dot dot dots under text equals binding to whatever or binding equals to this command and you can click on it. 00:19:06 James And say add this to my view model and it will automatically create the property for you. 00:19:13 James It will automatically create the command for you automatically generating code which is super rad to have just built into the core platform on all of the different platforms. 00:19:22 James So it's all just there for. 00:19:24 James For you, and that's a super nice one. 00:19:26 James Besides, obviously you know the amazing no changes only, and then obviously all the same informs 5 updates and all the you know refactoring support. 00:19:35 James There's so much good stuff in here that they did an entire live stream one hour long talking about all the brand new features. 00:19:42 James We'll put a link to that in the show notes. 00:19:44 James On the brand new Visual Studio Toolbox Live Stream, which is really really cool. 00:19:50 Matt Yeah, definitely check that out and I'm so pumped up to check out the new all the new sample improvements, especially the you know, generate your own properties, generate the own commands. 00:19:59 Matt Without actually having to do the typing, come on so nice. 00:20:01 Matt Yeah, love it. So nice yeah, so what's new in VS Mac 2019 eight nine we have to do better on that naming James, but that's for another conversation. Is some of the new stuff that I'm really excited about. Of course is that it has now dot Net 6 preview support which is. 00:20:20 Matt All awesome and along with that we do have the XAML Hot reload GA just just as we were talking about with the Visual Studio 2019. 00:20:30 Matt For Windows, the VS for Mac comes along with that on Xamarin forms 5 by default, all that other good stuff is right in there, but a couple other good developer enhancement tooling to make your life easier is that now if you want to do some quick actions for refactoring, kind of like the light bulb support that you're talking about, like you want to do some renaming. 00:20:50 Matt You can actually see the changes first before they happen. 00:20:53 Matt So like preview of your quick actions refactoring, so that's pretty cool, and the quick actions also display like the compiler warning ID numbers. 00:21:04 Matt So if you're like me and you get Atona compiler warnings and you want to suppress them all. 00:21:09 Matt You can get the what the warning are so you can do the do the do the preprocessor directives that suppress all those warnings. 00:21:17 Matt I do like that James. 00:21:19 James Very cool yeah. 00:21:20 James I like that a lot. 00:21:21 James I like that they just get rid of all those warnings like you know or all of these ones, but I think they they even added like a link to documentation and stuff like that. 00:21:22 Speaker 4 The. 00:21:24 Speaker 4 Yeah. 00:21:28 Matt Yes yes they did. 00:21:29 James That's pretty cool. 00:21:30 Matt Yep Yep alright off of that quick action or that little. 00:21:33 Matt Pop up that comes. 00:21:34 Matt And they also have now Intellisense for preprocessor Directive. 00:21:38 Matt So you do. 00:21:38 Matt The preprocessor always starts with the hashtag, so hashtag and also you'll get your preprocessor directives come up Intellisense and so that always helps because you don't write preprocessors all the time. 00:21:49 Matt And it's always nice to have him up there. 00:21:51 Matt So it helps refresh your memory so and. 00:21:52 Speaker 4 Rememory 00:21:54 Matt Guess what VS Mac runs on a Mac and you know what's changed with Max recently. 00:22:00 Matt Processors, processors, Yep, the actual thing, and so it's not M1 supported quite yet. It's not like rewritten to run on the new architecture, but Rosetta, which is the translator between AM. It's running great on that, and so there's that support there and everything is looking. 00:22:00 James What up not pre processors but the actual processes? 00:22:20 Matt Double thumbs up so. 00:22:23 Matt Cool, right? 00:22:24 Matt Because Mac chugging right along. 00:22:26 Matt Just like Visual Studio on Windows is. 00:22:28 James Yeah, I love it and a lot of these features are shared so the ones that we're talking about, like you know, live visual tree and the XAML hot reload. 00:22:34 James Those are all there and I actually really enjoy the breakdown of how the entire thing is architected so they have a good diagram on here which is. 00:22:44 James Like, here's how things are shared, so there's all of these services and Roslyn. 00:22:48 James In VS editor features, like Intellisense that are shared between the two. So these blog posts get closer and closer together as far as the features that are being released based on the workloads that are there. So it's really cool to see and I'm thinking I'm pretty sure that there's going to be a Visual Studio for Mac 8-9 Live stream as well. I think Jon Galloway is working. 00:23:09 James On doing something with that, but that would be really cool, but definitely check out the videos and the blog posts. 00:23:13 James There is a lot happening and there's more happening besides just Visual Studio. 00:23:19 James This is because the Xamarin Community Toolkit that we did an entire episode on basically is definitely chugging along, and there are tons of new enhancements and new features and new controls that are being added nonstop, and this is really cool. 00:23:35 James 'cause Gearlds started not only a video series. 00:23:39 James On the Xamarin developers YouTube and on Channel 9. 00:23:42 James But also been documenting it with Awesome blog, so there's great documentation and sample apps, but he breaks down the use cases and like when you would use it, how to lazy load and all sorts of crazy things with different things built into the Xamarin Community Toolkit and the very first blog post in the series was the Tabbed tab view. 00:24:02 James Which is cool. 00:24:03 James Obviously, Xamarin forms has a tab page, but you can put a tab view anywhere actually use this. 00:24:09 James An app that I'm cloning, cloning, cloning the palate an application. 00:24:14 James This thing is super cool. 00:24:15 James You can put tabs anywhere you want at the top and the bottom. 00:24:18 James You can put circle tabs. 00:24:19 James You can do images for tabs. 00:24:21 James You can do everything, so it's a great breakdown blog post. 00:24:25 James And if you haven't checked out the Community toolkit yet, you really need to because it is an essential kit in the toolkit. 00:24:34 Matt Yeah, that the whole tab view that they did is amazing and the first thing I was thinking about was what about lazy loading? 00:24:40 Matt You don't want all your views that load up right away, like can it do it and Jerry goes and tells us how to do it. 00:24:45 Matt They have a whole view to lazy load other views in. 00:24:47 Matt There in the community toolkit. 00:24:49 Matt It's amazing. 00:24:49 Speaker 4 You know? 00:24:50 Matt Yeah, amazing. 00:24:51 Matt And another amazing thing is that the collection view right? 00:24:55 Matt James? 00:24:55 Matt You know the collection view and it has we have oh OK. 00:24:57 James Big fan fan it to do. 00:25:00 Matt You even remember the list view collection view totally, totally replaced and so. 00:25:04 James Well, I totally I did I did I did an entire video because I've been. 00:25:08 James I've been. 00:25:09 James I've been trying to answer questions. 00:25:10 James I kind of do ad hoc videos on my YouTube like kind of do official things on the XAML developers YouTube and like me add Hocking like just being James over there and someone kept asking me like hey like when do I use listview or collection be like when uh, when and what so? 00:25:24 James I did a. 00:25:25 James A collection view versus List view showdown. 00:25:29 James And comparison in for, for all intents and purposes, the collection view is the winner. 00:25:37 James In less for some reason you. 00:25:42 James Really just want to use the list, I mean the list view is there, it's just it's tried and true it's forever, but the collection view is just has some niceties to it. 00:25:49 James I would say the list view is like if you're really just displaying a single list of data, and that's literally it, then let's use probably fine, but once you get into more advanced interactions and you get into grouping and you get into headers, the collection view and performance is where it's at. 00:26:04 Speaker 4 Umm? 00:26:05 Matt Well, I love that the only time you would use the list views if you're being stubborn and you really still want to use it. 00:26:10 Matt That sounds totally like something I would do so listview forever anyways no collection view will make you forget all about the list view. 00:26:18 Matt So anyway, we have the drag and drop gesture recognizers now where you can kind of put your. 00:26:24 Matt Being a random element, drag it around and drop it right? 00:26:29 Matt We have those gesture recognizers so our good friend Alexi Struck who actually Co hosted one of the customer showcase podcasts a little while ago. 00:26:38 Speaker 4 Umm? 00:26:39 Matt Wrote a blog post on how to do this and these are one of my favorite types of blog posts where we actually go through and we solve a problem and I kind of think of him as like an engineering post where you start from A and he shows you how to get to B and see a lot of stuff like you do on your videos, James, and so we talk about here. 00:26:56 Matt Dragging and dropping items within a collection that backs up a collection view. 00:27:01 Matt And so it really is cool here is that we have a view model obviously which is hosting the page itself, you know, kind of backs up your view and each little item on the collection view itself is its own little View Model 2. 00:27:16 Matt So that's a question that I've been fielded a lot before is. 00:27:20 Matt Can you have view models do that? 00:27:22 Matt New model within a viewmodel, and I'll actually kind of goes through and shows that as well. 00:27:27 Matt It's kind of just like this ancillary doesn't actually go out and necessarily show view models within view models, but. 00:27:34 Matt You see it work too, so it's actually 2 for one. 00:27:37 Matt But anyways, the main point of the blog post is to show how to drag and drop items around a collection view. 00:27:44 Matt So yeah, pretty cool. 00:27:45 Matt Check it out, cool. 00:27:45 Speaker 4 Right? 00:27:46 James Very very cool. 00:27:47 James Yeah I love that it shows the capabilities of bringing those things all together and talking about bringing stuff together. 00:27:54 James You know, just 'cause we've been talking about building UIS and customizing your application with awesome toolkits. There's also an entire other side of. Net which is the web and probably for mobile applications you need a web back end, and you're probably going to build a Web API for your rest services with asp.net Core and Jon Galloway put an awesome blog about getting started and basically learning how to build. 00:28:18 James Httpapiswith.net this is really cool because there's been a tons of updates in the last month or so to all of the kind of getting started material and documentation. 00:28:30 James There's some Microsoft learn modules on how to you know what are rest API's, how to create your first Web API, and there's a brand new web series Beginning Beginner series to Web API's from Sessile Phillip and Additionally, sessile and Jamie did a new event that's a new monthly series. It's called let's learn. 00:28:51 James Net and last month was Web API. Kind of in this kind of series of things and it was a 2 hour live stream walking through tutorials, taking Q&A live. It was super fun to be part of and that's available on demand in this blog. 00:29:07 James Post and upcoming is micro services, so that would be kind of fun. 00:29:11 James Kind of adding on to it. 00:29:12 James Actually. 00:29:12 James It's the next sort of step in the process, but I did an awesome video with Brady Gaster about Web API for Xamarin developers. 00:29:21 James So if you're looking to be like what what's available, how do I use this or like hey, I have? 00:29:26 James You know all this, you know? 00:29:28 James Awesome, you know C sharp.net experience. I need to get into API development. You can kind of see where your knowledge goes back and forth, which is really cool. 00:29:37 James Which is really cool. 00:29:37 James 00:29:38 Matt Yeah, I mean there is that. There's a whole month worth of content that I John kind of sums up and links out to. And it was a. It was a big effort to put all this together and it it comes together very well, so it's definitely worth a check out anything you wanted to know about API development with asp.net core. I bet you will be able to find out through all that content. 00:29:58 James Oh yeah, Oh yeah, well there is the Xamarin updates for the month. 00:30:03 James How about we get into the cloud news? 00:30:04 James A real quick map. 00:30:05 Matt Absolutely well, we have all the new.netscomingout.net6.net five, Everything Everywhere. Well, Azure functions now support.net five in prod. 00:30:17 Matt Action Super cool right? 00:30:19 Matt Go update everything but there is a couple of new things that we want you to know about is First off, which is super nice is that you don't have to include the Microsoft Dot Azure dot Web dot web jobs package. 00:30:32 Matt Everywhere anymore, you don't need that. 00:30:34 Matt Instead, what she just need to include the new get package for exactly which the the service that you want to integrate with. 00:30:43 Matt So like if you're trying to integrate with Cosmos, just bring in that webjobs. 00:30:48 Matt Package so you don't need the base package anymore is when I'm trying to get at. 00:30:50 Matt Trying to get out. 00:30:50 Matt 00:30:51 Matt It's all kind of built in and the other big change that you'll notice when you're developing with them is that the output bindings work a little bit differently, and I'll put a link in here where they go over and explain this, But this is actually super cool. 00:31:05 Matt James, if output binding is. 00:31:08 Matt Let's say you were writing to a storage queue, right? 00:31:11 Matt And then you just do like return like this string and it gets this string actually gets written into Azure Storage. 00:31:17 Matt But what happens if you want to write to two different things? 00:31:20 Matt What happens if you want to write to Azure Storage and send an HTTP response back? 00:31:25 Matt How do you do that? 00:31:27 Matt Well, now you would what you can do now is like create a custom object will have like James Special Object and then there you'll have two properties and and within those properties when you decorate with attribute and you say this attribute is going to be written to storage and this attribute is going to be written back to the HTTP response. 00:31:27 Speaker 4 Alright, well. 00:31:27 Speaker 4 Alright. 00:31:30 Speaker 4 I don't know. 00:31:48 Matt And you populate both those and you just return that object and then the function runtime takes care of like populating the Azure storage or the Azure Storage queue and the other one sends it back over the web. 00:31:58 Matt So that's pretty cool, right? 00:31:58 Speaker 4 Like 00:31:59 Matt You have like this multiple output binding type deal. 00:32:02 James Oh, that that's cool. 00:32:04 James Yeah, I also really like the multiple nu get packages because there is actually finally a specific storage binding 'cause there was one that got combined with the Cosmos DB one. 00:32:15 James It was a little confusing now is its own again an I have. 00:32:20 James I have a bunch of Azure functions running on Dot net core, two point whatever 2 two, which was when they were separate. So now I'm thinking I could definitely upgrade to Don F5, no problems or I hope at least just toggle a few things and get some real purf advantages here, which would be nice. 00:32:38 Matt Yeah for sure, yeah. 00:32:40 Matt Another one is kind of cloud newsy, but it actually applies to everything. 00:32:45 Matt Is that we have this learn live going on now? 00:32:48 Matt Wanna learn TV? 00:32:49 Matt And what it is is that you can TuneIn, and it's. It'll remind a lot of our listeners who remembers amerenue of Xamarin University, kinda in that you walk through a Microsoft learning module with essentially an instructor going through it kind of step by step. 00:33:10 Matt And so I'll learn module if you don't know is one of our free learning courses that we have up there and you can go through. Or is there just learn modules all over the place covering all sorts of topics and it's where you learn from essentially AB&C of how to do something. 00:33:28 Matt And it's like step by step. 00:33:31 Matt So we have learned live where you actually have an instructor, so maybe a subject matter expert help you walk through these and you can ask him questions as we go. 00:33:40 Matt So learn life will put a link into there and there's a lot of Xamarin or Azure content coming up. 00:33:47 Matt There's one per week and they're also all. 00:33:50 Matt Record it so you can watch him later too if you can't catch him live. 00:33:53 Matt And then this. 00:33:55 Matt Finally, James. 00:33:58 Matt This is kind of a little bit off the wall, but it is using Azure AI is do you know that you can make Cheetos with Azure AI? 00:34:05 Matt Or that they're actually Pepsi? 00:34:07 Matt Company is actually going to be making Cheetos with Microsoft Azure AI. 00:34:12 James Would be super cheesy. 00:34:13 Matt Super cheesy and I I learned the story behind this. 00:34:13 James So she's super shameless. 00:34:17 Matt This is actually kind of cool. 00:34:18 Matt Is that in order to make a Cheeto you have like this corn meal. 00:34:22 Matt Kind of play dough type thing and you stick it through this. 00:34:27 Matt Like this like how you susic Play-doh through like a little like thing and you make like make a spaghetti. 00:34:33 Matt Uh, mixture out of it, you know, like it looks like a compressor kinda, so that's what you do with Cheetos too. 00:34:39 Matt You stick it through this machine. 00:34:41 Matt It compresses it down so much that it actually heats the Cheeto up. 00:34:46 Matt It's actually baking it 'cause it gets so compressed, and then when it comes out the other side it kind of pops open and you have a cheeto, right? 00:34:54 Matt But there's a whole bunch of other variables that go into it, like how much moisture is outside of ambient temperature. 00:34:59 Matt All that other stuff, and then you have to have really somebody watching it. 00:35:02 Matt And who knows what's going on. 00:35:03 Matt It has to be very steeped in all this stuff. 00:35:07 Matt They make sure they can adjust everything just right. 00:35:10 Matt AI though can help out with that. 00:35:13 Matt You know you have all these various inputs going in well. 00:35:16 Matt Artificial intelligence can kind of figure that out so you can get the perfect cheeto every time. 00:35:22 James Isn't that amazing as the perfect perfect Cheeto Beckley? 00:35:22 Matt I know exactly. 00:35:26 Speaker 4 Eggs. 00:35:28 James Flaming hot Oh my goodness Yep. 00:35:31 Matt That's still which brings us to the Azure service of the Month, which is Azure Chaeto service. 00:35:37 Matt No, it's. 00:35:37 Matt 00:35:37 Matt Now it's. 00:35:39 Matt Now this is Azure Communication Services and we haven't talked about this one yet. 00:35:43 Matt It's still in public preview, so it's not, you know out there perfect, but you should try it out. 00:35:49 Matt It's some. 00:35:51 Matt Essentially you can add like real time chat or Tele telephony or SMS text messaging to your apps and. 00:35:59 Matt It's really cool. 00:36:00 Matt I here's the thing. 00:36:02 Matt I haven't used it yet in any of the apps yet. 00:36:04 Speaker 4 But 00:36:05 Matt Here's what I'm thinking is what we can use it for. 00:36:07 Matt Is, like, uh, can I help you? 00:36:09 Matt But you know how? 00:36:10 Matt Like if you go to a web. 00:36:11 Matt Site or an app and you have like this little bot said, hey, can I help you? 00:36:15 Matt You know what I like your palate, an app you know it's like hey my name is James do you wanna race today and somebody types in? 00:36:21 Matt Yes and you know then all of a sudden it pings you live James like hey you have to get an array some you can have a bot like that and in your app and now Azure Communication Services could. 00:36:27 James Yeah people. 00:36:33 Matt Facilitate that so it's. 00:36:34 Matt Yeah, pretty cool. 00:36:35 Matt It's in a public preview and. 00:36:37 Matt Yeah it has a lot of. 00:36:39 Matt Wider use cases that you can think of if you start daydreaming about it so. 00:36:43 James Nice, I like that. 00:36:44 James I definitely need to check it out. 00:36:45 James I heard about it. 00:36:46 James I think it was a billboard night last year so I'm definitely excited to dive into that one as well. 00:36:51 James That's going to give us to our is going to get us to our pick of the pod and my pick. 00:36:57 James Matt is something called fast. 00:37:00 James We never heard of fast. 00:37:02 Matt Oh I I. 00:37:04 Matt Heardafast.com, I've heard of no fast. The word I don't but yeah, tell me about this. 00:37:09 James This is fast design. 00:37:12 James This is from Microsoft, a little small startup in Redmond, WA called Microsoft. 00:37:19 James And this is really cool. 00:37:20 James This is not for mobile development at all, but it's for web development. 00:37:24 James And maybe even blazor development. So if you're in the blazorasp.net world, this is an adaptive interface system for modern web experiences. I read it off the thing it is a UI toolkit for the web. When you're developing with asp.net core and Blazer, so you know. 00:37:45 James By default, Blazor has bootstrap in there, but it you know it's just. 00:37:51 Speaker 4 Just. 00:37:51 Speaker 4 00:37:52 James Bootstrap, it's just CSS. 00:37:53 James It's not actually like controls and tools and stuff, and this has all of the compose. 00:37:59 James Since for blazorandasp.net in it so you can get in there and you can start scripting and building interactions with C sharp. If you're doing Blazer instead of with JavaScript so it has all those nice things has light mode. Dark Mode support is all sorts of controls like radio buttons, toggles, checkboxes and it has built in support for all of your colors and. 00:38:20 James Accent colors anything that you want and. 00:38:24 James If you like the fast look and feel, you can use it, or you can just toggle to the fluent design system so you can say I want to use fluent design from Microsoft. 00:38:35 James Let me just use that and you just toggle it on and boom, you're good to go. 00:38:38 James So instead of adding a button, you add a fast button or a fluid button, and boom, you're good to go. 00:38:43 James It's super extensible, you can create your own design systems, but I just ran across this. 00:38:47 James Randomly, I was in some teams meeting. 00:38:49 James I was even in it but I like the chat pops up, you know and someone put this into the Holy Cram. 00:38:52 Speaker 4 Uh-huh 00:38:54 James This is awesome and I realize that in a community stand up a while ago, John had one of the members from the team on here and I just thought this was so cool 'cause there's amazing just cards and checkboxes and data grids and dividers and flippers and. 00:39:08 James This has been my struggle with web development was that there's not like a just predefined beautiful toolkit. 00:39:16 James When I'm building my Blazer applications and I'm like you know what I? 00:39:20 James I want something that I can just get stuff going like give me a drop down, give me a progress bar, give me these things that I can interact in C sharp with Blazer and this tickled my fancy and I think it's cool there's all sorts of good stuff so. 00:39:35 Matt Definitely give it a look. 00:39:36 Matt Yeah, it's totally amazing. 00:39:37 Matt When I first looked at it I thought, well, this is material design for. 00:39:41 Matt Laser. 00:39:41 Speaker 4 Uh-huh 00:39:42 Matt But you know, it kind of looks like but. 00:39:43 Matt Yeah yeah, totally cool. 00:39:43 Matt 00:39:44 Matt Yeah, totally cool. 00:39:44 Matt 00:39:44 Matt Yeah, totally cool. 00:39:46 James Yeah, there is. 00:39:46 James Actually there's a material design for Blazer called mud blazer as well. 00:39:51 James There's a whole one out there, but this one I thought was cool because it is extensible so it's like if you just want to toggle on fluent design. 00:39:58 James Boom, you're good to go and it just has all the blazer Y stuff for. 00:40:01 James You so I thought it looked pretty cool. 00:40:02 Matt Yeah super, it's it looks good and that's half the challenge. 00:40:06 Matt For folks like me, who is? 00:40:08 Matt I don't make anything that looks good, it's just yeah, ugly. 00:40:12 Matt Everything I do. 00:40:13 James Hey, just give me some default good looking stuff. 00:40:15 James So Yep, that's what you need. 00:40:16 James Yeah. 00:40:16 James 00:40:17 James What you got for. 00:40:17 Matt Me alright, So what I have is I'm not going to sell like you just sold years but it's called Hello World right and it's totally self serving here is that every Friday I host a live. 00:40:29 Matt What we're calling it is like a morning show. 00:40:32 Matt It's like Good Morning America. 00:40:34 Matt But I'm learning TV and So what this is is like 1/2 hour variety hour I hosted with Dona Sarkar and we have like people regular guests come in and we just do like a talk show with them. It's like what we're doing James except wide open you can talk about anything. And yeah, it's kind of cool. I'll put the link in there and how you can check it out and actually it goes on every day of the week. 00:40:54 Matt It's at 10:00 AM Pacific Time an actually 10:30 AM Pacific Time and. 00:41:00 Matt Dumb. 00:41:01 Matt Yeah, every every day of the week is a little bit something different. 00:41:03 Matt Different hosts, different topics. 00:41:06 Matt Don and I do. 00:41:07 Matt Fridays we close out the week on a high note. 00:41:10 Matt And yeah, you should check it out. 00:41:12 Matt We talk about actually the Chaeto story did come from Hello World and we also have like an inspirational story right at the end with Diego right man. 00:41:21 Matt And we talk. 00:41:22 Matt About MVPS with Betsy Weber. 00:41:24 Matt It's really cool. 00:41:25 Matt So nice. 00:41:26 Matt Oh yeah, will check it out. 00:41:27 James Looking for more developer goodness every single day. 00:41:30 James They gotcha covered very cool. 00:41:32 James I'll dive through some of these videos is cool to have something if you just want to tune in every morning get a daily dose that's impressive. 00:41:40 Matt It's a lot of fun. 00:41:40 James Yeah, yeah. 00:41:40 James Yeah. 00:41:41 James Yeah, alright, well I want to thank everyone for tuning in and our special guest David or now and he'll be back next month for even more. Net Maui updates. So until next time there's been Yammer podcasts. Go to yammerpodcast.com for all the goodies in all the links in the show notes that we've been talking about today. And thanks for listening.