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