00:00:11 Matt Welcome back everyone to the Samr 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 at so. 00:00:23 James Yeah. 00:00:24 James And I'm James montemagno. 00:00:26 David And I'm David Ortinau. 00:00:27 James We gotta add Matt to the end of that Antonelli, because that's what we talk about here. 00:00:32 Matt We talk about that every. 00:00:33 Matt Go ahead. 00:00:33 Matt 00:00:34 Matt Podcast James. Well, it's not November yet, but you know, we'll we'll lead up to it we'll. 00:00:38 Matt Tease it. 00:00:39 James And it's it's no longer mobile development, it's app development all things. 00:00:42 Speaker 1 Mm-hmm 00:00:43 Speaker 1 Yes. 00:00:46 Matt We'll get there, you know. 00:00:48 James Slow but sure. Well, you know I am super excited to have David back as a recurring guest because not only does David Grace US with his presence and his silky smooth voice, but it gives us awe-some.net. Maui updates every single month because you know what? There's like a new drop of dawn in Maui. 00:01:04 James Every single month and I was just looking at the road map and it literally says every single month and was kind of in it every month and that's kind of amazing David. 00:01:12 David Yeah. 00:01:13 David It's it's fantastic. There's a lot of moving parts all the way from the you know the the base class library and the runtime. 00:01:20 David Up through the the mobile and Desktop SDK and into.net, Maui and Essentials so so many so many things happening, there's plenty to talk about and there's even thing you know the the world doesn't stop and wait for Maui to ship so we've got other things happening as well. This week has been WWDC and if you follow me on Twitter. 00:01:40 David You saw that I upgraded all my stuff because you know, I like to be on the bleeding edge. 00:01:44 David Rich and I like to be able to let everybody else know what's working and what's not so good news. 00:01:51 David I can build and run net Maui apps on the latest Mac OS Mount was in Monterey. I keep wanting to say Mavericks was that, uh, release way back Mavericks or something like that or my. 00:02:01 James It definitely was. It definitely was. I also upgraded to Monterey only because by the way, because you did and I'm I'm sitting here waiting for iOS 15 to update on my on my iPhone, so we'll see. 00:02:12 David Yes, certainly the if you're. If you're doing day-to-day Xamarin development and you don't want to be blocked, I would not upgrade. 00:02:20 David Wait a bit for that. It'll be a few few releases of betas, probably around beta three or four, most likely four of Xcode. 00:02:30 David When we'll ship ourfirst.net bindings with the majority of the core things cover and then you could actually start really utilizing that, but as it is right now, visual. 00:02:40 David Vumc 00:02:40 David Certainly runs, but you'll you'll find a lot of hiccups with the toolchain, and everything on Monterey, so a little caution for the listeners. 00:02:51 James Yeah, you know we we do get a lot of questions often about like, you know, there's a new drop of Android or iOS. 00:02:51 Speaker 1 Agent 00:02:56 James We've gotten this question for Xamarin for the last 10 years. Since I've been at Xamarin and beyond that, do you want to give a quick before you go down in Maui? So I want to give a quick like. 00:03:04 James Just like what's up with iOS 15 and whatever, and how? 00:03:08 David That works sure, sure, so I mean the way that we approach. 00:03:11 David It certainly is from a a customer need customer demand standpoint. We don't just ship because Apple and Google do things, but our customers do. 00:03:20 David Expect to be able to be in the app stores on day one or we like to say ready. 00:03:24 David Day 0, so that means we prioritize the most used bits of the frameworks so that Android 12 is the latest stuff, right is out and you can use. 00:03:36 David And now and then with iOS 15, of course it just got announced. We just got the first Xcode two days ago. 00:03:44 David Something like that. As of the recording here, so you know, we've done our diff of the API's to look to see what has changed. What's updated, early indications are that it's a similar updates to last year. 00:03:56 David There's always a large disparity between the marketing message and what is actually happening in the SDK's, so not not a ton of you know heavy new things there, so we will start shipping previews around. Like I said, Xcode Beta Beta 4. 00:04:13 David And then once we get a gold master from Apple, we'll turn around as quickly as we absolutely can. The stable release of our stuff, our release candidate, and and then, when everything is public, you know at that point if you've been following along and you're wanting to be in the App Store right away, then it for you. 00:04:33 David It should be just a matter of recompiling. However, Apple does not. 00:04:39 David What's the right way to say this? They will change things in a release candidate. They will even release multiple Gold Masters and break things in between them. 00:04:50 David So that happens and we just need to do our best to react to that. There's nothing, nothing more we can do. So we we. 00:04:59 David Turn those usually around in, just like a day or so. Now the great news, and this is kind of a great benefit of net. 00:05:06 David Six is we will be shipping more on our own cadence and not so much with Visual Studio for the net six releases of things. 00:05:14 David So iOS 15 of course will be out before.net six is GA. 00:05:20 David So that means that we're going to ship a new version of Xamarin iOS to support it, and then that will be supported for customers for the next year and and all. 00:05:31 Speaker 1 All. 00:05:31 Speaker 1 00:05:31 David We'll also be shipping thatwith.net6rightso.net six will have iOS 15 support and then when it comes to iOS 16, assuming the cadence. 00:05:41 David Stays the same and there's no reason to believe it wouldn't. Then all of that moves forward on Dot net, 7.net eight et cetera, et cetera. 00:05:48 David So it's a little off cadence. Not everything lines up in the stars so that we can just move version to version and everything moves along with us. 00:05:56 David Same thing with. You know we we work hard to be aligned with win UI and the project reunion timelines. 00:06:03 David It's a bit easier because we're within the same company, of course, but Google and Android don't care what. 00:06:09 David Our timelines are so we kind of just adjust accordingly so that does not mean, however, that on day one day zero, that every single API is necessarily going to be bad. 00:06:20 David And so if there are some fringe API's around different frameworks that really like two people in the world use or 10 people, those will get bound. 00:06:31 David They will get shipped for the most part, but they may not be there on day zero, so that's kind of the reality of how we approach things and how we prioritize. 00:06:40 David To make sure that our customers can do what they need to do when. 00:06:43 David They need to do it. Yeah, that's. 00:06:44 James Yeah, that's exactly how it's worked for the last few years, so if you've been in and around, you're good to go and I'm installing iOS 15 and you can be part of that. And and I did. I look at the diff. 00:06:54 James Of the API's already, and we'll put a link in the show notes to the to the wiki page that is there for all of them, by the way, and it looks relatively minimal, which is great, but you know, you never know under that. 00:07:04 James Well, let's get into some.net Maui stuff because build did happen and there was a new preview. And of course some upcoming previews you want to get. 00:07:11 David Into it, David yeah, let's do that. So Preview 4 shipped with Microsoft build at the end of last month. 00:07:18 David And with that we had some pretty cool stuff in there, so we have a new blazor web view which allows you to host any blazor app within a native.net Maui application. 00:07:30 David So you benefit from all of that beautiful web technology for all of your UI. But you can also augment it with any native UI. 00:07:38 David And then you get the same seamless access to platform features. So we did a little demo app called the Weather. 00:07:45 David 21 app 'cause you know how many weather apps have we done over the years and just we just keep trying to improve upon it? 00:07:53 David And so with that app we actually showed how you can integrate app actions using the Essentials API. Those are little quick links you get off of the app icons from your dock or your start menu. 00:08:04 David And then we also integrated an icon in the system tray and in the status bar and then local notifications. 00:08:12 David So you get those native notifications, so several different examples of how easily you can integrate platform things like that, and then you can do that with a blazor web view. 00:08:23 David Or you can of course do it all native, it's entirely. 00:08:26 David To you and to make the blazer web view or the net Maui blazer experience as easy as possible to explore. 00:08:34 David We now have a new template for you, so you can do a net new Maui Blazer and fire up a whole new application. That way it's pre pre bootstrap for all the things you need to do. 00:08:46 David In addition, we we did update the DOT net Maui templates and we'll continue to improve upon those as we go here. But a nice new look to it. A streamlined style. 00:08:59 David So all of that stuff is new and if you install 1611 on this is Visual Studio version 1611 Preview One on Windows. 00:09:10 David Then you will also see those templates after you've installed it on the command line. All this stuff is made super easy as before with the Maui check. 00:09:19 David Tool, I'd definitely recommend grabbing that and giving it a shot. It's not foolproof. Not not you know, going to solve every problem in your environment all the time, but and you know, for 99% of developers it'll get you configured what you need to do, and then you're off and running. 00:09:37 David Uh, let's see what else was in there. 00:09:41 David So we also highlighted some ecosystem things that have moved forward. So of course a lot of our applications benefit from using vendor components. Whether it's progress to lyrics and fusion Devexpress grapecity any number of the other customer libraries. 00:10:01 David That are out there, open source or otherwise so. 00:10:05 David The Great news is that progress has already shipped their first alert. 00:10:09 David Controls that have Maui support. They're natively written for Maui with the new architecture that we have, and you can go check that out on their website. 00:10:18 David They shared that the week of build we also have blogs from Syncfusion and Devexpress explicitly saying that they're working on their Maui controls, so that's encouraging and we have had conversations with them. 00:10:30 David Where we've you know, taken their feedback and helped guide them so. 00:10:33 David Nobody is ready to go. Oh I, I almost forgot how could I not? Prism has released their first Maui package for their mvme library, so Dan Siegel worked quickly to make that happen. 00:10:47 David He was also very close to having his font icons and his build tools. I think ready to go for.net. 00:10:53 David Dex and Maui, but was waiting for some of the image source stuff that we were working on, so hopefully in preview fiveof.net six that will be. 00:11:02 David Get ready to go. 00:11:02 David Ready to go. 00:11:04 David And and then a really cool thing that I didn't expect to see. But I had talked. We had talked to grilk it a while back because they do such beautiful. 00:11:14 David UI controls and theming about checking out the Maui graphics experiment that we have, which is essentially a cross platform graphics library that we're starting to use in Maui. 00:11:26 David We're not using it just yet to build controls, but we're using it for our drawing APIs and things like that. Well, the. 00:11:33 David Beautiful developers at Gryll put together a video showcasing how they took some of their existing skia sharp work and recreated that control using the Maui graphics, and so that was really cool to see. I was pleasantly surprised that he shared that video with us that we could build. 00:11:53 David Let's see what else so I wanted to call attention to a couple of things coming up just to give everybody a heads up. 00:11:59 David So 1611 Preview One does have some hot reload support in it. However, we didn't really toot the horn that you could do XAML hot reload justyetwith.net six because you have to jump through a few too many hoops. 00:12:13 David To make that work. So as soon as that experience is smoothed out, we'll promote that and you'll be able to use XAML hot reload. 00:12:20 David Good on all the different things.net hot reload we premiered at build and this is your ability to apply C sharp changes to a running application so you don't have to do the edit and continue breakpoint thing. 00:12:35 David You just you don't even have to save the file. You make a code change. You hit the apply changes. 00:12:40 David Button that little fire icon in the toolbar. 00:12:42 David It it reapplies that code and then you do whatever you need to do in your application to re trigger that code path and it patches your app and and you see the new code. 00:12:51 David It's really, really cool that is coming as well to dot net Maui we demo'd it in some of our sessions, but it's it's again, there's a lot of hoops you gotta jump through right now just to make that. 00:13:02 David Stuff work for specific platforms, so look for the next tooling release from us and we'll tell you where you can find those things. But to set your expectation it's not going to be in the next 1611 preview. 00:13:15 David The next Visual Studio that you'll see from us with these features is going to be Visual Studio 2022 Preview 2 most likely. 00:13:25 David As the preview, you'll see that in, so keep an eye out for that. I don't have dates, but it will be coming soon. You can imagine because these are things that are actively in development and we're we're. 00:13:35 David Building towards the future here I have had my own sneak peeks at 2022. It's a beautiful. 00:13:40 David 3D, so I'm excited for everybody else to get a chance to take a look at that too. And and then final note for you looking forward a little bit further. 00:13:44 David Take a look at that. 00:13:44 David 00:13:50 David Preview 5 is actually not too far away. It's only a few weeks past Preview 4 shipping, but Preview five will be coming out in the next week or so and with. 00:14:01 David That we are consolidating those win UI projects down to at least one and then by Preview 6. Hopefully we'll have absorbed all the win UI projects into that single project, so it can be treated just like Android, iOS and Mac OS. 00:14:16 David And kind of get that stuff out of the way so you don't need to worry about it, but it's still there should you need to do anything platform specific. 00:14:24 David We are also improving some of the single project run menu options so we have what are called static launch profiles, so those improvements will be coming to the IDE. 00:14:36 David Preview 5 probably the thing we're going to feature the most is going to be the animation and transforms. 00:14:42 David So those APIs have been finished and they are included in Preview 5 and we also have a handful of controls that have gone feature complete like activity indicator stepper. 00:14:53 David I still haven't used a stepper in an application ever, but when you need one boy, you're glad that it's in the box. So Stepper is now feature complete and a couple of other. 00:15:03 David Controls have. 00:15:04 David I've made it. We'll see what the team finishes up in the next couple of days, but that's looking really good, so Preview 5 is not going to be as bigger release as Preview Four was given the shorter timeframe here, but it's still got plenty to talk about for sure. And then the final final note is we get asked a lot about the Xamarin Community toolkit. 00:15:25 David What's going to happen with that? Are they going to move it to dot net Maui, et cetera, et cetera? So the great news is, we've talked to Javier and Brandon and Gerald. 00:15:33 David And and others that are maintaining it, and you can already find a branch where they have done some of the initial renaming. Thingsfor.net Maui there is a road map to bring the Xamarin Community toolkit to Dot net six in Maui, so that's underway. The first step is going to be just enabling the control renderers. 00:15:53 David As they are to be used with Maui and then the longer journey of porting those things that make sense to handlers and then. 00:16:02 David But you know they'll ship the the early bits. Hopefully you know not too far from now, just in you know a few weeks, maybe preview. 00:16:10 David Six, we'll have a community toolkit. We can start using. So there you go, lots happening. Very exciting stuff. 00:16:17 James Awesome, Dave is great. It's always great to see progress in the in the in the actual SDK and the tooling and also just all of the great ecosystem updates to really coming along. 00:16:28 James We're not that far away. Time is moving quick, podcasts are coming every month. The new previews every month. 00:16:34 James I I definitely will put links to all of the GitHub, the release blogs, all the stuff that you talked about here. 00:16:41 James David, thank you so much for coming on and talking about. 00:16:43 David All this awesome stuff. Thanks guys. Talk to you next month. 00:16:46 Matt Oh, I love hearing about all the new good stuff coming in with.net Maui and every month it gets better and better leading up to November. I'm so excited, so much excitement. 00:16:56 James Oh yeah, same here. I can't wait. It's always great to have David talk about all the new hotness and also all the community standups. 00:17:01 James Do they ever they're rolling out new community standups? They said one with Dan Roth. I have a video talkingabout.net Maui and Blazer together and blazer updates with Maddie so there's all sorts of good good stuff happening for people too. 00:17:14 James To take a. 00:17:14 Matt Look at yeah, that's the best thing you can actually see it evolve in real time. So yeah, totally cool and well Speaking of other things that you can see evolve in real time is that every month we talk about new Visual Studio updates and last month we had 16.10 preview and that during a month or since. 00:17:33 Matt We the last talk hit live and we have now 16.11 preview one and so this is great stuff and so I'll just recap a little bit about 16.10. We talked a lot about it last month but just some highlights. 00:17:48 Matt Coming out of it is improved git productivity right within it, and so a lot of times I'm not sure James on how you use git, but I just go with the with the terminal with just the command line because, well, I'll be honest. I found the the visual user interface just a little bit lacking, but now I'm going to. 00:18:08 Matt Really, try to use it and just see how much better better it was. Plus you know from the command line. 00:18:12 Matt I'm not that great with it. You know it's just kind. 00:18:14 Matt Of get Poland. 00:18:15 Matt Google so looking forward to that and some other cool things is remove unused references. 00:18:23 Matt You know, it's like if you have a nu get package in there, but you turned out you're not using it. 00:18:27 Matt Just find out you know there actually will be a right click option on there and it'll go through and find out which ones you're not using and then just go through and get rid of them for you so you do need to turn. 00:18:38 Matt Yeah, isn't that awesome. So you need to turn that on in order to use it. But yeah, it's in there and there's some new Intellisense options in 16.10. 00:18:48 Matt As well, such as Intellisense completion for enums. 00:18:52 Matt And you can insert arguments in the method calls and. Also we talked about this last time visualizing a navigation of inheritance chains and classes. This way you can actually see all right class Foo inherits from class bar and it implements. 00:19:09 Matt Interface, Zeta or zed? I don't know I'm I'm bad with naming so anyways so a lot of those cool features that we talked about last time are now there. They're fully baked 16.10 but 16.11 is out preview and. 00:19:27 Matt It supports, well, you know, Dot net six is, you know, continuing to chug along and one of the coolthingsabout.net six is as davidtalkedabout.net hot reload and so what's I love about this is that you can modify the app while it's running, and so you know, Xamarin developers, you know we're all spoiled with XAML, hot reload. 00:19:48 Matt Right, but now you can, like, you know, take a console app if you're writing that, or an ASP net core app and modify that and you don't have to rebuild it. 00:19:56 Matt He said when whenever I'm building like a ASP. Net Web API, I kind of do.net watch run, which essentially rebuilds the whole thing if I'm not. 00:20:05 Matt It rebuilds the whole thing, but now you don't have to redo that or you don't have to do that, it just with hot reload. It's going to just take that one little control or whatever you're working on and. 00:20:16 Matt Just apply those changes so that's neat 16.11 preview one is out. Yeah, download it. You can run both 16.10 and 16.11 side by side. 00:20:30 Matt Well I wanted to. 00:20:30 James Try it, that's what I'm doing today and my dog shaking out and she's like, yeah, let's do this. 00:20:31 Speaker 1 That's it. 00:20:31 Speaker 1 It. 00:20:35 James Yeah, yeah, I love the nu get stuff. I use a lot of the good stuff for always forever inside of Visual Studio. 00:20:41 James And since they've been redoing it a lot, I I've had to drop down to the command line very, very rarely. So I love the new things that they have. 00:20:50 James Especially the diffing of files and things like that. It's very, very good. So definitely give that a look. It's very, very cool. 00:20:58 Matt Cool yeah I totally. 00:20:59 Matt Check it out and well VS Mac 8.10 is out and James I complain about it every time, but we have to do something about the numbering. 00:21:07 Matt You know 16 dot 10810 let's you know for Visual Studio 2022, let's let's change that, right, can we? 00:21:14 James Yeah, I agree, maybe I don't know. We'll see. I topson. 00:21:17 Speaker 1 I don't. 00:21:17 Speaker 1 Don't. 00:21:17 James Find out, yeah. 00:21:19 Matt So what VS Max 810 has is a dot net 6 preview support or.net 6 preview for support. With that we also have more native UI cocoa controls. 00:21:31 Matt 'cause I'm we're rewriting we, the team are rewriting. 00:21:36 Matt Visual Studio Mac to be more native. 00:21:39 Matt Mac, you know with cocoa controls, so it's even more native. Yeah, we're evolving on that and making that a peer native experience and has M1 processor support. 00:21:40 James Yeah, even more and even more. 00:21:44 Speaker 1 Yeah. 00:21:52 Matt If you have one of those new Mac books, as more M1 support via Rosetta and really the big thing is with Avis Mac is they're focusing in on. 00:22:01 Matt VS Mac 2022. A lot of resources are going that way to make that a a really great experience when that hits so. 00:22:10 Matt Yeah, I mean it's VS Mac super fun. Super exciting what's coming out there and I'm looking forward to, yeah, via smack 2022 when that comes down the line. 00:22:21 James Yeah, it's great to see it continue to progress, you know more native UI, more support for the different SDK is going on and pushing forward towards 2022. 00:22:30 James We're getting there at some point. I don't know any of the dates or anything like that, but it will happen at some point, so I'm excited about that. Continue on in our Xamarin journeys. Rachel over on the Xamarin and on Maui team wrote a great. 00:22:43 James A follow up blog. She's this whole series which is the journey to accessible apps. The first, A blog that she did talking about accessible apps, gave an overview of why you want to create accessible apps. 00:22:55 James Some of the things that you can do today. She was on the let's learn.net accessibility event a few weeks ago, I collaborated with her. 00:23:03 James She's fantastic with some Microsoft learn modules. Also with her and Shane, we collaborate. 00:23:04 Speaker 1 Wait? 00:23:10 James On some new accessibility features in the Xamarin Community Toolkit 2 which is cool and this one all talks about this blog about screen readers, which is a very key focal point for building accessible applications. So this is really cool 'cause it's very in depth. She goes through some real world case studies from the world. 00:23:30 James Health Organization talking about screen resort readers what they are with the different ones on different platforms, how you use them. 00:23:40 James How you can add support into your into your applications, which is a kind of a very natural way of going through the Microsoft learn module. 00:23:48 James Cool, but then also how to use some other tools like accessibility insights and scanners. And then she also talks about what's coming next in Don Amaui and some of the accessibility enhancements there, so it's a fantastic blog. And in fact the net new Maui templates include these semantic properties. 00:24:09 James Which will help developers create even more accessible applications, so you'll see them right in there, which is really, really nice so. 00:24:15 James So it's a great ongoing series from Rachel. I really appreciate that because I always, you know, want to make my apps even more accessible. 00:24:24 James And it's it's good, no to know how and why and and what to do so big fan. The other thing I wrote a blog because you know how often. 00:24:35 James Matt, do you get a question which is like how do you? How do you just design? Good looking apps? Does anyone ever ask you that? 00:24:41 Matt The better question is, is how often am I wondering that myself? But no, I get asked that a lot too, and James tell us how do you? How would I go about making a better looking app? 00:24:49 Speaker 1 Yeah. 00:24:55 James Yeah, it it. It's a. It's a great question and I also asked myself that question. Although 'cause I'm not a designer, most developers aren't designers. 00:25:02 James Often we're given a design and then we go and implement it, but sometimes you're not even given a design and you're just building an app for yourself, so you need some inspiration and you need some great controls that'll support you on this, so I wrote this blog I should have written this. 00:25:16 James Like years ago, but it's called building beautiful apps with Xamarin forms. And here's the cool part is that you can use some great design websites like Dribbble and Up Labs where very talented people make beautiful designs for inspiration. 00:25:31 James Some of them you can even license and get like exports to Adobe XD and other tools like that like sketch, but here's the cool part is that there's tons of great stuff built into Xamarin forms like shapes and material design, carousel view, indicator view, collection view, there's great community controls like the Yammer community toolkit. Magic gradients Pan gave you material. 00:25:51 James Freightcar view shadowskin sharp. These are all things that I outlined right in this blog like to get to to get you going. And of course. 00:25:58 James Great components from Telerik. UX divers, grapecity, syncfusion and more to really extend it out. So in this blog post, I walk through some of the things that you can start building based on inspiration, built-in controls, community controls, a great ecosystem, and finally. 00:26:17 James Javier from the team has a great repo that he's been building out forever. It's called good looking UI with Xamarin forms and these samples that anyone can submit. 00:26:28 James Uhm, full applications or pages or whatever with and and there's also snippets to that EP links to two is there's all these great samples of amazing UI that developers have built and they're all open source so you can look at the original design. 00:26:43 James You can look at the GitHub project how they built it and some of them are just clone. Some of them are unique. 00:26:48 James And I just outlined some of my favorites. So there's like a card wallet. There's an airline application, a cookbook. There's a cake application. 00:26:56 James And and then I also talk about how there's actually an Adobe XD exporter from Kym Phillpotts from the Microsoft Learn Team and Xamarin team. 00:27:05 James Before that, on how to export Xamarin forms, styles and controls right into your application. So the idea is be inspired, look at what's out there because you can do it. You know if. 00:27:17 James Others have done it. You can do it too and you can copy and paste some code and get inspired by great designs and pull it into your application. Sometimes just knowing is half the battle. 00:27:27 Matt Yeah, I mean, that's exactly it. Knowing is half the battle. And yeah, we have a really good community out there who's doing a lot of great design and you can go out and just get inspired by that. 00:27:37 Matt You can go out to their Github's 'cause they open source a lot of it and just kind of well, not copy, but copy their designs and use it for inspiration and. 00:27:48 Matt Yeah, I mean a lot of my my my apps really is, you know, stack layout, vertical orientation, label entry label. Very very ugly. But yeah, there's tons of tons of great great designs out there and. 00:27:59 Matt OK. 00:27:59 Matt 00:28:06 Matt And and Kim, Kim Jong XD exporter I didn't even know about that. How, how, how awesome is that and uh, I did a learn live over build time frame and Kim actually did all this slide. 00:28:19 Matt Lights for us and these are beautiful slides, so Kim is more than just making great looking apps. He does PowerPoint slides and are just great looking so yeah. 00:28:29 Matt Kim, for all the good UI. 00:28:31 James Oh yeah, love it. 00:28:33 Matt Yeah, and so James have a. 00:28:36 Matt Azure functions I know you love the Azure functions nice and nice and short and sweet for creating some web APIs on the back end. But uh, are you familiar with open API at all? 00:28:43 James Now we. 00:28:47 James So open API. I know it, uh, swagger. Some people talk about as well. I I know swagger is like hey I have an asp.net Web API that I have in it. 00:28:58 James It kind of gives me a little tester sort of thing, or I could use the HTTP rebel two and it pulls it all in and that's that's what I'm kind of used to. 00:29:06 Matt Yeah yeah, so a long time ago swagger and open API used to be the same. 00:29:12 Matt Thing. 00:29:14 Matt Kinda sorta so swaggers like tooling and they used to create an open API document and and then you know they they got split out you know so I'm kind of giving everybody the whole history here now. 00:29:22 Matt History. 00:29:22 Matt 00:29:23 Matt Here. 00:29:23 Matt 00:29:23 Matt Swagger tooling as you refer to where there's like this test website where you can go to and invoke different methods on your API and so you might have seen this. 00:29:34 Matt We know when you're like experimenting with different API's like you can do a get function like you know get. 00:29:39 Matt Weather or you know, opposed to like I'm not sure, would it be kick off a build or something like with App Center so like there's these open API's that Swagger uses to build that test site and so now that's really just with asp.net core that we could do that. 00:29:59 Matt You could do with other languages too, but you couldn't do that with Azure functions until now. 00:30:06 Matt In the cloud news and so overbilled, we just announced that you can do open API support with Azure functions. 00:30:13 Matt My colleague Justin you, who has been working on that since he was a MVP helped then started working with the Azure function team now has released it and so yeah, it's pretty cool and now you can actually do like swagger tooling. 00:30:26 Matt With your open API document with Azure functions and what's neat about an open API document, it's just JSON you know, specifically formatted and so you and I can go and read it. 00:30:37 Matt We could know what this API actually does by looking at the definitions of functions and what they would return and what they need to be imported, or these this tooling like swagger tooling could read it too and actually create yourself a little website too. 00:30:54 Matt Invoke it. So yes, pretty deep and you can do with function cell guys. 00:30:58 James Very cool, yeah, nice that's awesome. I like it. I have anything that gives me more visual representation. I'm so used to just. 00:31:07 James I get the command line that comes up and then I see the output and then I'm like I gotta copy and paste URLs and do a thing. 00:31:14 James And you know, if you gotta, The thing is also you have to if you have to post things you gotta open postman or you gotta do it through this like it's nice to just have this nice little UI. 00:31:24 James That can, yeah and. 00:31:26 Matt What's cool about it? It tells you all the inputs and outputs, and you know, like the properties that you're expecting. So a lot of times you have to guess you know, like what is this object do. 00:31:37 Matt This you know, the tooling will tell you the open API document describes it, and so it's it's nice. I mean it's it's a helper that gets you going faster. It says developer tooling that speeds up your inner develop. 00:31:50 Matt And so Speaking of Bill James, have you? Did you check out the developer keynote? Not not Saudi as main keynote, but the developer one. 00:31:58 Matt No one that wasn't just aimed for, well, people like you and I and the developer tooling. 00:32:03 James Yeah, I I enjoy. 00:32:03 James Yeah, I. 00:32:03 James 00:32:04 James You know I spent a lot of time this year 'cause we had Google IO build and Dub Dub DC, which is this week and we're recording. 00:32:10 James Thing I this year, more than ever I I try to chip away some time on my calendar just to bookmark things I wanted to go see and Bill had a bunch of live and on demand sessions and I moderated some and I presented. We presented one in the learning zone, but. 00:32:29 James I spent more time this year watching more of the keynotes, some on demand sessions. I did the same with WC this year and probably the most at build. I watched a lot of videos from our team. 00:32:42 James From from the net. Team from the Visual Studio team. From the power Power platform team and just some some general win and some windows stuff and some other general things at Microsoft. 00:32:54 James Just kind of get some some no house I really enjoyed. I enjoyed a lot of it and the developer keno. You know why the hanselman one or the one that handsome? 00:33:01 James His party 'cause there's there was a big one and then Hanselman had this like 30 minute break out show. 00:33:06 Matt Yeah, yeah, I'm I'm talking. Yeah, I'm talking about the show. I'm talking about the comedy, the sitcom Yeah Yeah. 00:33:10 James Yeah, the sitcom. It was definitely. 00:33:12 James Any sitcom it was good what? 00:33:14 Matt Do you think you know I loved it? You know, just it was something different, that's for sure. 00:33:19 Matt And that's why that's why I liked it so much. It just wasn't a regular session, so to speak. It was a sitcom, and for everybody who hasn't seen it, we'll put a link to the YouTube for it. But it was pretty much hanselman and friends. 00:33:33 Matt By practicing for keynote, but uhm, that was it. But it yeah, I mean it's it's kind of hard to explain like they are practicing for the keynote doing all the things that you would see at the keynote, but that was it, you know. And they're cracking jokes and stuff like that. So yeah, pretty neat. 00:33:52 James It was good. I liked it. I liked it a lot. Yeah, and will link to a bunch of videos as well. 00:33:57 James I created a playlist on the net and YouTube that we can just link to and have everything there for everyone. 00:34:01 Matt Yeah. 00:34:02 Matt That sounds like a great idea, and we'll do that. 00:34:05 Matt And so then we'll bring up the Azure service of the month then, and I'm back at it where I used to talk about cloud news and then not talk about the same thing for Azure service of the month, but. 00:34:16 Matt But yeah, I'm back at it and this was a big one. Azure functions, you know. I used to do the little obscure ones a little bit, but now we'll do a big one Azure functions, but here's the best part about it. 00:34:28 Matt I won't talk about all of Azure functions, I'll just take a little bit about it and so Azure functions is event driven, it's serverless. 00:34:36 Matt It's fully serverless, and what makes things serverless is that you can scale it down as zero. 00:34:42 Matt In my mind, so I mean, obviously things have a server, but if it's serverless, if it's not running, you're not paying for it and Azure functions. 00:34:52 Matt What it does is that it responds to certain events. So whether you have they're called triggers. So whether you have an HTTP request coming in or, let's say a timer. 00:35:03 Matt These are events that are triggering that. Fire your logic on the back end, so that's cool. But the coolest thing about functions in my mind is bindings, and so you can bind to like. 00:35:16 Matt Azure storage queue or an Azure storage account and functions. The runtime takes care of all like the connections and all that for you, and it'll pass in an object that is already connected up. 00:35:31 Matt It's already new IT up for you. You don't have to do it yourself. All the infrastructure is taken care of for you. 00:35:37 Matt Like even do like Cosmos DB, you can declare which query you want to run and the object that comes in is going to be just that one record or that set of records you want for you. These are all bindings and. 00:35:50 Matt And yeah, that's what I love about functions. Super easy to use. It has the bindings it triggers off of various events and we could talk a lot more about it, so that's what I like about these big ones. 00:36:01 Matt These big services is that I can reuse them as Azure services of the month. A couple different types so, but that's just a quick overview, triggers and bindings. 00:36:10 Matt For fun 00:36:11 Matt Chance. 00:36:12 James Nice, very cool Azure functions all day, every day. Well, it's going to bring us to the pick of the pod. 00:36:17 James I'll go first pick of the Pod project I coming up. For some microservices, there's a brand new project high extension for vscode, and if you don't know project high is, it basically enables you to build your micro service. 00:36:32 James Infrastructure easier, so if you're going to put it in Docker or in some other container, or tie in different services, it's ideas to tie it all together. 00:36:40 James I'm not a micro service expert, I'm learning through some of the learn modules that my team and use yourself matter putting out. 00:36:48 James Kind of introducing different topics and I know that you're working on a project Taiwan next, so I'm very excited about that. 00:36:55 James But there's great blog on the Visual Studio blogorthe.net blog, actually, which is. I don't know why it's there. 00:37:03 James I feel like it should be on the asp.net blog, but probably ties there and it talks all about. 00:37:08 James What it is, how you can use it and how you can use the extension. So give that a look. If you're into microservices, you know backends for your mobile apps, someone got to write it. 00:37:18 James Your time together. 00:37:19 Matt And you know it may as well be you. That way you know exactly what to be expecting, any you know. 00:37:22 James Exactly. 00:37:22 James 00:37:24 Matt And if you write it, you. 00:37:25 Matt Know what's going to work so. 00:37:27 Matt But you know what I'm going to go right on piggyback on it. 00:37:31 Matt You've mentioned that James that Nish, Nish, Neil and I are writing a bunch of microservices. Learn modules and you know what? 00:37:38 Matt My pick of the pod is the very first one is dot net microservicesfor.net developers or? 00:37:45 Matt I think that's what we called it, or an introduction to microservicesfor.net developers. I'll link to it on this bitwarden. 00:37:52 Matt I can't remember what the name is. It is an intro to microservicesputinfor.net developers and we talk about Docker. We talked about getting an asp.net Web API, put in the Docker including a front. 00:38:05 Matt And talk about Docker compose and yeah, super. It taught me a lot when I was writing it. And yeah totally check it out. And yeah, it's part. 00:38:16 Matt Of we're writing A1 on Kubernetes now and then we're going to write the one on tie next, so we're going to have a whole series of micro service. 00:38:25 Matt Learn modules coming up. 00:38:27 James Very cool. Well we did it another month of the Xamarin podcast as we tie in somemore.net Maui. Content into here. 00:38:37 James Let us know what you think. I go ahead and reach out to us on Twitter. We'll put our links to our Twitter accounts in the show notes below. That's going to do it for this week Xamarin. 00:38:45 James Podcast this month. Who knows what day it is. Matt, thank you so much for being here. Appreciate it and thanks everyone for listening. Matt. You have an awesome day and an awesome weekend. 00:38:54 Matt You too James.