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 am Matt Soucoup. 00:00:23 James And I'm James Montemagno and Matt. 00:00:25 James I am so happy because it's snowing like crazy outside. 00:00:29 Matt You're happy about that James. 00:00:30 James Now, no. 00:00:31 Matt Oh man, you know what? 00:00:33 Matt They I on Monday I saw that there was snow in the forecast. 00:00:37 Matt They weren't even sure if it was going to snow, but I saw that there was snow in the forecast. 00:00:41 Matt I ran to Home Depot and bought 2 shovels because there I knew there is going to be a run on a man. 00:00:45 Matt There would be none available. 00:00:46 Matt I'm glad I did because it is snowing now and even if we just have a little. 00:00:50 Speaker 3 But 00:00:51 Matt Totally worth it. 00:00:52 James Yeah, you can't get anywhere in Seattle, so hilly if you're on top of the Hill, you can't get down the Hill, so it's good on you. 00:00:58 James Yes, you gotta get that shovel. 00:00:59 James Gotta get out there and you're good to go. 00:01:01 James But no, I'm kind of crazy. 00:01:03 James the Pacific Northwest is getting hit with a bunch of snow. 00:01:06 James It happens, it happened last year in Seattle, so I can't be. 00:01:08 James Can't be mad at it. 00:01:10 James Last year two years ago, maybe two years. 00:01:11 Matt Maybe two years ago, two years ago, Snowmageddon let me tell you that why did I run out so early to get those shovels? 00:01:16 Matt 'cause two years ago when we did get the snow, Seattle sold out of shovels. 00:01:20 Matt I had a shovel with a. 00:01:22 Matt Dustpan 00:01:23 James Mkono yeah. 00:01:24 James Yeah. 00:01:26 Matt None of the neighbors had a shovel either. 00:01:28 Matt At that point, it's like alright, I'm getting the old dust pan out and shoveling. 00:01:33 James Oh, geez, well you know I I'm I'm glad you got the shovel and then you're going to be out there shoveling away, getting the burning, those cows closing those rings on your Apple Watch. 00:01:42 James I will say that. 00:01:42 Matt Right? 00:01:44 James That definitely shoveling snow drives up the heart rate, so full body workout it is right and lift with your legs, not with your back with your legs. 00:01:53 James Oh, is that why my back hurts after I shovel snow is that? 00:01:56 James It's it's. 00:01:57 James It's definitely the issue there. 00:01:59 James Well, let's get into it because we might just call this the Xamarin Community Toolkit Podcast, 'cause. 00:02:04 James Oh my goodness. 00:02:04 James More stuff. 00:02:05 Matt Yeah it is amazing when we rename the podcast Salmon Community Toolkit Eggstravaganza because you know what the 1.0 is at 1.0. Well stable. Release out the zip stable release. I don't know James it's out there it's out there, it's great that Xamarin Community Toolkit has made it to GA production. Whatever you want to call it. 00:02:27 Matt Go get it and use it. 00:02:29 Matt It's like part three of the whole salmon ecosystem. 00:02:32 Matt You have forms, you have essentials and now you have the tool. 00:02:36 Matt Yet and So what is a toolkit? 00:02:38 Matt It's everything that you ever wanted an more. 00:02:41 Matt It has a bunch of behaviors in it like converters affects a bunch of stuff that you like their helpers that you use like every day that you find yourself rewriting and all your apps. 00:02:51 Matt The one that I find myself rewriting most the time. 00:02:54 Matt So happy is the not equals. 00:02:58 Matt Converter so like you have your viewmodel an you want to. 00:03:01 Matt Let's say you want to hide a control when I. 00:03:03 Matt A property in the Viewmodel is true. 00:03:07 Matt Well, the is visible is true and you want to make you know you're writing and not equal converter to make that happen, and it's in there. 00:03:13 Matt You don't have to write anymore. 00:03:15 Matt Just add the community toolkit and there's a bunch of other things in there too, like a bunch of behaviors like animation behaviors, amassed input. 00:03:23 Matt Behavior we have. 00:03:25 Matt Ah, what else? 00:03:26 Matt Camera view. 00:03:27 Matt Oh my gosh, there's views I forgot all about these like a camera view. 00:03:31 Matt Like the expander. 00:03:32 Matt Those are brand new and there the step. 00:03:34 Matt I think the expander was in forms as an experimental feature an we moved it over into the toolkit. 00:03:40 Matt I shouldn't say we the team did I had nothing to do with this at all, but unlike the safe area. 00:03:46 Matt Just to make sure that your stuff doesn't get over and so everybody can see where it is and a bunch of other really cool things. 00:03:53 Matt I know really it helps you out so you don't have to. 00:03:57 Matt Write a bunch of code that you find yourself rewriting over and over in every app and it's open source. 00:04:03 Matt Of course, like everything else Xamarin, we have the Community contributing to it. 00:04:08 Matt It's really it's run by the community with collaboration by Microsoft, and Gerald is really spearheading it. 00:04:15 Matt A lot of it. 00:04:16 Matt And yeah, I love it. 00:04:17 Matt I'm super excited about this. 00:04:19 Matt 'cause it. 00:04:20 Matt It helps me not do so much work so. 00:04:23 Matt What do you? 00:04:23 James Think yeah, I mean, it's all the stuff all the extra bits that like you said you might have to have written or you might have needed or just you know honestly. 00:04:31 James There's just a really a bunch of amazing community libraries that have been out there and this is that great collaboration with help from the Microsoft and Xamarin teams coming together with the community, pulling everything together and. 00:04:44 James It's perfect compliment, right? 00:04:45 James You have the like the Windows Community toolkit. 00:04:48 James There used to be about Windows Phone community called Toolkit, a Silverlight Community Toolkit, WPF Community Toolkit that goes all the way back right of of collaborating with the community with the idea of saying like hey, there's all these really amazing things. 00:05:00 James And that people are creating the other. 00:05:04 James The Xamarin forms team or the community themselves. 00:05:07 James And sometimes you don't want to put them in the box and you want to give them time to bake or for some you know for other reasons. 00:05:13 James It's like this is not a part of the core package, but we could expose some functionality. 00:05:19 James And you're right, it's sort of like the perfect compliment. 00:05:22 James I love that it's more than just views or it's. 00:05:24 James All those converges, it's all those extensions. 00:05:26 James It's all those helpers. 00:05:27 James They they took some of my MVVM helpers which I which I opened an issue and I said please take everything and they have observable range collection. 00:05:35 James They have a sync command. 00:05:36 James They have a bunch of good stuff in there. 00:05:38 James And they've added a bunch into the first release, even even more than I thought they were really going to do that like a shield view. 00:05:48 James That's just so, like, you know, numbers and things, a tab view. 00:05:51 James I'm using that personally, this is cool. 00:05:54 James You put tabs anywhere you want tabs over here, tabs over there. 00:05:57 James I'm on my live stream on Twitch. 00:05:59 James I'm I'm cloning the palate on fitness app and I'm using this tab view and it's template able. 00:06:05 James It's customizable and I put custom tabs on the top of my page and it's perfect. 00:06:11 James It's really, really cool, so definitely give it a check out. 00:06:15 James In fact, there's a whole lot more going on because we called the Salmon Community Toolkit extravaganza. 00:06:20 James 'cause now I did 1.0 launch into stay. 00:06:22 James Or the documentation is all up 100% so you can check out all the deep dive on all the documentation if you like that type of stuff. There's samples for everything. Also, Gerald has stepped up to record a bunch of Xamarin shows that he's leading bring on community people that contributed to show off all of the amazing controls. There's about two or three videos up already. 00:06:44 James At xamarinshow.com and also on the Xamarin developer YouTube so youtube.com/salmondevelop. 00:06:50 James And there's all sorts of good stuff that's going on. 00:06:53 James He's updating the docs with the videos, which is very similar to what I did with the Xamarin Essentials API the week. 00:07:00 James So it's really cool to be like. 00:07:01 James Check out this thing and then watch a video on it. 00:07:04 James Definitely check out Tab view, it's super duper cool though. 00:07:07 James If you have wanted super custom tabs and like floating. 00:07:10 James Buttons and things. 00:07:11 James It's all there. 00:07:12 James It's good stuff, so I'm a big fan of. 00:07:16 James Of this, in general just good yeah. 00:07:18 Matt Yeah, we cannot oversell how awesome this is and there's docs. 00:07:22 Matt Yeah, the fact that there is a full blown official documentation site for it is amazing and the videos will be on there. 00:07:30 Matt Yeah so yeah. 00:07:32 James Yeah, and you know the cool part about this is that since everything is templated, you can almost all the stuff is in there is templated. 00:07:39 James A lot of these controls you can really customize the UI and I didn't understand templated controls until Javier came on the Xamarin show a few weeks ago and really talked to me all about it and I got into it because. 00:07:51 James This is sort of where they're going went down in Maui. 00:07:53 James If everything is template able, and again, I've done a lot of WPF development and other WWE development, but never was in the templated world, I didn't understand it, but he broke it down in such an elegant way. 00:08:04 James And when he brought up the radio button, which is part of Xamarin forms 5 and made it template able. 00:08:12 James He broke it all down for me that I understood that you can keep the functionality of control but completely customize the view 100%. 00:08:22 James And get access to the state changes. 00:08:24 James So radio button you put him in a group and you click on them and they have different states that you would customize. 00:08:29 James So I wrote a blog post over on the Xamarin blog How you can completely customize your radio buttons and I use it in one of my applications today. 00:08:39 James My cadence which allows you to. 00:08:43 James Well, for fitness biking applications and get cadence like you know how fast you're pedaling. 00:08:47 James But to select the theme. 00:08:49 James So normally if I was have a theme that have like a list, maybe a picker control where I do light dark or device default. 00:08:55 James Or maybe I would do a just default radio buttons which would just have a little radio button circle with text on it. 00:09:02 James But I said hey enter radio buttons and make them customizable so you can use the default that looks OK. 00:09:09 James But what I really want is I want little cards, you know, little cards that have like a little icon that have the name on them with little rounded corners on them. 00:09:18 James Different states that I can customize, and I show you how to do it in just a few lines of code. 00:09:24 James And it's really cool like you just have a control template. 00:09:27 James You say this is what I want it to be here. 00:09:29 James The view states that I want to have an bingo. 00:09:32 James Bango you're done. 00:09:33 James It's a little bit of work, but you can really customize this thing and you don't have to know the right custom renderers or do custom crazy controls. 00:09:41 James You just give it a template. 00:09:42 James You can use it anywhere in your app. 00:09:43 James It's so cool. 00:09:44 James So I thought that was a good one. 00:09:44 James Yeah, that's a good one. 00:09:46 Matt Yeah I love it. I mean it's. I think templated controls right now are, or at least out of the box like it's just radio button right now. I think yeah, right? But so, and if that's where we're going for maui.net Maui, it's going to be amazing, because like you said, it's when you can put it into the visual State manager. 00:09:55 Matt Yeah. 00:10:08 Matt And you can say, at least for the radio button. 00:10:09 Matt I wanted to look this way when it's not checked, and this way when it is checked an it's behaves just like a radio button, but it really doesn't look anything like a radio button. 00:10:21 Matt I mean, really, that's how. 00:10:22 Matt I mean, you're really you're changing the UI of something, but not the functionality underlying it. 00:10:27 Matt Am I making any sense? 00:10:28 Matt It's just so cool though, but it's a radio button, but it doesn't look like a radio button 'cause you templated it away. 00:10:35 James Right, yeah you could. 00:10:36 Matt I don't know. 00:10:36 James You could, almost you can. 00:10:38 James You can extend it to to have like you know, different properties that are special to your template and that's what Javier went through on the video with me. 00:10:45 James But you can imagine a world where you don't have to create custom controls anymore. 00:10:49 James You just create the control template and you're like, hey, apply this control template to your radio button. 00:10:53 James Now it's like a does this crazy thing? 00:10:56 James You know what I mean? 00:10:56 James It could be it could look completely. 00:10:59 James Magical and there could be like unicorns flying. 00:11:02 James And like you know, sprinkles coming from that. 00:11:04 James You know it doesn't matter. 00:11:05 James Is is crazy. 00:11:06 James You can do all sorts of really cool things and that's what I wanted to kind of highlight is. 00:11:10 James Yeah, you know, the default control may look like this, but hey, add this, you know. 00:11:14 James You know 50 lines of XAML and then it looks beautiful. 00:11:17 James You know it's like, boom done. 00:11:18 Speaker 3 Done. 00:11:19 Matt And that's cool. 00:11:20 Matt That's a great point. 00:11:20 Speaker 3 That's. 00:11:21 Matt That custom controls Michael go. 00:11:23 Matt You know, you might have to do it because yeah, in your control template you do have like a frame and some grids in there nested is that you're essentially creating a custom control inside this template that just happens to act like a raid. 00:11:36 Matt Button. 00:11:36 James Exactly, you don't have to recreate with a custom control, right? 00:11:39 James You have to a subclass it or you have to tap into the native functionality and figure that out, but but not with this you just say I like that. 00:11:47 James I like what it's doing. 00:11:47 James Let me make it all. 00:11:48 James Pretty so. 00:11:49 Matt Yeah, it's good stuff. Yeah. And well, you know what else is going to be good stuff james.net. 00:11:49 Speaker 3 Good. 00:11:56 Matt Mauior.net multi platform app UI. That's that's that's the acronym. did I get that right? Multiplatform app you like. It's not really so. We kind of missed the P in there that 'cause it P doesn't really roll. 00:11:57 James It's common. 00:12:08 Matt Out for Maui. Then Maui. 00:12:10 Matt My powie XX. 00:12:12 Matt Really cool anyway. 00:12:13 Matt Is anyways one thing that we're really trying to do with Molly is kind of be, I guess, verbose, and how you know everything is coming up 'cause it is imean.net 6IN itself and Molly coming along with it. There's there's some pretty big changes in that, so we want to be sure that. 00:12:29 Matt I guess be over communicated about it so everybody is ready to go with it. 00:12:33 Matt And so David put together this great post is kind of saying all right. 00:12:37 Matt The previews Dot Net 6 preview. 00:12:39 Matt Sir, come in and just so here's what's happening now. And here's where we're going. And one of the cool things that in this post is that we talk about this website. Calledthemesof.net. So where you can actually see what is being worked on for Xamarin right now and really see the high level details. It's all on GitHub. 00:13:00 Matt And put together, and so I will link to it in the in the in the blog. 00:13:05 Matt And actually, I'm going to go and look at it right now here and see what's being worked on with Sam and and I can't type in this AM right now, but it's really cool, but. 00:13:09 Speaker 3 Yes. 00:13:15 Matt So there's a lot of neat things going on as far as that, and so we also in this blog what he we go on to say is like what is actually net Maui. 00:13:24 Matt And it's really, you know, kind of how the unification of. 00:13:29 Matt Like Xamarin, Android and Xamarin iOS, they were net right we you could write him to dot net but now like they are being brought into done at Dot Net is no longer hugging him but hugging him so closely that Xamarin is partof.net now. Yeah, that's a good way to say I. 00:13:46 Matt You know, and everybody is hard because it's Valentine's Day we're hugging. 00:13:46 James Yeah there there there. 00:13:49 Matt You know that exactly. 00:13:51 James Their their core right there. 00:13:52 James The core part of it. 00:13:53 James They're in the ship in the box, and you know that underlying technology is just going to be there, right? 00:13:59 James And an down. 00:14:00 James And now he's going to kind of build on top of those, you know, on top of all of Dot net, whether it's done it for Android or. 00:14:06 James Net for iOS. 00:14:07 James Or you know you WP, or you know, coming to Mac right with? 00:14:12 James Project catalysts. 00:14:13 James They're going to build on top of that, and I really enjoy this blog post because he breaks down this different sections, right? 00:14:19 James The building blocks where we're at right now, and you go to themes that down that you see all of dot net planning, right? 00:14:23 James Anyway, miss. 00:14:24 James It's just aggregates all these different things and you can see all the things for Xamarin developers and there's things like you know even about Blazer on there like CLI work. 00:14:35 James And you know if you can target this platform and are you going to manage this thing and. 00:14:39 James Now all these different different priorities, and if it's committed and if it's proposed and where it's at and what's going to be done so you can. 00:14:46 James If you're into geeking out on on planning, this is really transparent, so you can really see it. 00:14:52 James 'cause again everything is built in the open, so this is a cool aggregator. 00:14:55 James But you know, I think going forward there's a lot of key areas that you can look forward to when it comes to down in Maui. 00:15:01 James So being the evolution of Xamarin forms, it's going to build upon all the enhanced quality improvements that came to Xamarin forms 5. 00:15:11 James An more so, like I love Xamarin forms 5 and I've been upgrading all my applications. 00:15:17 James But they are streamlining and looking at all the controls, stripping them back and really fine tuning them. 00:15:24 James The performance, I think is probably one of the most important where you know we have great things with AOT and Startup Trace. 00:15:29 James Hanging fast renderers, but they're redoing the architecture. 00:15:33 James This is the most important biggest change I think. 00:15:35 James Of Donna Maui is a lot, but before there used to be sort of this. 00:15:41 James Button render and then implementation on top of it. 00:15:44 James But they're they're abstracting these handlers into an interface, so. 00:15:51 James For example, Maui will have a button, but there might have a fabulous button, a reactive button, a comment button instead of a button renderer, your button sitting on top of it, and another thing sitting on things like layers upon layers of complexity, there's just an interface, so anyone that wants to make a button, they just implement an interface, and now they have a button and they're done. 00:16:10 James They can do whatever they want. 00:16:11 James I get access to all the things and this button handler is. 00:16:16 James What will you know? 00:16:17 James Do the rendering and anything like that and down in Maui so it removes all of the additional layers of complexity that is on top of it, yes? 00:16:27 Matt So it's like we're taking the time to kind of rethink how things are done underneath the scenes with thewhole.net six rollout. And yeah, David also go ahead. James, I'm sorry. 00:16:38 James No, I think you're right. 00:16:39 James I mean and and the goal of that is to get rid of all renderers, right? 00:16:43 James You don't need a renderer anymore when you just have an interface that you can implement or light up or extend. 00:16:49 James He does say in here, but like you know, what if you have custom renderers like you know you can get. 00:16:52 James Those will still work too, and there's going to be like a back compat. 00:16:55 James You know, system that they're putting in place too, which is really really cool. 00:16:56 Speaker 3 But 00:16:58 James But I think performance is one of the first things that you want it to be. 00:17:02 James Super snappy and super good, right? 00:17:04 James So Decompiled, portable, reusable, unwrapped, super speedy, and that's going to be the high level goals. 00:17:10 Matt Yep, and there's a couple other things that David mentions through here, like single project an where everything is just kind of 1 project instead of having a bunch of different heads on it and net hot reload. 00:17:21 Matt Read through it. 00:17:21 Matt There's a really nugget of Golden information that's kind of buried in there that James and I were talking about and laughing about. 00:17:29 James You mean the C sharp hot reloading? 00:17:30 Matt Yeah C sharp hot reload. 00:17:31 James Yeah C sharp. 00:17:33 Matt Burying the lede. 00:17:33 James That that'll that it will be not only in down in Maui, but also in other workloads. 00:17:38 James That's what it says. 00:17:38 James So Yep, that's cool. 00:17:40 James Yeah, and single project don't don't over skip that because I think single project is cool because you know you're going to have all of your fonts, all of your images, all of your assets are all going to be in a single project, and you can even write. 00:17:52 James Platform specific logic in that project is going to do a bunch of cool stuff. 00:17:57 James You know it's going. 00:17:57 James To be built on multi targeting and INET 6 and I saw an early demo of this actually recently and all of the other new features that they're adding. 00:18:06 James And all. 00:18:08 James That's not even in this blog post. 00:18:09 James I'm very excited about it. 00:18:11 James I think that's cool and you miss design. 00:18:14 James There's the whole design sections map. 00:18:14 James Oh, I did. 00:18:15 Matt Yep, Yep, I missed that. There is so much comingwith.net Molly James and moved on at 6 as as a whole is that? 00:18:26 Matt Well, first go read this article. I mean I think coming up here James are gonna be talkingabout.net mauiand.net six. That's true forever, right? Yeah, and rude. Through November we have a ton of content coming out as straight through but yeah. 00:18:34 Matt Yeah, it's really sweet. 00:18:41 James Yeah, as it starts to roll out, there's going to be more and more that we can actually play around with and see one of the exciting parts of this decoupling. 00:18:47 James And also this templating that we talked about is the design. 00:18:50 James So there's going to be defaults full app theming for fluent and material design in addition to the to the platform native. 00:18:59 James APIs too, like you look and feel, which is cool. 00:19:03 Matt I am fluent design. That's Microsoft's design language, right? The design language that with the right way to call it, but. 00:19:06 Speaker 3 Yeah. 00:19:10 Speaker 3 Thank you. 00:19:11 James I think so. 00:19:12 James I think the design language feels right. 00:19:15 James I think that that feels like the good good thing, yeah? 00:19:19 Matt Cool yeah, thank office. 00:19:21 Matt I think office might be fluent, yeah? 00:19:24 James Well, so Matt, what yes? 00:19:26 James So it is coming right and you know at some point we're going to probably change the name of the podcast. 00:19:31 James We've already been high level. 00:19:32 Speaker 3 Me. 00:19:33 James We have some domains registers or pretty excited about that, but what? 00:19:37 James What if Someone Like You know, just getting into it like should they? 00:19:40 James Should they? 00:19:42 James Wait or should they start today? 00:19:44 James What should they do, Matt? 00:19:46 Matt You Xamarin forms start right now examine forms because you know what the best thing is is that the folks doing.net Molly Engineering. They're smart enough that they're going to have a migration path for you, right? So just use Xamarin forms today. And because you're not going to have to rewrite your apps when. 00:19:46 Speaker 3 Yeah. 00:19:58 Speaker 3 Uh huh. 00:20:05 Matt When it comes out, you have to update the project file. 00:20:09 Matt But you're not going to have to rewrite everything and informs. 00:20:14 Matt It's still going to be supported. 00:20:15 Matt I think for what was it? 00:20:16 Matt 2 years that forms is still going to be going to be around, so yeah. 00:20:20 James Yeah, like officially supported with, you know, bug fixes and this and that and and who knows how long that will get extended, right? 00:20:29 James So there's definitely things going on there. 00:20:30 Speaker 3 Right? 00:20:30 Matt So yeah, so there's no reason not not to get started with form, so they can, so the migration over the net movie is not going to. 00:20:31 Matt Right, yeah? 00:20:37 Matt OK. 00:20:38 Matt It's not going to be anything to lose major sleepover. 00:20:42 James Now he. 00:20:42 Matt Or any sleep over. 00:20:43 James Yeah, he even outlined and he's like, even if it was me, you know they're trying to do it right. I tried out or try convert thing, but it's like you update your project. So now it's going to be like a new SDK style, which if you're already using.net standard should be super simple. You'll update the namespaces. 00:20:59 James 'cause we knew namespaces, you know, and in your XAML and inside of your your code and then you have your nu get packages and. 00:21:06 James Pretty much will be done like should be OK a day, that's a day's work. 00:21:09 Matt Go grab some coffee heard yesterday, yeah? 00:21:11 James Yeah yeah, eat a sandwich. 00:21:13 James Eat a sandwich while you recompile. 00:21:18 Matt Done so good blog. 00:21:20 James There's a lot more in there. 00:21:21 James There's there's so much more that we're not going to go into, so. 00:21:21 James There's so much myths. 00:21:23 Matt I know it's amazing. 00:21:25 Speaker 3 Right? 00:21:25 Matt Amazing good stuff. 00:21:27 James I do want to talk about some other stuff though, because Matt, well, there's been really cool fun blog post. 00:21:32 James New stuff coming out. 00:21:33 James A lot of my team on the DOT net community. 00:21:35 James We've been kind of focusing on some of the fundamentals and saying, hey, you know there's a lot of. 00:21:41 James Important pieces of just normal day and a developer stuff that we want to kind of like just kind of update refresh. 00:21:50 James You know, give a little level love to. 00:21:53 James And we've been taking a look recently at all of the rest and Web API stuff, and you're probably saying, well, I'm a Xamarin developer. I don't write back end code, but you probably need to integrate with back end logic and code at some point. And rest, is there an asp.net core web API's there? We recently updated the Microsoft learn module. 00:22:14 James On consuming rest services. 00:22:16 James With all sorts of new things, we've updated the back end, the sample code and also a bunch of great documentation on how to debuglocallyasp.net core Web API backends and some of the security things that both Apple and Google put in place. And we updated the documentation for rest. 00:22:27 Speaker 3 Uh huh. 00:22:36 James And zamarin two. 00:22:37 James So if you brand new to Microsoft learn, it's a really cool way of learning all Microsoft technology and even beyond Microsoft Tech. 00:22:45 James Apology, but there's a net landing page. A whole bunch of good Xamarin stuff. Which will you know, get updated on Maui as well, but there's a bunch of good stuff that's on therearound.net will put a link to the landing page there and you get points and you get Ward to get all these great things. So definitely be on the lookout for those, and as we're sort of refreshing, a lot of this content I want to make sure. 00:23:06 James You know, keep everyone up to date there and what's going on. 00:23:09 Matt Yeah, now like you said, there's you know. 00:23:12 Matt We're all mobile developers here, but we do have to do more than just that and we are doing a whole.net Web API effort on there now. James I know you're helping lead that up, and I'm. I'm also on the team and we were talking about that before the podcast of. Yeah, there's a whole bunch of new fresh content out there that's going to be. 00:23:33 Matt Aboutthis.net if I'd so yeah. Check out learn. There's going to be.net everywhere to help folks out when they're building their applications so. 00:23:42 James Oh yeah. 00:23:43 Matt Yeah, pretty cool. 00:23:44 Speaker 3 Yeah. 00:23:46 James Well, Matt, I guess that brings us to a little cloud news. 00:23:48 James Which gap for us? 00:23:49 Speaker 3 Uh huh. 00:23:50 Matt So James, when you're using Azure DevOps. 00:23:54 Matt Isn't it? 00:23:55 Matt Don't you get overwhelmed at times like how large of a product that is? 00:23:59 James Like there doing stuff in there. 00:23:59 James Like there's a lot to start my stuff in there. 00:24:01 James It's a lot of stash. 00:24:02 James Yeah, a lot of good stuff. 00:24:02 James Yeah, I mean. 00:24:03 Matt Where do you start? 00:24:04 Matt I mean, and that's that's the thing like when you're starting when you're starting off a brand new project or you don't know an application that, well, you kind of get like this analysis paralysis. 00:24:14 Matt Let's say, like I don't know what this is for. 00:24:16 Matt I don't know what that is for an you if you don't know what you don't know. 00:24:21 Matt What do you? 00:24:21 Matt Also do well So what the dev OPS team has come up with is what they're calling is a demo generator and what it does is that it's actually going to create this project for you and there's projects spanning the gamut of different scenarios, and it populates projects. 00:24:39 Matt I mean including like pipelines. 00:24:42 Matt Like build pipelines an deploy pipelines. 00:24:46 Matt It will populate the like your planners like your DevOps boards like for Sprint planning and such agile and show you how things are set up and done so you have like a full demo date. 00:25:00 Matt Set there so it's like you get popped down in the middle of a project, not so much in middle, but at the beginning of a project with a correctly filled out Azure Dev OPS. 00:25:11 Matt Site and so what's nice about this, then, is that wouldn't maybe so much use it as your own, like you wouldn't do one of these demos selectors. 00:25:21 Matt I think there's a health care provider demo in there. 00:25:23 Matt You wouldn't necessarily take that as your own and kind of tweak it, but what you can do then is like spin up your own site and base it off of. 00:25:30 Matt So you wouldn't necessarily be using the demo data, but you can play around with that demo data, understand it, and then apply it to your own site. 00:25:38 Matt So it's just a nice way than to kind of get started. 00:25:41 Matt It just a ton of different scenarios that they have out there, so I think when I was messing around with it, there was gosh. 00:25:49 Matt In the dozens like 24 or more different. 00:25:54 Matt Development scenarios that you could have out there. 00:25:56 Matt And here's the best part. 00:25:58 Matt They even have scenarios. 00:26:00 Matt There's Azure Dev OPS on Microsoft. 00:26:02 Matt Learn as we were talking about before, and as you go through those were modules and you can actually spin up a dev DevOps site for yourself and have like all the data that they're talking about at your fingertips. 00:26:15 Matt As well, so like they'll walk you through step by step and kind of spin up a scenario for you and you can actually have it in your own little DevOps site itself and mess around with it too. 00:26:25 Matt And kind of have that persist and go on and. 00:26:29 Matt Play and learn as you go, so I mean, it's just a really yeah kind of a nice head start thing and kind of learn about it and I don't know. 00:26:37 Matt Ask something always, especially with the product as large as DevOps. 00:26:41 Matt Like where do I go? 00:26:42 Matt You know there's so much here. 00:26:43 James Yeah. 00:26:44 Matt I'm not sure what to even do an what's scrum, what's agile, what's. 00:26:49 Matt I don't know. 00:26:49 Matt I'm not sure which one to pick, so yeah, this kind of tells you and shows you the pros and cons of each, just by messing around with it. 00:26:57 Speaker 3 So. 00:26:57 James Nice, I like that this is a yeah nice exploratory adventure. 00:27:01 James I wish I would have done that. 00:27:02 James We just started using. 00:27:04 James For for some of this new project, my team and collaboration across the Oregon teams we do a lot of things in planner and tasks. There's like a small kind of con Bon board which is really good for like a very for all sorts of different projects, But I like to think of it as like I'm working on this project and it's sort of short lived things like we do a lot of for.net, live TV, and for the blog for a bunch of other stuff. We're kind of moving things across. 00:27:29 Matt Button. 00:27:30 James And if you want to have like dashboards and assign multiple people things and like link things and have custom fields the the planner boards are really good. 00:27:38 James So we've been using this and it's been good. 00:27:40 James I've used Azure Dev OPS for awhile, but I've mostly used the pipelines or I've mostly gone in and as an independent developer just like. 00:27:47 James Oh here's this, but on our team or collaborating and swim lanes, all this stuff. 00:27:50 James It's like really, really cool. 00:27:52 James I know it's been cool because Donovan told me for years that it's been super cool, but now that I'm using in, the teams really kind of expanding on that. 00:27:59 James It's fun to flex in there and get burn downs and dashboards and all this stuff. 00:28:04 James It's pretty. 00:28:05 Matt Cool yeah, I mean just having the data there to see how somebody is using it in the quote unquote right way that goes a long way in like 'cause what's a moment in DevOps I I don't know but when you see somebody out there using it in the right way way, the team thinks that you should use it. 00:28:23 Matt That goes a long way to helping you understand. 00:28:25 Matt Stand it so yeah. 00:28:28 James Cool alright where we at we're over on new vids we talked a little bit of some new vids but Xamarin Community Toolkit definitely go check out those will just put a link to all of them but there is also. 00:28:34 Speaker 3 Oh yeah. 00:28:40 James This is really cool. 00:28:41 James I actually just saw this in funding that you linked it here too, which is there's a series. 00:28:45 James It's called the launch space. 00:28:46 James Do you know anything about this series in general? 00:28:48 James I've seen like there's one on Azure stuff. 00:28:49 Speaker 3 Oh 00:28:50 Matt Yeah, So what this is is our Brian Ben. 00:28:53 Matt So he is a cloud advocate and So what he's doing is talking about new products launch like launch space and So what he did is he had crag done on it and Anna Shane from from the Xamarin forms team to talk about the Surface duo then 'cause that's a brand new. 00:29:12 Matt Product and so the last space is a series, then talks about new products and then Craig and Shane were there to talk about surface dual for Xamarin and. 00:29:20 Matt Net develop. 00:29:20 Speaker 3 Worse. 00:29:21 Matt And uhm, yeah. 00:29:23 Matt So it was pretty cool. 00:29:24 Matt I was moderating questions for it, so I was. 00:29:27 Matt I was lucky enough to see him do it in person yesterday they we just did it. 00:29:32 Matt So were you able to check? 00:29:33 Matt Out the show at all times. 00:29:34 James I wasant no, I've I meet with crag all the time and and chain as well. 00:29:40 James But now she is really into the duo so I snuck up on me. 00:29:44 James I just I happened to be browsing Channel 9 is like up there it is. 00:29:47 James Oh my goodness I missed it so there's good stuff happening. 00:29:48 Matt OK, so just it just. 00:29:50 Matt It just hit less than 24 hours ago, yeah, so I mean you don't feel bad, but yeah, check it out. It mean they mean kind of quite goes gives you the like. 00:30:01 Matt I want to say the overview of it. 00:30:02 Matt Like you know, this is what you know this layout means, like the portrait layout versus the landscape layout. 00:30:08 Matt Let's say an Shane goes into like how you would develop for it. 00:30:12 Matt Really interesting. 00:30:13 James Yeah, that's awesome. 00:30:15 James I love it. 00:30:16 James Alright, let's move on Azure service of the month what? 00:30:19 Matt You got for us, yeah? 00:30:20 Matt Yeah, so I have. 00:30:20 Matt So I have something written down about DevOps and I'm going against it. 00:30:23 Matt So even to. 00:30:23 Matt So if I Skype. 00:30:25 Matt Erase that yeah, so I don't know. 00:30:26 Speaker 3 Alright, I'm sorry. 00:30:27 Matt Have we talked about notification hubs as a as a product yet? 00:30:30 James Maybe I haven't. 00:30:32 James I haven't revisited the notification hub in awhile, no? 00:30:33 Matt Neither. 00:30:34 Speaker 3 No. 00:30:35 Matt But we're going to talk about it though. 00:30:36 Matt Notification hubs 'cause this one is directly applicable to mobile developers, right? 00:30:42 Matt It sends push notifications and so what's cool about the notification hubs is that. 00:30:48 Matt So let's say if you're going to create a. 00:30:50 Matt Push notification push notifications for iOS. 00:30:53 Matt Yes. 00:30:54 Matt Well, you gotta go through Apple push notification services. 00:30:57 Matt An for over an Android and you gotta do fire base right? 00:31:00 Matt Fire based communication FCM messaging and what notification hubs then gives you as an abstraction between them. 00:31:07 Matt So you still have to set up each each one you saw this setup APN S you still have to set up a fire base but notification hubs then let gives you like one entry point then where you can. 00:31:17 Matt Should amount to both. 00:31:20 Matt Operating systems at once. 00:31:22 Matt So it's like this abstraction over everything, and it does more like you can do then like templates as well. 00:31:29 Matt And So what a template will give you is like the ability to. 00:31:32 Matt So like. 00:31:34 Matt Localize there, that's what I'm looking for. 00:31:36 Matt Localize your your content going out so if you need something sent down in Spanish or French, you can easily do that through when you register your device, it receive push notifications, registers the type of push that it wants to get or like I say, alright. 00:31:53 Matt Here's the push that I want to get for this. 00:31:56 Matt Particular key, so let be a key value pair, the value being to push it wants to send back or the content that you want to send back to it. 00:32:04 Matt And yeah, so it's super cool, but notification hubs does a whole lot more than just what we meant even gets into like voice over IP stuff. 00:32:14 Matt Kind of pushes and stuff like that, but for us salmon developers it's pushed to devices and it's kind of like this abstraction over. 00:32:24 Matt Sure. 00:32:25 Matt Apns and FCM, and even a Windows Notification services too. 00:32:31 Matt It does so one place one push 1 notification for everything. 00:32:37 James One notification, yeah, to rule them all, yeah. 00:32:37 James Creation app. 00:32:41 James Nice, alright, well let's get to our pick of the pod. 00:32:44 James I have one. 00:32:45 James It's actually my own library, so to my own horn Mark Brown, I wrote a blog post recently on my in App Billing plugin. 00:32:55 James I may maybe I have already. 00:32:57 James To to my own Horn on this one. 00:32:58 James It's hard to say. 00:32:59 James But anyways, this is a plugin that abstracts the in app purchase. 00:33:05 James Kind of like notification hubs, but for in app purchases, right? 00:33:10 James It does this and abstracts it into a common API out there. 00:33:14 James Now this is not part of Xamarin Essentials and I don't think it ever will be because it's. 00:33:18 James The complexity I go back and forth with the team talking about it and. 00:33:22 James You know, I'm. 00:33:23 James I even I. 00:33:25 James Love to hate my own library only because. 00:33:28 James Uh, you know it's money, right? 00:33:32 James And that is is complicated because there's you know if something is wrong in the library than does my phone. 00:33:37 James You know? 00:33:41 James Yeah. 00:33:41 James Someone lost money and that that stinks, right? 00:33:42 Matt Yeah, that's a big one. 00:33:44 James If you know and then I'm on them on the I don't want to be on the hook for it, so it's kind of like use at your own risk, but. 00:33:49 James I use it myself or if I use it, I've deployed it into three of my applications. 00:33:54 James I don't do subscriptions, but I know some of my other colleagues have used it for subscriptions and other people. 00:34:00 James A lot of people use this plugin. 00:34:02 James It's so many so many people, I'm really surprised. 00:34:04 James Just buy it and what's nice about it is you can do consumables, non consumables subscriptions, all that stuff and I recently updated it to support Mac OS, just normal Xamarin Mac OS applications. 00:34:20 James I have an application called my stream timer and that application. 00:34:25 James Someone was asking if I could do some things and they recommended I put in app purchases in it, so I did it over the weekend this last weekend. 00:34:33 James I published a new get package beta out there. 00:34:35 James I just shipped a nap today to app to the App Store. 00:34:38 James The update which uses it and it's totally there and it's really good to go an if it's now in my cadence. 00:34:46 James My island tracker app and in my stream timer. 00:34:49 James So if you're looking to put in app purchases in your app. 00:34:53 James They are complex, but I will say this like testing is gotten easier. 00:34:56 James The API is just a few lines of code to use it, so it's it's not super crazy complex. 00:35:01 James You know you have to do some considerations of well, how am I tracking it like I'm having people log in as I do an account. 00:35:08 James All this stuff like that, but in general they have people are people are making their livelihood off of it, so I'm excited. 00:35:14 James You know, the reference implementation is there. 00:35:17 James It's open source, so I think it's cool. 00:35:20 James Bye bye. 00:35:22 James I'm excited that people are using it so. 00:35:24 Matt Let's go no pressure James, no pressure you always be responding to those issues. 00:35:27 Speaker 3 OK. 00:35:30 James Yeah, I know it's you know I did I got the team to really take a lot of my plugins off my hands with Xamarin Essentials. 00:35:38 James Then it's, you know, really fun to do to do that stuff, and I'm I'm. 00:35:43 James I'm I'm more than happy to keep this ongoing because I do use it. 00:35:48 James I think that's you know when you use your own plugins or use your own apps or use their own things that it definitely yeah, definitely makes you care about it even more so. 00:35:57 Speaker 3 But 00:35:58 Matt Yeah, this one sounds pretty cool and it's super useful, right? 00:36:01 Matt I mean this is this is awesome. 00:36:03 Matt So for my pick of the pod, though, I'm going to kind of, well, it's the Xamarin Community toolkit L'acheter. 00:36:12 Matt Lose a yeah I know. 00:36:14 Matt And so I'm going with that. 00:36:15 Matt And just because you know what I'm going to try something with it that I hadn't used before and so it's going to be like my future my promise of what I'm going to do between now and next month is I used to do. 00:36:27 Matt I used to never do XAML right when I first started doing Xamarin forms. 00:36:30 Matt I didn't want to touch SAML at all, right? 00:36:33 Matt 'cause I didn't want to learn it. 00:36:34 Matt I was all C sharp. 00:36:36 Matt Did every all my UI in C sharp until I learn XAML is like why did I do C sharp all this time? 00:36:41 Matt I'm going to try the C sharp UI extensions that are in a community toolkit and see how that goes. 00:36:47 Matt Bill. 00:36:48 Matt My bill might try building a UI using C sharp and the UI extensions in there which should make it easy. 00:36:53 Speaker 3 OK. 00:36:54 Matt See how it goes. 00:36:55 James Then then you'll be ready for Dinam Ali. 00:36:57 James When you get that C sharp hot reload, there you go. 00:36:57 Matt That's right, that's right. 00:37:00 Matt So yeah, that's that's my pick of the pod. 00:37:04 Matt the C Sharp UI extensions that are in the Community toolkit. 00:37:08 James Very cool yeah. We even forgot to mention this now. We imagine a boom. Awesome cool. Alright I think it's going to do for this week's Xamarin podcast. So definitely check us out of xamarinpodcast.com. Follow us on Twitter and of course check out all the amazing links that map puts down in the show notes. So until next time. Thanks for listening.