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 of xamarin.net Azure and more, I'm Matt Soucoup 00:00:23 James And I'm James Montemagno and his Xbox release. We quote wow do actually. 00:00:30 Matt James, I'm standing in line waiting for the latest and greatest Apple silicone to come out, nobody's here, nobody's here with me but I'm freezing. 00:00:38 James Oh my goodness, you're outside the Apple store over in in EU village and you're like, yeah, let's do this. I'm ready a little did you know that all the Apple stores are still closed? Are they still? 00:00:46 Matt Posted I have no idea, I think so. 00:00:50 James You know I have some Apple Silicon sitting around. I have one of those DTK units, although I can't. I'm running into some issues with it currently for the upgrade process, but. 00:01:00 James We had talked on the other podcasts in the Merge conflict. Frank and I about it 'cause he got one too. And it's um, the M1 chip is what we have. I don't think. Is the M1 chip, but I think overall it's really impressive. So I'm excited to maybe get one of these M1 devices at some point. You know, I've been deving all my apps work, which is really cool. 00:01:20 James So I'm I'm excited. Actually run iOS applications on a Mac. I think it's gonna be crazy. 00:01:26 Matt I think it's gonna be pretty cool too, but you know they advertise it as. 00:01:30 Matt One more thing you know join us for the one more thing and you know it's like it's it's a processor change yes, is that one more thing you know? Like last time they were thinking like is the iPhone. I life changing society changing a new processor in a laptop. 00:01:46 James Well, you know they did a great job though describing like what you know, SOC's are ARM processors. Why it's an important shift? It's going to be a slow transition. 00:01:57 James To these processors, but it's not going to be as slow as people think because I was I was on the used to be like a million people were watching the Apple event and that means that there's a lot of consumers watching this event. 'cause there's new devices an when you go to the Apple website, you can only buy ARM processors for the new Mac book. 00:02:17 James Pro 13 and MacBook Air. So people that are buying these devices it's their only option, so everybody is going to have these soon, so it's a it's kind of a big deal and also big serves coming out as well so that. 00:02:30 James Also kind of a big deal at the same time. I did update update my Mac book Pro from 2013 to Big Sur. That was scary, but it's totally working just fine. So yeah, I don't know. It's kind of an exciting time, but it's scary time. There's new councils, there's new, you know, new hardware, new associates and. 00:02:50 James A new net. 00:02:52 Matt What version of Dot Net five 5.0. 00:02:57 James Boom, well done. A 5 is the the start of the thefutureof.net right? Don F5 is the next evolutionand.net coreyouknowitsjust.net now it's nomore.netcoresnomore.netframeworksuggest.net which makes it awesome. It's on a yearly cycle so you get done at 5.net 6. 00:03:14 James Down at 5 is a current release. 00:03:16 James Done at six will be an LTS or long term support release, so it's kind of a nice part to start upgrading things in your process. Not everything supports down at 5 just yet, so if you're looking to upgrade your Xamarin projects not yet, that'll be done at 6 things. Same with UW P and a few other frameworks. But if you're building web applications. 00:03:40 James With asp.net core desktop applications, Microservices, Council apps, anything like that, this is sort of the future where it's going. 00:03:49 James And the tons of new features at the net conference, which is the yearly virtual conference that was this week keynoted on the 10th. So we'll just link to the video because we don't have enough time to go through everything but the biggest thing for developers to know that this is sort of the start point going forward. That's going to give you sort of a unified runtime unified project system. 00:04:13 James Unified tooling and it'll be really exciting for Xamarin developers as we start to get done at 6 previews because that will also unify the Xamarin tooling. Xamarin libraries everything into this, so everything will just be the same instead of all these project systems that are all different, tooling that are all different and everything will just be sort of flattened out. It'll be simple. 00:04:35 James It's really beautiful. I really like it, you know, keep it really simple for people to understand that this is done at 5.6 dot seven blah blah blah going forward and there's just great frameworks that run on top of it. 00:04:48 James You can actually try out C9. You can flip these bits on 'cause those are compiler. You know options right? That's it's officially supported on F5, but you can flip it on. We just tested it on me and Matt before the podcast you can fly. 00:05:00 James Hold on, there's some like work around kind of just making some as magical stuff work, but in general it it works pretty nice out of the box and especially if you're doing down at 5 work it's there, but more importantly Matt with an F5 and a netconf came new versions of Visual Studio Visual Studio 16.8 and Visual Studio for Mac. 00:05:20 James 88 and Mattie, Leisure program manager extraordinaire, was in the keynote talking about a whole bunch of new stuff, right, man? 00:05:26 Matt Millimeter, an one of 'em that. 00:05:28 Matt We like super soup. 00:05:30 Matt Much is Zemo hot. Reload now should we call it hot? Reload 2.0 James or not? 00:05:36 James That's official name and potentially. 00:05:38 Matt Official name Hot Reload 2.0 introduces UW P We have UW P support in there and also changes only support and. 00:05:50 Matt XAML binding failures, and now James. I'm going to need you to help me out with this one a little bit more here. So XAML binding failures. What exactly are we doing here with that? 00:06:00 James Yeah, this is a really cool new feature that works only for Xamarin forms sample, but all XAML so all these features work with all XAML, which is cool because they've unified the XAML Hot reload pipeline basically and the XAML bindings failures are really neat because you know when you're typing and you have a text field and you have binding and you say first name. 00:06:21 James And if you type oh it, you forget like and the capital N you put a lowercase N? Well, that's a binding failure and normally. 00:06:30 James When you run your application, it will just not display anything right here, though it is not there but with XAML binding failures, there's a. There's a new pane like an output window when you're just developing your application, not to be debugging or doing anything. 00:06:46 James But it will or when you're sorry when you are debugging your application, this window pops up. 00:06:52 James And it will show you your binding failure. So it will say hey you have first name spelled incorrectly. This property doesn't exist in your binding context or data context and will give you the line of code where it failed, which is neat and then you can use XAML hot reload to fix it and then the binding failure will go away. 00:07:12 James So this is nice where instead of like you've looking at your application, you're debugging and you're running it, you're like. 00:07:17 James Why isn't this thing showing up? Well, the XAML binding failure will tell you. 00:07:21 Matt Nice now and and I I kind of I blaze or went over it really quick. Is that the only changes? Do get Reloaded instead of the whole page, and that's actually a pretty big deal. 'cause I have a feeling that's going to make things a little bit faster. 00:07:34 James Yeah, the biggest thing with the changes only is what you just said there, which is important is. 00:07:38 James Previously you would. 00:07:41 James Hit save and it would reload the entire page. So if you had any state in there, like if you enter something into a text box and it wasn't databound correctly or you had your binding in your XAML, that's going to get reloaded and wiped away. But with changes only part of XAML Hot Reload 2.0. 00:08:02 James This will I like to call it. There's a Dom. 00:08:05 James For all intents and purposes an it knows how to insert, remove and update properties in there on each Dom object. So if you're as you're changing a binding, it will only change that property and know how to make that change only to what you did. You don't even have to save you, it'll just as you type as soon as there is valid XAML, it updates automatically. It's really quick. 00:08:27 James It's a lot faster. 00:08:28 Matt And another really super cool thing that that man he talked about was. 00:08:33 Matt How about this iOS development on a PC? 00:08:37 Matt Boom yeah mind blowing right? So essentially you plug in your iOS device. 00:08:43 Matt It what is it? You open iTunes and essentially away you go? There's a couple other steps that you have to go through. They actually make it work, like entering your Apple developer program credentials, stuff like that, but. 00:08:55 Matt What's going to happen is that Visual Studio will provision your device for debugging an really there you are, you're. 00:09:03 Matt IOS device connected to Windows. 00:09:06 Matt There's no no Mac in the middle. 00:09:09 James You're good to go for debug development purposes. You're on your way and I've been using it for a long time. It's been in preview now. It's still under a feature flag, so you gotta flip these bits on. Will link to Mattie's blog post to show you all this now. But yeah, it's super duper good. So try it out and you know Xamarin forms 5 to. 00:09:27 James It's been on preview. There are some great sessions on that format. 00:09:30 James And David, I've been upgrading all of my my Xamarin apps to 5.0 preview and I'm I'm super delighted I get to remove all those feature flags and everything's been running super smooth. I'm real happy with it. You want to get into our first news article in their map. 00:09:44 Matt Yeah, absolutely. So this one. Actually. When I was reading about it James I believe you actually wrote this post about querying an interacting with. 00:09:53 Matt Apps on Android 11 with package visibility. 00:09:56 Matt Alright, so one of the great things that Xamarin Essentials did like when you wanted to send an email at least over on the Android side, it pretty much it did it for you, right? You didn't have to worry about anything previous to Android 11 to make it work, just worked, but now in Android 11 we have to do a couple of different things over in the app manifest. 00:10:17 Matt To actually make it work, you have to declare some intents to say I'm going to actually send a Mail. So essentially you're letting Android know that you're about to send a query to the Mail intent. Same thing if you want to view any. 00:10:30 Matt HTTP pages, web pages or send an SMS text message. So you're going to have to do this before you're using that. The Xamarin Essentials functionality. Otherwise you're going to get a feature not supported exception being thrown back to you, so this article is actually just a really good way and you go through it to explain that. 00:10:51 Matt You know what we, this is what we have to do now and it explains like maybe you are developing for Android 11 and you're seeing these. 00:10:59 Matt These feature. 00:11:00 Matt Not supported exceptions come back, and kind of explains why does explain why you're seeing those come back so, but I did have a question for you, James, how do we know what the intents are? What actions and what the schemes are are? Is there documentation here that we can figure out what everything is? 00:11:17 James Well, I've done all the hard work for you. Have updated all the documentations for you. 00:11:21 James Yeah, because normally if you were just using the Android APIs directly to query to see if there's any email clients or browsers. 00:11:30 James Order things like that you would you would know what intents are calling because you are literally calling them, but in this case Xamarin Essentials is calling them for you. And since in Android 11 added new security protocols, we updated the documentation. So if you're compiling against Android 11, which you should be doing by now, hopefully going forward, you'll have to flip these on and. 00:11:51 James And it's yeah, telling the Android system I would like permission to do this, and iOS has something similar and it's all documented, Matt. 00:11:58 Matt Nice and will. 00:12:00 Matt Include a link to that documentation. 00:12:02 James Well, the next one up is a guest post from Samir Monsour. I was actually really fun because I got to work with some ear on some of this feature. To be honest with you, he wrote a great blog post called in app reviews for your Android apps and funnily enough I wrote a blog post. 00:12:21 James Um In March 2017, which was called requesting store reviews in iOS 10.3 basically. 00:12:30 James And it's it's it's, you know, an API that was built into iOS that would allow you to request a little pop up to say give my app some stars. Well, Android has finally added this. 00:12:43 James Into the Play Core Library, which is sort of like a support library, but for Google Play, and this allows you to request your users write a review for your application. Now the play Core library is bound by some community members. 00:13:00 James And Samir came to me, and he showed this to me and I was like, wow, this is really cool. You should write a blog post. So he started writing it. And then I was like, oh man, I have a library called the store review plugin that has this stuff built in for iOS and Windows and Mac and stuff like that we should work together to get that functionality. 00:13:20 James Into the store review plugin. So we we took a little bit longer to do the blog post, but now you just have to write one line of code which is. 00:13:30 James Request Review, which is if you were doing an iOS you can now do it on Android and Windows and it'll pop up that there. Now it is a little bit tricky because you have to have it in the App Store to actually see it, so it's not like you know it's a little bit hard to test, but it totally works. It's there you can download it and it's really fun too, because some ear. 00:13:50 James Not only wrote this blog post, but he wrote about how it came to be. The story of how it came to be and how we started contributing to these libraries, so is. 00:14:00 James It was really cool, nice little story and it's a cool piece of functionality. 00:14:03 Matt It's November, as there are ways of listening for the November podcast and that means last month was hacked over. One thing that we did, or that Gerald did was spearheaded was the Xamarin Community toolkit Oktoberfest. 00:14:19 Matt Hack, I don't know what we'll call it, but yeah, and a lot of people could contribute, you know, to make these error toolkit better. Jarol had a just the other day put out a. 00:14:28 Matt Recap blog about it. An First off, it lists all the community contributors who really just went at it this month, and I think there's like 20 folks who just went and read like that when I read through it, I recognized so many the GitHub names. 00:14:43 James Yeah, I think so too. This is really cool. Hacked over fast. Get more people involved I just updated. 00:14:49 James One of my apps to use the toolkit and use all the new MVVM stuff that they brought over from MVVM helpers which I was like. Please take so like my async commands observable object. 00:15:00 James Things like that and is quite good, so I'm really happy to see it come over and I can finally stop supporting that thing. And so now officially supported. So that's cool. I mean, it's a good blog post and there's some gifts in there too, so you can definitely check it out. That's mostly going to do. It's been a little bit quiet, but you know we just had the big releases of Xamarin forms preview and Visual Studio version. So much to check out. And of course we're going into the Holidays, which is also exciting too. 00:15:24 James But you know, there's a little cloud news. You know how much I'm really excited about, because apparently our favorite online offline data synchronization is back. 00:15:33 Matt Yeah, Azure mobile App Services, also known as Xumo is in 2.4. 00:15:43 James What does that even mean? It has no. 00:15:44 Matt What does that even mean? Alright, so Azure Mobile App Services was in 2.0 and everybody loved it. Everybody loves Azure mobile app services, right? Because it it's not really. 00:15:55 Matt Product like Cosmos DB is a product rather it's a library that sits on top of app services. 00:16:02 Matt An app services in Azure is essentially your web. 00:16:06 Matt Site and so at zummo does it gives you an asp.net now it's ASP net core website with a bunch of controllers in it. An O data that lets you communicate back and forth to a SQL Server database or Azure SQL Database. Also, though it gives you a xamarin. 00:16:27 Matt Front end to it as well. 00:16:30 Matt The secret sauce here is that it also kind of encapsulate a bunch of offline sync for you, and so that way you're offline. You can do a bunch of different changes to your data. You come back on line, and then you can start sending your data back up to Azure, and then if there's any complex, it tells you about the conflict, send some down and you can actually decide. 00:16:51 Matt What you want to do with those conflicts as well. So if you remember way back when Azure Mobile App Services was in version. 00:17:00 Matt Two now it's getting picked up again and we're moving along so it's just an incremental change, but there is breaking changes with it. 'cause I went to a.net standard 20, but it's it's back. 00:17:11 James It's out there, yeah, makes sense. I'm excited yeah, so this is like you said, a pretty big update for it because I mean more than anything it's it's for existing customers that you know. 00:17:21 James Have been looking to upgrade to Dot net core for asp.net core and upgrade to DOT net standard 2O and just sort of get like the latest official version. 00:17:30 James And so there's been sort of bumps along the way to upgrade things, but this was sort of in some ways a rewrite of the back end and you know, it's just, you know, if you're using it you you have some stuff that's up to any Matt Liebowitz helped out as well from this along with Adrian Hall and who's mostly to say hey we're going to you know? 00:17:50 James Updated, we've said we're going to update it, and we're going to make sure that it's going to work with thelatest.netstuffknew.net is moving so it's like, hey, we want to make sure that if you're a customer using this and this is your case, it's it's done. You're good to go. 00:18:03 James And with this though, you know you don't really have to. There's no like things in Azure to do. In fact, it's just kind of like pointing at anasp.net website. So yeah, it's a little bit easier to do another. Going to keep making some some improvements there, but I think they've I think now it's just. 00:18:21 James I don't think that I don't. I don't think there's anything with. 00:18:25 James Uh, no, there's push notifications. I might need to get a little bit more info with it. I think it's just online offline sync. 00:18:30 Matt Right, it's online offline, and they're using Xamarin Essentials for authentication. Yep, so I mean it's it's. It's not a rewrite, but it's a rewrite, right, right? So I mean, it's like it's like. 00:18:45 Matt The next version, but it's just an incremental version, so hopefully they'll be of zoom. Oh 3.0 and I'm saying hopefully, without any insider knowledge at all, I really don't know, but it's like it's getting xumo back up and working with the modern technologies. 00:19:00 Matt And. 00:19:01 Matt Yeah, give it a shot, see what happens. There's no official documentation for it yet or anything, but if you're. 00:19:07 Matt You should yeah. 00:19:09 Matt Yeah, it is a sneak peek, and if you're familiar with it already, it should be still very comfortable for you. If you're not, we do have the archive documentation. You still can find Adrian actually has a nice book. 00:19:22 Matt Out there which he has updated that will link to and I like it and it's one of the reasons I actually got in. 00:19:30 Matt Azure, a long, long time ago is because of it wasn't called Azure Mobile App services back then. It was a very similar name, but it was something different like Azure Mobile service. It was Azure mobile services. It didn't have the app in that I think. 00:19:43 James Yeah, Azure mobile services then moved to Azure Mobile apps. Yeah, yeah cool. 00:19:49 Matt Cool alright, which brings us since we're talking so much Azure. 00:19:54 Matt The Azure service of the month. 00:19:56 James Oh what you got? 00:19:57 Matt Azure Event Grid Now Event Grid is actually pretty is pretty fun type of service so you may be familiar with the messaging service in salmon forms, which I would imagine everybody is so. 00:20:14 Matt Essentially, a messaging service is something happens and you want to let something else. 00:20:18 Matt No, it happens, right? So you send a message pops up. Essentially it's a publisher and subscriber, so event Grid is like that. But for Azure an it's like it on like super duper steroids and so one way you can think of it is let's say you have a publisher an it's a let's say in Azure. 00:20:39 Matt Key vault. 00:20:40 Matt An you want to be you want to let other Azure services know when a new key has been created. So you can create a key vault as a publisher and then you can actually create a topic. So like let's say you know keys have been created as your topic and other Azure services can subscribe. 00:21:00 Matt To this topic of keys being created. 00:21:04 Matt And then receive the updates. But also it can do or receive the messages but also can do like you know like you have like 24 hour retry for that and that way like if the message fails to be received and you can have multiple subscribers per publisher, could also do more than just like a key vault being created or a key being created is actually like. 00:21:25 Matt Once in a great while, but he can connect it like the IoT hub or even event. 00:21:30 Matt When you want it to, so it's like a stream of data coming through and yeah, so it's like a way to do pub sub but up in Azure an it just. 00:21:40 Matt Supports a ton of different Azure Azure processes for as far as the event sources, things like. 00:21:49 Matt Like Azure app configuration or signal R. 00:21:52 Matt Is part of am I think like container Registry or even things like over on the admin side like your Azure subscriptions are different events that you can subscribe to that have to deal with your subscription as well or resource groups when things are, you know get created in your resource group. So it's kind of cool that you can do a whole bunch of different things like that and it's kind of like. 00:22:13 Matt A way that really enhance your serverless integration, 'cause you only pay for what happens for what you're subscribing to, and you can actually like throttle it down like so. Let's say, alright, I only want to listen to a key vault being created. You know, with that ends of the letter X. 00:22:33 Matt And so if it doesn't end of the letter X, it doesn't pass through. 00:22:37 Matt To any your subscribers so you don't have to pay for it, you know, so that's kind of neat and you know you can have your event handlers be a function. You know total server lists or you know go with like to a service bus or logic apps or whatever you want to do, or custom make it your own code. You know call a webhook. So yeah, in fact great is actually pretty pretty pretty neat. 00:22:57 James I like that that's really cool. I think that is. 00:22:59 James Pretty neat, I need to check that out, that's for sure. Well, I think that's going to get us probably to our pick of the pod. What you got for us man. 00:23:07 Matt Alright, I'm gonna I have something written down, but I'm going to stray away from that and I'm going to set you up with something James. I'm gonna keep it up for you. My pick of the pod. 00:23:16 Matt And we we touched on it a little bit earlier. 00:23:19 Matt The Xbox we have a new Xbox out James. 00:23:22 James Right, we do have a new Xbox that's gonna be your pic. 00:23:26 Matt Yes, that's my pic. So tell us all about it. Tell us what's up with the. 00:23:30 Matt Xbox We have the S. We have an XI. Don't know there's like 5 different versions. 00:23:35 James We have an asset in X that is Greg. The X is the the the full suite if you will. It's 4K gaming, 120 Hertz has a disk drive in it for a Blu Ray playback. All that goodness got a terabyte hard drive. It's the most powerful game council in the world. 00:23:51 James The S is the smaller sibling it you know also plays all the same games, but only does scaling up to 1440 P. So there. 00:24:00 James 120 Hertz can upscale to 4K is a little bit less powerful in it, so once 500 ones, $300 US. But yeah, I know it's out there. I have one I've been excited about it. I got gamepass. I've been doing all that stuff with it and I'm excited to play more instead of the updates and it just got a headset, so that's kind of my. My new thing is I need to go get a headset so. 00:24:22 Matt Sweet yeah my my pictures apart I don't. I don't have one but I am so maybe I will are they? I can even get him as like I like people lined up for him and I have no idea. 00:24:32 James Um, yeah. I mean, I'm I'm maybe I don't know. I think they're pretty much sold out everywhere. 00:24:36 Matt Yeah, I would imagine me 'cause they only released one like every seven years. You know, it's like you know, once a decade a new Xbox comes out. It seems like so it's pretty rare. 00:24:45 James Yeah, pretty rare. Pretty rare. So that's it. Yeah, alright. 00:24:50 James Anyways, by picking the pods Xamarin Community Toolkit because I've been using it whole bunch of good stuff inside there, all the things that you need for your application. It's awesome. Usually go check it out. 00:25:00 James It's uh. 00:25:01 James You can contribute to it if you have awesome controls, sounds cool controls, behaviors, converters is all the stuff that you this little. Extra tidbits that you need. So go check that out and definitely check out the PR's and contribute to it. But yeah, that's definitely we may have already said it, but stuff we still make the pot so. 00:25:16 Matt Yeah, yeah, definitely check it on before you write anything custom. Let's go check maybe somebody's already dated for you and it's. 00:25:22 Matt In the community toolkit, and if they haven't contribute your custom code to it. 00:25:27 Matt So, uh, yeah, help everybody. 00:25:30 James So there you go, alright? Well, I think it's gonna do for this week's Xamarin podcast. With this month salmon podcasts. I hope everyone is having a great November. Will see you in the summer and make sure you go to xamarinpodcast.com to subscribe. Share with your friends. Get it everywhere you get podcasts and I'll see you next month map. Alright, talk to you later. James bye.