A Journey to .NET MAUI

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
if you're like me and you're wondering what exactly is dotnet maui then this is a video for you check out as maddie comes on and lets us know what dot net maui is what we can do with it and what are some of the things that we can expect between now and dot net six [Music] [Music] hey everyone welcome to this episode of the i'm not net show my name is cecil phillip and today we're gonna be learning about.net maui and what exactly is bringing to developers and here i have my good friend matty who's gonna tell us all about it so maddie why don't you introduce yourself i don't think you've been on the show before so why don't you tell folks who you are what do you do yeah i don't think we have either i'm very excited um i watch this show all the time so i am maddie i am a pm on the xamarin.net maui team it's hard to introduce myself now because it used to just be maddie on the xamarin team and now it's maddie on the dotnet maui team more words but uh i'm the developer productivity pm so i like to uh consider myself the person who hopefully makes our xamarin and maui developers more productive in their day to day while they're writing their mobile and desktop apps nice and now i remember when we announced maui i think it was last year maybe the year before that and i was like this sounds really cool but i have no idea what it is so i'm hoping you could shed some light on that for me like what is maui like how does it relate to the to xamarin forums and the rest of xamarin and as a as a a non-mobile developer and even as a mobile developer in the dot-net space what are some of the things that i could expect as we kind of you know take the journey over to maui yeah those are all awesome questions i have some slides i don't have any demos yet you're gonna have to wait until a little bit later in the spring for that but um i do have plenty of slide contents with words that i can happily talk to to hopefully explain some of those things um one of the biggest questions that we've gotten from customers is the first question you had which is like how does it relate to xamarin forms right um.net maui is the evolution of xamarin forms so internally i've been calling it like xamarin 6 or xamarin.v next but because it is extending from mobile to desktop we think that xamarin.forms is like almost too limiting of a title for it so that's why we're branding it as.net maui it's this.net multi-platform app ui that is what maui stands for um and we've rebuilt our ui controls from the ground up so that they are not only more performant but also more extensible so you don't just have to build them the way that we've always built xamarin and xamarin forms apps but you know there's there's more even more programming models we'll be able to hook into in the future okay so you know in a past life for me i i did dabble in xamarin forms just a little bit and i remember xamarin forms did support like was it uwp and it supported um uh mac desktop and those types of things so so what's the difference between what we had before and then what we're moving to now yeah so we've always supported uwp kind of out of the box with xamarin forms but it's kind of always lagged behind and that's because the xamarin forms controls and layouts were really built for the orientation of a mobile phone right um so like i have my phone here it's very vertical you know it's got a height that is much larger than it's with and then when you look at a desktop it's flipped so it's like 1080 by whatever it is or 1440 whatever it is nowadays um so like when you when you design a mobile app a lot of times it's stacked vertically when you design a desktop app a lot of times it's a grid or it's horizontal and all those things um and so it was hard for us to kind of make this one-size-fits-all solution for both mobile and desktop and that's still a challenge we're facing but because of the way that blazer has been working and the need for blazer developers to start to target desktop we realize that there are some things we can do in the desktop space that don't involve like re-ideating how rendering works um actually bring a lot of value to net developers all up in the desktop space with a blend of both.net maui and xamarin forms controls and also with web and all the projects that we have going on there gotcha okay that makes sense yeah so i have i have a slide that shows some of the architecture this is the the pre-blazer slide um you mentioned mac so mac os was uh supported in xamarin but xamarin forms was always kind of like it would work but your mileage may vary we're bringing back into the first party story here and we're actually targeting specifically mac catalyst which you might be familiar with it's their like ipad iphone slash mac cross platform i forgive me for saying this but it's kind of like their ewp i'm sure someone apple like that um it's really awesome it supports you know like split um or side by side on ipads and the controls are all the same it's their right once run anywhere on ios or ipad os or um mac os so it's like there's xamarin forms for mac products pretty much there you go great way to put it um and we're pulling in wind ui three as our windows backend so it's been uwp but now we're pulling in one ui um because that's really where you know windows is going with their ui stacks and it's decoupled from the actual windows version you're running on um but yeah it's all part of.net 6. so if you're an existing xamarin or xamarin forms developer you use net standard um you use the mono runtime for everything mono is getting folded into dot net and the core um the base class library there and all that so it's all kind of becoming this like one big happy family where you have a very small.net six package you install and then you can pull in mobile you can pull on web you can pull in desktop blah blah blah and dotnet maui is the way that you make your cross-platform native ui for what we call client applications so that's really desktop and mobile things that don't run on the web um yeah so then if i'm a xamarin forms developer like this should feel pretty similar to me right i remember like the controls were written and i'm guessing there's some some api changes there as well but like in terms of me having to relearn a new set of skills i'm guessing it shouldn't be too hard for me to like make that transition over from xamarin forms as it exists today over to.net maui whenever.net 6 comes out yeah we are actually anticipating for most modern xamarin forms apps there will be very very very little migration work you have to do the only thing that we can guarantee you'll have to change is your cs proj file and that's just because you have to move to a new sdk version you have to move from dot-net standard to net 6 and sdk style projects and we're actually working i don't know if you saw the net con focus on windows event but kathy sullivan had a really good talk on the.net upgrade assistant so we're working on having that hook into that net maui sound everything great yeah it just does it all for you yeah but the controls will be the same the um the the libraries and the nougats you depend on will be the same actually it'll feel more like developing kind of regular old.net and one thing we say to companies that are vetting xamarin is that you're not hiring a xamarin developer you're hiring a net developer and it's going to be even more like that now because we're all going to be using the same base class library nice and one of the things i remember seeing you and your teammate david talk about some time ago was i saw a demo where you were actually building an app inside of vs code and i saw it and i was like really like i'm going to be able to build desktop mobile some of these cross-platform client-side uis in vs co and i thought that was ridiculously exciting yeah oh my goodness the vs code situation is just so cool and i i learned how to code in vs code i mean it came out when i was in college or i guess the first yeah i was like wow this is really awesome um and the great thing about.net is it's got this really powerful cli support so you can do net build and watch and run in whatever you want to do on the cli and your new gear restorers and all that and then of course visual studio code has c-sharp extensions and um xaml is a little bit more ingrained i think into visual studio proper vs 2019. sure but you can still do xaml development absolutely in vs code and so we're just making it barrier-free to do that um of course if you want like the android sdk install experience that you get now in visual studio and kind of this one-click make an emulator and deploy it for me and do all of my targets and all that stuff and i don't have to fool around with manifests or blah blah blah bs is where you're going to do that but if you're someone who's really comfortable with command line or you maybe already are developing an android studio and you kind of have that android sdk management and manifest stuff there vs code is going to be a great option for you so and then that kind of leads into the next question that i was going to ask you was from a deployment and a development perspective like can i expect features like you know deployed to my phone or like local debugging on like the phone that i have right next to me and hot reload and some of these other things that we've had the community speak about and seen in some um you know in xamarin forms today like can we expect to see that as well in maui yes don and maui is going to have all and more of what you see with xamarin forms today and to be clear like most of that is going to stay in visual studio just because it is hard to build um some of the things into vs code but in visual studio you will get all of your xaml hot reload we're working on like a c-sharp and net kind of style high reload for your code behind in your business logic we are um porting over i guess not pouring over but we're making sure that ios hot restart so the ability to deploy to a physical iphone without having a mac in the loop that's gonna work with net maui um and of course all the same intellisense and intellicode and smart refactorings and and the great work that you get when it comes to net all up productivity and vs all up productivity that's going to apply too so super exciting lots lots of things going on lots of moving parts nice and i don't know if you're planning this but i'd really look forward to doing like dot net new maui and just having like the cli scaffold out like a new you know mobile application for me i think that would be pretty cool yes i saw it someone sent me a video of them doing that the other day and i was like oh my gosh this is so great um and it's all going to be from a single project i mean if you're if you're a xamarin developer now like you have a.net standard project for xamarin forms or your shared code then you have a xamarin android project a xamarin ios project and we're smooshing them all into one project which is going to make it so much easier you don't have to worry about having multiple copies of your images to deploy to each of the different devices or operating systems like it's all just in one place so dot net new maui is going to spit out one beautiful project for you that you can do everything in and yeah it's gonna be really fun that's interesting because now i'm kind of wondering like you mentioned like what does that shared code scenario look like right because i'm guessing one i'm guessing we're gonna have new tfms right like new target framework monikers but i'm also guessing it'll be net standard 200 or 21 or some version of that right so i can pull in my nuget packages and things of that nature that i'm i'm used to but then i'm also guessing again like as i target like these different devices and things of like things like that am i gonna have to write my platform specific code in like a separate project like will i have like my maui that windows and my my project dot mac os and ipad and iphone and those types of things or do you think it'll be a way that i can kind of have that in one place and kind of just conditionally select based on some type of tag or api or something yeah that's an awesome question i mean currently the model is you have like your my xamarin app.mac or whatever and we're not going to break that so if you still want to do things that way that's totally fine but we're also looking at kind of different levels of uh platform specific codeness i guess of code this is a work in your maui project um so within your xaml you can still use on platform which is a feature we have in xamarin forms which is super powerful it's just open tag on platform ios purple android green great call today um but we're also going to enable if defs so if you're if deaf android if deaf ios if deaf windows mac you can change things there that we're also working on in the single project we're still kind of debating whether we want it to be based on a naming convention or based on like where you put the file but for example you could have like a bluetoothadapter.android.cs and a bluetoothadapter.ios.cs and that could do different things under the hood for those platforms and they'd all stay in that shared project um yeah we have i mean we have a lot of customers today who like splitting it up by platform but we also have a lot of customers who like splitting it up by functionality so they would rather have a bluetooth folder and the shared project that says android bluetooth ios bluetooth and call it a day i mean we want to make sure all those scenarios are kind of supported and work really well nice and then i'll have some flexibility with how i architect my project based on like whatever it is like my business needs happens to be yeah exactly yeah nice now i'm kind of wondering today i know that maui is still like in progress right like we're still working on it and we're still you know figuring out what the tooling and the dev experience is going to look like how could the community get involved today like i know xamarin forms was open source and they had you know there was git repos and get her channels and all kinds of stuff like what does the community um inputs today look like for.net maui yeah awesome question i have a slide if we can pop that up for a second with some links um they might be helpful there's a lot of different places we can follow things going on right now first of all like maui is on the dotnet github it's no longer in the san bernard we've moved into the dotnet github organization so that's very exciting um we have a discord you're more than welcome to join and chat with the team there the discord is really kind of for our early adopters who are like you know gonna be looking at how the code is written and making comments on the architecture and all that stuff um and then we've also just recently released some net six mobile samples so those are the first like real places that you can pull down maui bits and like run a maui solution and a maui sample app and all that stuff which is really really exciting and um if you look at the.net 6 preview 2 blog post that rich lander wrote there are a bunch of different things in there um on ways to get started with the dot net 6 previews one of the exciting things is that we highlighted the net theme that maui is really the the cornerstone the key feature of so um there's a lot of info in that blog post it's just it's an amazing blog post if you haven't seen it but if you google.net 6 preview two blog it'll pop right up nice and then we'll make sure we add the show links to in the description so if anyone wants to go ahead and check them take a look and read it um they'll be able to do that too perfect so betweennowand.net six like what are some of the things that we can expect to see you know before uh before november before dot net six comes out yeah um as the previews continue to roll out so we're preview two right now and we'll have many more previews to come throughout the summer and in the early fall we'll continue to add more features and the way we're kind of looking at it is that right now the previews are for like our our hardcore xamarin fans who want to go in and see how the rendering is different or see how uh you know how the the code base is going to look and then the next couple previews are for people who want to try like a file new maui app and they'll be like oh like file new maui let me see how this works oh cool it works on my iphone it works on mac it works on windows great everyone's happy and then the last couple previews are where we're really going to start focusing on the migration story so that's like late summer early fall roughly and it's currently march 2021 so like six months down the line we'll look at taking your existing xamarin forms code base and migrating that over to net maui nice i remember i think like i mentioned a couple years ago i used to be like into xamarin forms and then i you know i came over to the dark side and started doing more web stuff but you know now that maui is coming out i'm getting a little excited again to start writing desktop mobile you know um applications again so i'm really interested to see like what that developer experience would be and also for me as a person that's used to like razer and like like that type of markup like creating those that kind of component based like ui like i'm really interested to see how some of that translates over for me so i could be like you said like i can just be a net developer and regardless of writing you know server-side things or client-side things i should be able to like leverage my skills and create something really cool yeah one of the coolest parts of maui i think is and i i mentioned this like briefly at the beginning but if you have a blazer an existing blazer web app you can create a new maui app and then open a blazer webview tag and stick your existing blazer code base in it and like you're off to the races you can do yeah it's just it's it's super incredible so we really want you know the.net ecosystem and platform to feel like uh no matter what kind of programming model you like you can build for anything awesome well hey maddie that's that's that sounds amazing um if folks again they wanna they wanna learn a little bit more about maui i'm guessing kinda like what you said before like head over to the github repo um you shared those links as well for the discord channel and i'm guessing folks can reach out to you as well on social media if they wanna you know send you some feedback directly and just kind of figure out what's going on right yep absolutely tweet me anytime i mostly respond awesome well hey maddie thank you so much for coming on and then thank all of you for watching this has been another episode of the on.net show where we are starting to take our journey over into dot-net maui yay thank you [Music] you
Info
Channel: dotnet
Views: 15,777
Rating: undefined out of 5
Keywords: .NET, dotnet, Xamarin, mobile, ios, android, UWP, Xamarin Forms, Forms, Xamarin.Forms, programming, Mobile Dev, development, coding, MAUI, .NET MAUI, .NET 6, C# 10, csharp, Microsoft, Programming
Id: hoC5FIblKz8
Channel Id: undefined
Length: 18min 48sec (1128 seconds)
Published: Tue Apr 06 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.