All things client and mobile app development with .NET MAUI | BRK204
[Music] hello everybody happy final build session are we awake oh my goodness thank you I was worried I know day three is always the day that everyone's like I could stay in bed a little bit longer so thank you all for coming out and hanging out with us we have an amazing session today all things client and mobile application development with DOT net Maui um usually what I do in the stock is I stand up here and I tell you what.net Maui is we are doing something a little bit different we have invited a very special guest Rod ball the CTO of Earth solutions they have been using Maui to modernize their mobile apps thank you round of applause uh yeah they've been using Maui to modernize their app they have a case study coming out with all of the Microsoft stack they're using um in a couple weeks but we thought you could come up here and tell us a little bit about what your app does and why you chose Maui yeah thanks Maddie um our application allows field workers to see the work that's been assigned to them it makes it easy for them to prioritize their work based on risk and when it's due enabling them to make make their work done on time as well as do it efficiently um our app today was first released in 2015. um today we have thousands of users and hundreds of companies um using our application our app is built using xamarin and WPF for the desktop app it was time to modernize our application so we wanted to unify the code base and share more code so.net Maui checked all the boxes for the requirements of our application in the video you see playing right now behind me you'll see our home screen navigating to our summary screen which displays the list of items have been assigned to the user as well as the the locations of the items on the map and then navigating the details to get more information about them cool and taking pictures is my favorite part um you were a very early adopter of Maui I think you guys were some of the first customers trying to get this into production and Maui G8 at build last year happy birthday us thank you um so what have you seen from Maui from when you started until now yeah we started using uh net Maui early last year in April of last year well before it was released in GA since then we've seen consistent Improvement in the features as well as regular rollouts for fixes for issues cool so tell us a little bit about the features of this app and how you're actually building them what packages and things you're using sure we're using visual studio on both Windows and Mac to build our apps we're using esri's arcgis map SDK for mapping we're using telework for some controls we're using browserstract for both both automated and manual testing and then we're using Azure as our backend virtual liability scalability and security cool awesome so let's actually look at some code you generously gave us the screenshot we did not want to walk through your code base that seems like a bad idea to do live but we Zoom this in tell us a little bit about what's going on with this Maui app here sure one of the things we really love about.net Maui is being able to
allow to do development on all the Platforms in one location it really simplify our dub process we target iOS Android and Windows cool and one of the great things that you know people familiar with Maui know about is our single project structure so it seems like you're taking good advantage of it yeah we have lots of Library screens and models it's only having to manage them in one project makes it easy a lot easier we have 83 views and counting in our app that's a lot that's a lot of views even more we had taking advantage of the fonts images raw assets and styling again all from one place which saves us loads of time we do some platform specific things so we decided to put those in the platform folders to make it easier to find awesome and so what's coming next I'm sure you're not done with future work next up will be implementing Dynamic forms rendering using Blazer hybrid we will need to generate hundreds of forms on the Fly they're designed by our business users using our web application and then render them in a Blazer webview this will be a huge improvement over downloading HTML and javascripts and rendering them in a webview as we do today cool and so where are we in the process of actually production and Publishing these apps yes the apps are available in the store today we're currently in the process we're working with customers to roll these out to the field users we've had extremely positive feedback so far and the field users are pumped cool awesome if there was one thing you were going to say to a room full of potential or existing.net Maui developers what would it be yeah we really find that the new Handler architecture it makes it easy for us to implement workarounds in our.net Maui layouts yeah very cool well that's right everybody thank you for joining us and again keep an eye on out for the Earth Solutions case study we think it should be out in about two weeks.net
customers is where you can see all that great stuff before we get into the rest of the content we have uh half of the Maui PM team over here so I had a Beth and Becky everybody they are running and moderating pubble so if you scan that QR code they're going to be popping up polls throughout the session just for fun you don't have to do them but if you're interested good way to give some feedback as we roll you can also send questions to them my counterpart who will come up here in a minute added a bunch of slides last minute so I don't think we'll have time for Q a at the end but we will definitely hang out in the hallway after as well and we can keep note of what you ask in Pebble so hopefully what you just learned from that amazing case study is kind of what Maui is it's a single project single architecture.net for mobile and desktop and hybrid so Blazer hybrid is a really great way to leverage your existing web skills but bring your.net to the desktop to the mobile phone we kind of think of the Blazer stack as reach right web is everywhere it's kind of ubiquitous but we have Maui as the depth if you need native if you need an actual real native experience to build for your users whether that's offline functionality integrating with something like the taskbar all of those things so you know you could take a little of this a little bit about that peanut butter and jelly put them together and that's Blazer hybrid we're not going to talk too much about Blazer hybrid for the rest of this session there was a lot of that this week so definitely check out the on-demand stuff if you missed it but we're going to talk more about Maui and now I'd like to invite up my colleague partner in crime Dave uh product manager on the Maui team to talk a bit about where we have gone in the past year of being a product which is exciting hi Dave thank you it's been great to see everybody this week I'm glad you made the Trek out to Seattle to see us in this beautiful new building this has been really good thanks again to rod for coming up and making the trip that was kind of like a woohoo we can you can get somebody up here and talk about it I felt like his story really would resonate with everybody here because it like I said ticks a lot of the boxes of what Maui's value proposition is and as you can see we've got so many more customers that you should recognize several if not many of these logos up here they are of course uh just the tip of the iceberg in terms of what we have seen from customers using.net Maui and they're not all just xamarin upgrades there are some new development as well so as we are able to share more case studies we will certainly be sharing that out they will end up on the.net website and uh what was the other thing I was going to mention about this there was something good all things are great oh hundreds of apps in the App Stores Inc increasing all all the time I think the last count that we got was like from early January yeah and we know that um if you've been using Maui it's getting easier and easier to use and so we're super excited to see them published to the store and if you want your logo on this slide let us know and if you do yes let us know so what's actually happening what are we tracking so we do track engagement in terms of like how often are you using.net Maui across all the
visual studio tools as well as just the command line usage and the growth has been awesome so 636 percent since May of last year and that number probably is a little outdated it's probably even a little bit more by today and I'm in addition probably even more excited about the next number over there that uh Maui is the most active.net Foundation project so these numbers were from I believe March April time frame and essentially if you just look at the issues the pull requests the contributors you're going to find that the things that makeup.net Maui the Android the iOS the runtime stuff it is the most active which is awesome so thank you to all of our contributors if you are a contributor in the room would you stand up if you maintain any packages Library maintain a package people use Morton you write code tires and teams right there you guys care you guys know yeah yeah we've got some contributors there give them a hand wow everyone's tired everyone's tired that's okay well you've been drinking from the fire hose this week a lot of information you've been drinking it up into the late hours of the evening yeah so there's a couple of tacos there's a couple jokes it wasn't the best joke of the day Maddie tell us about what's been happening with DOT Net 7 and visual studio well things are fast so that's cool we like speed we like things to be faster and we like things to be smaller and those were two of the key numbers we looked at um 1.net7 went out we wanted
to see how fast your app loaded up how fast Pages rendered and Drew themselves on the screen and then how big your app actually was so these are all things we measure all the time we'll talk a bit about net eight um later but you know this is something we're always measuring and we make sure the numbers are always going in the correct Direction with every release we try not to let them go the wrong direction that's the goal and it's not just in the SDK we've done a bunch of work inside of Visual Studio to make just things faster more stable a little bit less janky we like to say less Jank so just in general folks using pair to Mac have probably already noticed our success rate has like gone up over 30 which is amazing and I think two Visual Studio releases which is pretty pretty good um first launch success first build success those things are all up so we take a lot of time making sure our getting started story is really smooth so that when you have new developers join your team and get started with Maui they have a good experience what's going on with desktop yeah so let's cover a little bit of what we have been doing or what we have already shipped in.net seven if you're not already familiar with some of these things this will be new to you but let's recap real quick so that everybody's up to speed so in Net 7 we did uh you know a six a very short six months after we shipped.net 6 at build last year so of course there really wasn't a whole lot of time to jam a bunch of features in there but a few things did get put in such as tool tips and most of these things are desktop focused as Maddie just mentioned so we had a few more gaps there as compared to mobile which has been around of course for much longer so you can just annotate with an attached property if you didn't know when you do something like tooltip properties dot text on top of a button or anything else it's called an attached property everybody knew that right everybody knew that nobody knew that yeah I can actually see you you can raise your hands right he knew it that's good that's good pointer hovers so you need to be able to uh you know Mouse over something and see it change of course from a ux perspective that's super important if you don't see that color change or you don't see your cursor change you're going to be like is it interactive is it not interactive I don't know it's of course not something that you typically deal with on a mobile phone unless you've tried hovering over your phone with your finger to see what happens that's the next iPhone didn't you hear it it works on my on my car really yeah I can get really close to it anybody else your car no all right so pointer hovers uh very cool context menus you can right click on things now uh right click in and of itself is also a new thing of course it's called a secondary click wasn't on the slide no well I always I was kidding there okay you see what I'm dealing with up here we're getting there all right keep on track we have 30 minutes left I added more slides you heard that part yes this morning all right so right click uh a lot more things like that you can do uh and what's also been very exciting uh this past period of time is seeing uh many of our existing and some new component vendors come online with controls that you can use so I know that uh syncfusion has been around this week I think grape city was also around I saw grape City T-shirts I didn't actually figure out where their Booth was um but that that's awesome so I wanted to give you a few highlights I reached out to them recently and said hey how's it been going but also you know give me some highlights what's what's new so I've got some news for you so Dev Express has been using.net Maui since before we G8 and building controls they're all free who likes free thank you they're raising their hands there we go they're getting that I just had to say free all I had to do was move a slide for you yeah it caused some trouble you just had to jump in and take credit okay uh so some really sweet controls here beautiful stuff um you know data grid collection viewer just to name a few so check those out uh Google the dev Express or bring it or talk to Bing chat and say dear Bing chat what controls does Dev Express have um has anybody ever had Bing chat like reject your question oh and maybe I'm just asking pointed questions yeah um in addition to that I was talking to the guys from ux divers and they have made some pretty interesting updates to Grail kit I think we've all really loved seeing the Grail kit stuff it looks great but some of the pain points are you would have to go to their web portal you'd have to pay for a one app license there really wasn't a free tier and then it was kind of like it builds the solution you download it and then it's kind of hard to iterate on your app well now they're shipping free templates I said free that's the part where you're free I thought that was the queue they were just like every time I say free um not only that but they are now working on and are about to preview a extension for visual studio whereby you can just go grab templates grab individual controls compose them as you want to all while working in your solution and then bring those in so it's kind of like a generator built into Visual Studio you don't have to go back to a website you don't have to reload a whole solution or anything like that and they have this really cool Grail Studio widget on the side for picking font icons they've got a whole bunch of icons some that they've made themselves some from some popular fonts that you're familiar with so check that out grab that bitly down there go sign up for that preview and check that out of course progress to Lyric has been on board forever and Sands of Maui we love you know Sam Basu is always given us a beautiful Roundup of all the Twitter news the blogs Etc tons of controls uh too many to name so I just give you the the list here and some of the new stuff that they're working on is infusing some AI into their controls I haven't heard that word this week no yeah did you just drink well that's a good point it's water people [Music] um so uh so that's some cool stuff continue to follow that and check that out of course I mentioned syncfusion has been around they have gorgeous controls they use the Maui Graphics library to render a lot of this stuff so you get some very beautiful things that render pixel by Pixel Perfect across all the platforms and also I know that they have a free tier they also have project templates and they have built-in type converters who doesn't love a bunch of type converters that's true yes especially if you're a xaml developer and kind of new to the game is exceed uh they're new to this they have been around a long time with WPF anybody who used a WPF exceed control in your applications all right I saw a few hands okay cool cool cool so uh check these out uh if you've been looking for that button that you can throw any content you want to in it they got that um I checked it out it's really sweet very easy to use does what it says on the box um so link to their GitHub it is on nougat and also what's the keyword free free yeah yay um so that's really exciting yeah I mean we have a lot that's come out.net
too which is very exciting the previews are out we're on preview uh preview three is shipped I think maybe four is coming no no preview four is Out preview five is coming yeah there's a lot of them we're somewhere in the middle between one and release candidate yeah so definitely grab them there's a lot going on these are just some of the highlights obviously stability like we mentioned at the beginning that's kind of our number one thing making sure all of the numbers we can track are moving in the correct direction that's that's important we want the numbers to be green um workloads we are working on something called.net workload clean which if that means something to you you're going to be very excited if it doesn't don't worry about it we hope you never have to use it but yeah a better management of net workloads and also being able to pull Maui nightly or pre-release builds and as nuget packages straight from our GitHub you don't have to do anything interesting there um desktop Dave will dive more into some more great navigation things we're doing and keyboard things we're doing of course Blazer hybrid we have the new hybrid web view which is not actually just Blazer hybrid it is hybrid hybrid where you can put react angular plain old JavaScript I don't know why you do that right into a webview Dave had a lightning demo of that yesterday that I believe will be uploaded uh yeah there there is already an on demand because I did a pre-record from home you know without the audience I was actually on time right less jokes when you're just in the room by yourself um yeah and actually when I was putting together the demo for yesterday I could not remember for the life of me how to write JavaScript it has been been a while and so I used copilot yeah co-pilot bailed me out it was fantastic it's pretty funny to watch actually yeah she witnessed it I just stared at him typing for like 20 minutes at breakfast at a restaurant well I had had a lot of information that I drank in the night before oh yeah yeah so the brain was isn't working quite so well but copilot seemed to be just fine so oh wow that's good yeah um and finally native always looking to make things in.net more unified uh everything plays together nicely in the sandbox I like to say so native aot is part of.net so if you have aot apps existing they're probably running on mono different part of the.net runtime it's moved back into the home there and also a lot of Library just sharing on here we have.net
objective-c and Swift but we're also working on things to make that go the other direction which I think you will talk about do I yes I do yes you do you added that one this morning the native libraries thing um I'm sure that we'll have some blogs and it'll get documented eventually but it's really cool it's if anybody remembers the old embedinator experiment uh from back in xamarin days yeah you can take your.net code and you can package it up as a native library and ship it to objective-c Swift Java kotlin developers and have them use it so be on the lookout for that if that's something that sounds interesting to you and the native aot is going to be available as an option right yeah correct okay so in in net eight so you can kind of opt into that and see if how that compares to the aot that we have today but so far all indications from our benchmarks faster and smaller which is really really I like to see um something that's uh yeah okay so you mentioned at the top and I wanted to kind of circle back to it because it's worth double clicking on oh God we're so close we Circle back we'll double click right zoom in zoom in on it what are some others um stability uh net eight for us really is all about stability in our tooling and especially in the SDK we are uh we track I did I was gonna I was back and forth on another slide that I could add but I'll just talk to it um so we're fully aware that you know there are gaps and and there are a lot of issues that many of us run into as Rod mentioned you know they have used extensively the Handler architecture to quickly work around things which super happy that the architecture supports that but that's not the goal right the goal is that you don't really ever need to use that until you want to so knocking down the high impact issues is the main goal knocking down the number of issues is not the main goal if we want to do that we'll just close all the issues that's that's a good point actually right that's that's how you burn down I make a call that's how you burn down to zero um but what we do is we look at the number of reactions the comments who's commenting what the actual severity of the issue is when we triage it Etc and that gives us an impact score right that impact score is unfortunately not something that's easy for us to surface visibly on GitHub but we do have that in our internal tool that consumes GitHub and then we prioritize those issues you can see what those issues are by going to the the GitHub repository and looking at our project board for the upcoming work and as that work is uh completed that which could be backboarded to Net 7 will be however the longer we get in the net 7 closer to net eight the likelihood of those things being backboarded uh you know reduces so check out those net 8 previews please um as as soon as you can dot net new install Maui um so let's talk a little bit about some of the features that are coming there are a handful so accelerators as Maddie said why is this called an accelerator probably some WPF reason yeah that's actually good right somebody probably like Morton has a history that he can tell us all about this he's not sitting where he used to where did you go to make jokes about him it was smart come on I need to Heckle the crowd it's reverse heckling um so accelerators what are they they're shortcuts so that you can add them to any of your menu items so if you want to trigger a menu item from a control s and control V blah blah blah you can do that now we have a pull request up for it it is not yet merged but you can track that and see that coming to a desktop near you and this okay is what you mentioned before about going the other direction so for the longest time if you want to use any kind of a native Library a cocoapod some kind of framework a a Java Library Etc you would need to create a.net binding for that right who has created a.net binding before to a native Library couple's sorry holes in the back there all right who would raise your hand and say I absolutely love creating bindings I would do it all day every day of my life okay for the record nobody raised their hand so what can we do to improve this it's hard enough for us to do it we know that it's a high bar for any of you to do it any developers in general not at all a knock on your competence you are awesome developers but what can we do to make this easier so we have this concept of a platform channel that we are iterating on and it allows you to essentially bring that native Library To Your solution but keep it in the native space so yes that means you would still have the Android tooling you would still have the xcode tooling and you would use those but how can we make it easier for you to interact from the.net side and from the the native side so this is where platform channels comes in so you can see here on the screen I've got some Java code this is a very basic example I'm going to pass some some text back and forth and so I have this method where I'm going to handle methodsfrom.net handle messages from.net
and this is a this is a method you would control right the channel is what we would provide the methods that you want to create are in your control you just make sure that they're accessible um and then on the.net side you instantiate your channel you get or create that channel and you call it here I'm obviously just passing some very simple things some text and a method name but you could imagine that you could send complex objects to as long as the channel knows how to Marshal those types and everything so we think that this is going to really lower the bar for doing this it's not the only concept we have to address this space but I think that we would agree it's probably the most promising so there is a repository up on GitHub where we're starting this work and then we'll move it into a more public place where you can check that out and you know I guess my request to you would be bring your libraries to us and say hey here's a library I need to be able to use the binding is old I need to replace it or do something with it and we would love to use that as an example for us to build upon keyboard improvements who has ever had the keyboard pop up over your entry field and nobody can get to it yeah well wouldn't you know we've got a solution it's called fixing the bugs wow that's good yeah you like that uh so you know definitely we know this has been a problem so what you see on the on the first thing that you saw there was an epic fail from the original Maui sample um things are not exactly much better in the xamarin form sample but it is better and then now we have the super duper nuper duper cool Maui sample yeah works so TJ Lambert on the iOS team came over and helped out the Maui team and spent several uh Sprints working deep in the bowels of this both for iOS and for Android vowels that means you giggle bowels um oh wow we just went we just went to a blank screen oh that's all right it doesn't matter it doesn't matter so look forward to that is there anything you need to do to implement this uh yeah you just need to update to the latest version of.net Maui once it ships yeah and use it nothing that you would need to be able to do I love the fact that it properly moves between the first name and the middle name like the side by side stuff as well as the vertical stuff yeah it's so nice yeah and there are ways for you to then more finally control your tabbing index and things like that using semantic properties some of that is in the community toolkit yeah all right well you know this is 2023 and we have to talk about co-pilot or we will get fired and I'm just gonna we will not um we have mentioned I didn't get that though I didn't get that um I I know a lot of you are able to access now the co-pilot chat uh from being a build attendee it is really good uh admittedly it does not do great with xaml which is fine because I also don't do great with xaml so we can be bad with xaml together that's all good but the c-sharp stuff I've been using has been amazing I mean it's you know teaching day of JavaScript in a Blazer hybrid app which is pretty cool which doesn't have any Blazer in it because right um I've been using it to make my view models not awful because I'll be like why isn't this showing up and it will be like you absolute dum-dum it does not this it should be observable and I'm like oh my God okay um but it's really cool we've been liking it a lot and uh using it and you can get the chat preview somehow have we figured out how to tell a copilot to speak in the voice of Dan Roth oh yeah wouldn't that be sweet who would use that I would use who would use that right very soothing good voice yes and you understand pretty much everything he says is very clear yeah I like that so yeah GitHub co-pilot in Visual Studio GitHub co-pilot chat I believe for visual studio 2022 is the extension name okay lots of words there we can get this today uh yes as a build attendee there's some way for you to go magically get it okay some way magically get it does anybody know that magical way yes no nobody does Okay Google one person does you know okay okay it's your GitHub account handle links to your registration email for build and then things will start to work for you yeah you can add multiple GitHub emails he'll be standing outside the door after the session everybody can go talk please bring your phone up like this okay can you help me sir I need co-violent uh uh yeah so this is cool it's been fun yes what else is going on uh so uh we alluded to the session about the hybrid web View and you know we with net six we shipped the Blazer webview and has been very well received we see really about a third of all new users coming to Maui uh doing so with blazer hybrid uh templates and and using that functionality um and like I said a lot of people that are using Maui are actually not um xamarin upgrades so we do see you know a significant amount of that as well but a lot of the new stuff is happening in this space which is cool and so we talked to a lot of customers of course that's what we do and developers in general and when we show them the Blazer web view there's many times where they say that's awesome but we actually don't use Blazer yet we have a ton of angular code a ton of react code can we do the same thing or similar and so that's where this comes from Alan Lipton who works on the Maui team and for years and years and years worked on asp.net and I think at some point he might have been on the compiler team yeah he's done it all yeah he's been a long time he's got a lot of crystals yes you get Crystals at certain monumental points of your career um he took a lot of the foundational work that he had done with the Blazer webview and then kind of enabled it for angular and react unsurprisingly uh as a as a developer with his experience in c-sharpon.net he doesn't really have a lot of angular and react experience nor do I so who in here does we're looking for you couple all right so we want we want you to check this out uh see how it might be useful to you and and you know show us like hey in my react app it would be great if we could kind of adopt some of these patterns it would make it easier to integrate some of those things so it's experimental for now um the idea being of course you can interact back and forth between the JavaScript many of us has probably already written a hybrid web view with some JavaScript bridging at one point or another but this will be a more official seamless way for you to do that and of course we will support it but let us know check out that GitHub link well the AKA AKA dot Ms at the top there will take you to a GitHub and you can provide us with information it's currently on alon's uh private repo don't let that freak you out we will be moving things to a more public repo along with some of the other experimental things that we have lurking around like little thing that's a Linux backend and then a WPF back end and is that interesting to anybody should we share that stuff on nobody cares it's free there you go you did your job yes just had to throw free out there all right all right we got a few minutes left uh let's get into some some tactical things here so we do have official support policy some of that support is free some of that you can pay for yeah but there's free there is free um okay thank you sweet not the same effect when I say it it's okay uh so we we do ship of course with.net we are
part of.net which is awesome we have the you know the confidence that we have the investment from uh all the powers that be uh that we can continue forward and support you and your endeavors um so when you're aligning roadmap you want to look at something like this we do ship every year and then for six months after that we support that release so for example.net 6 we are now six months past the net seven release so it's actually no longer supported officially and we will no longer be support no longer be shipping service releases for net six Maui net six itself the underlying SDK and runtime of course is still a long-term service supported release and you'll be able to use that for the duration but Maui has dependencies right so we depend upon xcode we depend upon Android developer tools so as those things ship we need to make sure that we can ship rapidly on top of them by the time that they go public in GA you will always have bits from us that you can depend upon right so that's important to know the early betas it does take us some time to create those bindings and we will ship them as soon as we possibly can but once rc1 rc2 goldmaster or whatever they call it ships then you can get the bits how do you get the bits you can always get them off of our GitHub off of our Azure pipelines and then once we are able to Hitch a train hop a train catch a train yeah at individual studio for that release cycle then you will get it so you may see those releases come perhaps a week or two after the release in Visual Studio but that doesn't mean that the bits aren't available you can always get them on GitHub so what does this mean for or I already said that xamarin well xamarin is end of support May 1st 2024. why may why so soon so May 1st 2024 is the first day on which Apple will no longer accept updates to apps built with xcode 14 and that is the version of iOS and xcode that xamarin uses so we need everybody to upgrade to Maui you need to upgrade to Maui and so of course when I say Maui that's not just the cross-platform bits if you have a xamarin Android app or a xamarin IOS app upgrade upgrade upgrade right we've seen tons of libraries in the community I already showed the component vendors uh have released their stuff we have done some work to provide compatibility packages for the likes of FF image which is a super popular Library InTune now Ohio support for net six and above for IOS and Android App Center has released packages that are compatible including recently UI tests for IOS and Android so if you have a suite of UI tests in your xamarin applications and you were like I can't run them now you can run them so at least for your migration path that is a good story for you to move forward so we have more information on how you can get started with Maui and upgrading your applications thank you my good co-worker yeah everything the link to the GitHub the link to all the downloady stuff is dot dot net slash Maui dot dot net dot dot net um the easiest way if you don't have Maui already just download visual studio and click off the box that says Maui it's got this purple thing with like four squares supposed to be like the four platforms all coming together and symbolic or something one of the things that we didn't get into in this talk because we only had 45 minutes and if you gave me a day of all the time in the world we would talk for three hours is all of the tooling stuff that exists in Visual Studio including the rapid UI iterating things we have so the the GIF or gif GIF up here that's the poll give or gif [Music] uh um is over someone hot reloading their app editing their xaml in using what we call the live preview to inspect their UI see exactly like where it's being rendered with your actual data you know click on that and go to where in the source it's defined very cool things if you're a Windows user you can still develop iOS apps even if you don't have you know a Mac you can just plug your iPhone in and do a lot of debugging that way you still need a Mac to ship to the store which is why we give you the perimac capability so you can test it against actual you know all the different simulators and things that you get with xcode uh for those of you who are on xamarin and if xamarin means nothing to you good good that's really good welcome it's a good time here we don't need to give you the history lesson if xamarin does mean something to you you can go check out the.net Upgrade Assistant um it is an assistant this is the thing we have to say every time it will not magically upgrade your project turns out all of you write code differently shocking who would have thought oh my goodness so it's very hard to predict perfectly exactly what we should do to upgrade you a hundred percent to Maui but xamarin's Maui is not a rewrite all of the xaml for the most part stays the same there's some things we obsoleted some things we made better it's really about replacing your nougats with compatible versions changing your project files and then of course fixing your namespaces so it says microsoft.mauley yes which is cool and
some base types and stuff we made an alias there are four people on that Alias and they are in this room right now and it is completely unmoderated we have done no preparation for the influx of emails we started to get that is my fault it is Maui Dash upgrades at microsoft.com and what we're hoping for is that this is kind of your Panic line or like I did this thing and it worked oh my gosh I want to tell someone uh so send us your stories trials tribulations packages that you're like help no one's maintaining this anymore what's a good replacement um look I did this upgrade and it took me five minutes because you guys are amazing and I love you and here's a Starbucks gift card actually no that none of them like Starbucks so that's okay uh only me I'll take it all of those things send the email like I said it's unmoderated so there's a chance that we miss it feel free to Ping it um we're all going to be taking looks and keeping an eye on it and just know that that is one of the many ways to get in touch with the.net team that was a good segue I didn't even plan that oh gosh we're getting there we're getting to the end um thank you thank you so much follow.net all over the place even tick tock and they now have charts that they report to us on the tick tock follower growth of the.net tick tock which is amazing um yeah lots of lots of different ways one thing that we added to the slide too is the.net Discord you can just join it it's primarily for library and package maintainers it's mostly so you can go in and ask the team like nitty-gritty architecture questions people are not really taking like bugger reports or anything there that's what GitHub is for yeah not bug reports but let's say that you for example do run into something that's blocking your application and you don't see a fix coming and you're like how do I work around this I hear about this Handler architecture thing how do I use that to address my issue come to Discord and engage with the engineering team it is the core engineering team for Maui that spends time in there the Android and the iOS team are also there on occasion and there's a whole bunch of channels uh avalonia and Uno I believe maybe even have channels in there yeah so you can get a support and and talk to people uh one to one right so use it uh again you know please be considerate it's not where you file your issues those need to go to GitHub right but if you're asking architectural decision saying hey I'm trying to address this issue in my code base how could I work around it you're going to get good answers there I mean if you think that I know much about coding it all comes from me just having these guys on teams yeah and wonderful team of Engineers to to go after yeah so definitely we are an open book and like I said we are going to be hanging out after in the hallway so please come ask us questions please make sure you pop them in the puddle and we can see those after I think we can like export it so we'll try and address whatever we miss maybe with a Blog we want to do a birthday blog for Maui I think that would be fun so also if you want to do the Microsoft learn course it's right there very cool I learned yesterday because I'm a good pm and I know what our team is working on that we are in fact looking at bringing back certifications for things like.net.net
Maui all of those things via Microsoft learn so this would be a really good way to start getting ready for that um not just a badge I don't I'm not just a little badge it's a real certification I don't know okay Beth knows you can ask her in the hallway thanks Beth I was teeing that up yes I heard it's a real certification yeah oh don't make me lie all right what's that nice thank you everybody I hope you had a great build and it has been so great to see you thanks foreign
2023-05-27 19:41