.NET MAUI Community Standup - .NET Conf Recap and .NET MAUI Updates

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] oh no i broke it do it again i'm gonna shoot a video we'll be back in two minutes [Music] do [Music] do [Music] okay that worked hello everybody i realized i was in the wrong brand so james mon magno redid all the stream yard stuff that's awesome except i was in the asp.net core stand-up brand so i switched it and it kicked off all the videos which are the same videos but if you were here two and a half minutes ago that's why you saw me dave and john look very confused for a second and this was shortly afterwards and dave for not knowing how to do this so it's fun i'm maddie i am a pm on the dotnet maui team welcome to this month's maui community stand up i will only be here for first like 15 20 minutes because i have another appointment to run to but uh you're gonna be in great hands with my favorite co-host and one of our favorite guests dave and john dave you want to introduce yourself hey everybody i'm david ortnow principal program manager with dot net maui xamarin all those things and we'll be answering a bunch of questions today after we go over some blogs and some pr's and some of the awesome things happening in the community and for that i brought back up jonathan dick lead engineering manager and awesome led light person yeah and basically the person i go to with all my questions so now you too can go to him with all of your questions right and then i just go to my team of engineers who are also awesome and answer the questions that's great yeah yeah yeah we need about 14 000 john's and about 14 000 maui team members more so yeah so without further ado let's hop into some blogs we don't have a ton of blogs today because we wanted to leave a bunch of time for questions and there's also quite a bit of pr stuff that's going on i see some multi-window goodness made it into the url list so let me send you the links links and then let me share my screen [Music] they keep adding options which is really cool but i don't know where my buttons are anymore stream yard is great and also very confusing all right this is this month's community stand up december 2021 um and first and foremost you might have heard about this thing dot netconf and this other thing.net six that shipped with netcon so that's very exciting definitely go check it out one thing i the reason i put this landing page on it is because there is digital swag all right so you can go into this github and there are wallpapers and there are oh thank you dave i was not sharing my screen we're doing great i totally know how to do this this is the first time dave and i have been on stand-up together since august so it's gonna be chaotic you're muted [Laughter] karma it was karma oh for me and for you we're a mess that's all right we're doing great but yeah you can also do this mod.netbot where you like build your own.netbot it's really fun so how to put that in there more importantly though is a playlist of all the sessions on youtube on the.net youtube 82 videos it's pretty good um you might see some familiar faces if you're looking for some recommendations gotta show some good community blogs five videos oh my gosh with the pop-ups zebloo sebastian uh five videos ranked from sebastian here that he thinks we're good to watch which i i agree with i'd add one i'll share it at the end but the keynote's great c sharp 10 is amazing if you have not seen the stuff in it yet um global usings so nice so much better of course it.net hot reload by our good friend dimitri who you've probably seen on standup if you've joined us before minimal apis who who doesn't love making things easier to read and creating nftswith.net which was sebastian's talk uh which i think was cool because yeah nfts man they're fun they're fun to follow on the internet so the other one i would add here is elan lipton's talk on blazer maui because it's really cool this one build cross platform apps.net maui and blazer you can see i'm like halfway through it watching it for like the fourth time because i've stolen all of his demos now for my own purpose because they're really fun he puts blazer in a winforms app all right which daniel also wrote a blog about it's pretty cool um so one thing that i was actually talking about with james montemagno was how we can get people to modernize winform's app with blazer and daniel turns out had the same idea as me and motz and just went and wrote a blog about it so that's pretty cool because you can put blazer inside of winforms or um wpf now and then you just make your blazer controls and then you can go use them on the web or in maui or wherever else you want to um you know wherever else you want to use them so this is a pretty cool little blog so check that out and then the final blog i'm going to show i told you we were short on them today is rachel's from earlier this month so rachel has been writing our accessibility blog series yeah collapse from john because she's great and of course we get to see dave's face which is everyone's favorite thing about all of our devlops um this one is specifically about content ordering like with your screen reader she's got a nice little graphic down here so the order in the source the order that you see it on the page and then the actual semantic order in which it's read out in a screen reader and i guess there's some new apis for semantic ordering that are being tested out and developed um semantic order view so that's in the community toolkit the xamarin community toolkit check all that out if you're into this i know accessibility is something that's people are people have been really excited about with maui um and we're doing a lot of cool stuff with it so yeah i will now turn it over to dave i will send these links again before i unshare my screen and then dave i'll show your screen good good good thank you yep you're welcome and i will silently leave in a few minutes but until then i'll just comment just fade into the background um so thank you and it's good to have you back hey welcome back you too i uh i'm still getting used to calling you with your new last name i know it is not montequila it's montaquilla it's italian not spanish that is what i've learned now and people think in spanish and they say montequila and i'm like i love tequila but um yeah so welcome back and uh to the i was gonna make a comment in the chat but now that i'm speaking and i have a microphone the reason that my face shows up in things is not because i'm narcissistic exactly um we all are a little narcissistic aren't we but it's because i own the rights to my face and so i won't get in copyright trouble don't want anybody coming after us okay so uh i wanted to call attention to a few things here um uh blogs and releases and things like that are not blogs you covered the blogs i'm covering prs and releases so we have been releasing service releases for xamarin forms so xamarin forms 5 is going strong i think last i looked 5.0 is well over the majority of all xamarin forms out there in the wild so yay um and uh service six and seven have gone out and you can see there's a whole bunch of uh work that landed there and i know that gerald has a service release eight ready to go and uh i don't know why john hasn't approved it yet no i'm just kidding i don't know it's just waiting closer to christmas we gotta give everyone a christmas present right yeah that's right there you go christmas present um and the great thing is while it is mostly javier and gerald doing doing the work here there are some excellent community contributions as well and these are all bug fixes so stability stability stability very cool um and then similarly the xamarin community toolkit continues to get love and i know that the community stand up is actually right after us so the.net maui community stand up and brandon minnick and i don't know who el pedro i think joins him on that maybe gerald joins them um there i don't want to steal their thunder but some really cool stuff has landed here one of the prs that landed did i tee it up next i did one of the cool prs that landed is this corner radius effect so this is something that is much easier to do with the border control in maui but what do you do when you're in xamarin forums and you just want to put corners everywhere maybe you're using the pancake view which is certainly a good way to go or you want to use this effect because effects are just a nice way to decorate any existing piece layout you know or control here so check that out um that's a great way to go i do believe though that at this point xamarin community toolkit has cut off new features so they'll continue to do bug fixes but new stuff should land in the maui community toolkit but look at all these great contributions from a variety of different developers many of you may be watching now thank you so much for everything that you're doing there i use the community toolkit in all of my projects so awesome all right so that's corner radius so not to be left out the maui community toolkit is also getting lots of love so you know these are a live active projects and uh you know it seems like the majority of the work here has so far been converters um some of the non-ui things but uh starting to see some more uh pieces coming together and both in the community with the xamarin toolkit for maui compatibility um and then in the in the maui toolkit for pure maui work both of those things are happening so and i see gerald is in the chat if you have questions ask gerald ask brandon minnick they can tell you exactly what's going on and stick around after we're done chatting for the community stand up or the uh you know the community community stand up right the community toolkit community stand up all right so what's been happening in maui uh multi-window support has landed so this is your first look at that we'll be coming up there goes maddie bye maddie um we'll be coming up in preview 11 which i know was asked in the chat preview 11 will ship here in just a week or two and you'll hear all about it on the blog before we leave for uh holidays so i've got some additional information about this in a slide but there's also some gifs in the pr if you want to check that out so of course that's a desktop related thing um this is going good yeah and ipad 2 right let's not forget ipad yeah i haven't tried that on the ipad yet did you did you use it uses the same implementation for for catalyst on desktop on mac as ipads that's very nice i'll have to i'll have to go check that out with my ipad um there's always only so much time in the day for me to go test everything and play around this is a really cool pr and this uh doesn't really show everything that is coming because this essentially puts a layer right on top of your application which allows us to do things like i believe you'll see some yeah some horizontal vertical guides the ability to select different elements within your ui so you're essentially inspecting a running application and then you can imagine that we're going to be able to do live property inspectors and update properties live and hot reload all that stuff so for those and i know one of the questions which we'll touch on i hadn't actually watched this video tim really went crazy selecting everything didn't we um uh yeah so i know that one of the questions that we'll get to is what you know where's the preview where we want the previewer back we have a xaml life preview and when we add in all these features i think that you'll be much happier with it than the xamarin forms previewer that we previously had all right and then one more final pr and then i'm going to jump to some slides if you want to see all the things that are maui i recommend comparing the branches preview 10 to preview 11. we are branched so we're locked down we're going to be in the next preview of vs and you can come in here and check out all the different pr's a lot of bug fixes and things like that and what else is in there let's go to the slides so i mentioned multi window we also have windows 11 fluent three styling uh that is there so it's not all the controls right john no but there's uh the important ones i would say for now like you know we're getting them in as quickly as we can obviously but there's like entry and button and i think some of the pickers like the date and time pickers and stuff too yep so those are uh those will continue to land i know that we have them planned for the next sprint as well um so preview 12 will have more the visual diagnostics which i just mentioned that won't ship as far as vs integrations i don't think until around 17.2 of vs which is two releases from now layouts lots of fixes and improvements especially as we did some of that multi-window work and some other uh pocs that we've been working on improving some of the performance and things around that solving some bugs controls are being worked on i didn't mention carousel of you here but i think there were some pr's that addressed some carousel view stuff but there's still a lot of work to do on carouselv right yeah um and given that carousel view is is kind of very closely associated with collection view um you know we wanted to get that one in first and get it right um and i noticed the button border stuff on the status page is updated as of today by the way so if you go to our dot net maui github look at the wiki the status page it was updated earlier today and uh the button border stuff i mentioned here it's starting to come in it's not fully completed yet based on the status but i was able to use that and the button corners on windows this week and i was really happy with it so i'm glad to see a lot of that work being completed um and then perf and size we are uh starting to do deeper investigations at this point now that we've got enough of the pieces together and everything to see exactly where we stand on perf and app size and where the additional work needs to be before we do an rc so rc if you recall is going to come out in q1 of 2022 so not too far from now so 12 faster android startup on certain devices uh for um file new scenarios we also have larger apps that we're testing and we'll be doing more benchmarking against that stuff as i have those numbers i will gladly share them out if you want to go hunting for them they're almost always on an android pr jonathan peppers and grendel and others just do a great job of measuring and documenting everything there you have to do a little digging for it but it's thorough for sure there are a couple of bumps in this release the windows app sdk version so you'll just need to update a cs proj if you're if you're moving a project from from preview to preview and then we have some uh changes coming for the ios type alignment work um so ios xamarin ios had some of their own types for mostly numeric all numerics right yeah it was all like the the end float and then and basically things that you know the os treats as 32-bit or 64-bit depending on where you're running yeah um so what that means is uh if you have ios specific dependencies things that depend upon those types which most ios libraries will they need to be recompiled there are more changes coming in preview 12 and perhaps beyond so if this is something high impact and you don't want to go as john likes to say recompile the world you might just want to wait um but yeah yeah this shouldn't be too bad to actually like you know account for in your code to recompile against and and hopefully we can get you know the some of the uh more popular plug-in authors to to be compiling and updating as we update as well um you know it's it's um we never want to do a break when we don't have to but we felt it was better to do it now than in a future version of.net and kind of rip the band-aid all off at once right um all right so i have some pictures so this is uh i had i had to use this picture because he didn't want me to probably so this is alex blount's setup but this is multi-window support across obviously multiple screens and one big large curved screen so pretty excited to see that john and the team recently over the past six weeks have done a lot of performance work related to this and just making sure that it does what it does so excited to see that we're going to be able to handle these you know true desktop scenarios with data dense ui requirements this is that same visual diagnostics layer that i showed this is this is tim showing it you know just working in the app but once we it'll make more sense when we integrate it with visual studio but we'll also be able to you know do other things like uh you know memory consumption frames per second right john because i want my all my frames per second counter well and the cool thing about this particular layer is that it's it's just it's just a layer um it actually uses like the the maui graphics api for drawing on top of so this is something that um you know you can use to draw things on top of your your whole window yeah enables some really cool stuff so i'm excited to see that happen um but this has a click so if you want to see the before and the after the left is the before the right is the after going from the previous windows 10 styling to the windows 11 fluent 3 styling so that's just the entry there uh and as we mentioned it's happening across the breadth of controls all right john you ready for some questions yeah let's do it um you don't have to answer all of these i'm you know i don't i didn't want to make it sound like you were like on the hook um this one came in from ahmed and it's can we add a web project to maui he had seen uh something like this in a conference previously so i would say that if web is a part of your you know requirements then you're probably going to want to build that with a blazer because then you can integrate either the whole thing or just pieces of that blazer application into a native maui application for whether it's mobile or desktop the reason being is that you're going to get true web you know experience that way nothing is going to be uh you know drawn imitated whatever um and you're going to be much closer to the metal in terms of what browsers expect yeah and that's that's what maui supports today um would be that that blending right there and i think like i i started doing this with my own app actually where i refactors things so i've got all my view models and all the you know that stuff in a common library and was able to really easily add a blazer front end and start kind of piecing that together to hit both places but i think the other cool thing and maddie mentioned elon's video earlier um and that maybe isn't understood fully or people don't see the potential in it quite as much yet but we will uh is that you can do that mixing matching like you said right so like you could have a page or a part of your ui uh that's blazer in a blazer webview that sits inside you know a maui app with native tabs and flyout pages and all that kind of stuff so really cool possibilities yeah um we really think that this approach makes a lot of sense um i will also mention that the uno platform has offerings to take xaml applications to the web browser using webassembly so if that direction and strategy makes more sense for your needs then i highly recommend checking that out all right so this question handling images when migrating from xamarin forms to maui with single project can't handle this properly or you know i think really the question here probably is how should this be handled and so the first thing i'll say is when you go from xamarin forms to maui you don't have to adopt single project you can leave your images and everything right where they are um and you can continue to use the resizetizer package right if you wanted to bring images into that uh class library project like what would what would you do yeah no so like if you go single project like the other thing i was gonna say is um you also don't have to migrate to using like the whole maui image concept right so if you just brought over if you've already got android resources and you've got your your versions of those images in your android app you can just lift those over and put them in the platform folder in your single project and continue to use them that's fine but you know that's probably where i would start if i had a lot of investment in that area in terms of platform-specific um assets already all right all right i am going to change it up we'll go here maybe here let's go here we go um we have a lot of questions coming in the chat and i don't want to ignore those so let's uh let's let's pick some so caseycollectiveasks.net maui on linux and i think this is one that you know we definitely hear quite a bit and we continue to look for the data and the evidence that says this is where we need to uh find room in our budget essentially to do the work um i know that today uh you can have some level of success installing.net on a linux machine and uh building for android with with maui or with xamarin um however that doesn't get you to build linux apps right so it's something that is definitely out there that we consider from from release to release it just hasn't gotten high enough up on the list yet however i'd say that as time goes on it's it's more and more seriously being considered as the next thing that we need to go look at um and with that we do have there is a community project that javier started javier suarez ruiz started and you can find that up on his github i don't have the link handy but it's a fork of the maui repo and i believe it at least compiles and runs on linux i don't know how much more he's done beyond that um but when you combine that with the graphics controls experiment i think you could probably get pretty far all right let's see here what else uh is there an official release date not a date but it is going to be in q2 so in q1 of 2022 we will have a release candidate and then in q2 we'll have ga release and then keep in mind that net is on our annual release cadence so dot net 7 is only a few months after that in november so you're gonna get a major release from us uh in q2 and then you'll get another release from us in uh just a few months after that in november so it'll be a shorter timeline um and we're mostly going to focus on uh you know adding the the missing pieces that we didn't necessarily get to uh shoring up some of the desktop things um we're finishing that planning right now so when that planning is finalized you'll actually see all that up on the themes of net website all right let's see here i'm going to scroll back a little bit further in the ui what about native mac os desktop support coco what about that john yeah i mean that's kind of like the a similar answer to linux support right it's um it's a it's a matter of um how do we spend our budget to get there if it's the right thing to do for us to be there um certainly not it's a possibility you know uh we we know there's some support for that as an idea and people want that but at the end of the day like what what we decided is to to spend our budget wisely for dot net six and maui um catalyst really made the most sense for us because we could leverage our existing investment in the in the ios back end uh and and do our work there and kind of mostly get both of the platforms for free and i think with things like the the multi-window api you know we're able to show that we can do a lot of the the desktop-y kind of things that you want to do in an app anyway um that combined with the fact that like apple's moved most of their apps over to be catalyst apps as well like that's the general direction that their ecosystem is going so um yeah just it made the most sense for the time frame but um always a possibility in the future yeah and and if uh if you don't need the cross platform aspect of what maui brings and you just want a native mac os desktop app with net which guess what that's what visual studio for mac is you can actually use our existing.net 6 mac os apis i mean we should we ship also a mac os installer right so you can go net workload install i think it's just mac os i can't remember what the actual workload name is um but it's up in our documentation i did document it it exists so you can still do all of that just like you do in xamarin today if you prefer to just do that and you don't need any of the maui stuff and same goes for tv os as well right tbos as well but not watch os at this point uh all right looking for questions where's the question marks what is visual diagnostics that's that layer on top of everything that we're going to be able to put diagnostic information in as well as other things we can do many things with it um sebastian asks will bug fix stability game be better in maui um xamarin forms is unusable well i don't i don't know that xamarin forms is unusable we've got a lot of people using it i ship it out maybe some words maybe something is impacting you um and you should raise that up to us so that we know what your blockers are um but yeah i mean a big big thing that we're doing here is not expanding the scope of the product too much as we go from xamarin forms to maui and the things that we are changing are specifically for our ability to be more stable and to improve the quality quality in terms of what you can rely upon quality in terms of performance so you know we've got seven years of learning from what we did eight years at this point of what we have done with xamarin forms and so we're putting all of that to good use here as we make this transition to.net sex so i would say emphatically yes it will get better um sarcasm backing us up i don't know all right scrolling back down hi james later but that was for me david i don't know if there's a dave in the chat um let's see here multi-language support uh and rtl support where are we at with yeah i mean our tail support is there um but it should be working if you're finding issues with it you know please file them uh so multi language support as well you know there's a bunch of different ways to accomplish this in your app and it kind of depends how you want to do that and i think the net traditional way is kind of using resource files and translations and stuff and that's you know definitely one of the approaches that we would recommend or you can use the platform specific like android resources have a specific way of dealing with different locales and supporting it that way and same with ios so it's kind of up to you how you want to implement that but we support a few different ways will the splash screen be single or platform specific uh so we have some support splash screens are interesting um it's hard to do things in a way that gives you infinite customization on them across platforms from a shared source however we do support splash screens from the single project in terms of being able to use them like you know use the the main image that you want to central uh to show up centrally on the splash screen set the background that you want and we'll keep exploring you know more additions to those as as they're feasible to do but you definitely get a decent experience out of the box with it and you can always go customize more on a per platform basis if that's what you need to do for your scenario right on all right i'm going to jump back to slides will net maui improve the stability of the carousel view yeah so i mean we talked about carousel view being closely related to collection view and that's another one that you know we're looking at um one of the things that we've done is the whole different the new layout architecture really really helps us narrow down some of the weird you know kind of edge case things that you would see with some of these things so i'm i'm really um you know optimistic that we're able to really fine-tune any of those edge cases we run into going forward just because we're starting with a better foundation yeah and to emphasize kind of how we're approaching that not only you know obviously the engineering team does the layout work and implementation of the carousel view and in the handler porting but then we spend time uh standing up all of our samples all of our uh you know demo apps and things like that as well as building new apps comparing uh you know we've got we have a whole suite of carousels different carousels based on real world examples that we've rebuilt and we'll we'll spend time uh going through and comparing and seeing can we achieve these things uh with the simplicity that we should and then uh of course you know if you go look at the uh the bug list on maui you'll see that i'm probably winning i think i i file the most i'm winning so that's because that's that's the work that we're doing to validate these things and make sure that we are getting better all right when is prism coming to maui uh i think prison has been uh shipping maui support for half a year or so like maybe less so it's out there go check it out it's up on github i think it's at a different name space though uh dan siegel if i recall from twitter is on vacation scuba diving so um but bother them don't let them rest too much uh cancellation tokens or timeouts with http client yeah that one i you know i'm curious to know which one we're talking about if it's the the android handler or the sort of net handler and and the answer kind of is different for both of those uh depending uh part of the dot-net sex move has been us moving to the the same vcl as the rest of net right so things like the http handler implementation and net we will now share 100 with all of the other you know target frameworks and platforms.net supports so if it's there there's a good chance you know things improve because we're sharing uh that same bcl implementation now if it's the other handler i mean you know please file an issue on the the either the xamarin android issue or the maui one and we'll steer to the right place because we can definitely take a look at these things cool aaron asks what versions of android x and build tools will maui ship with and what kind of load times will we see i've already addressed the load times uh with our preview 11 and we'll have additional statistics coming up but the android x i know that i asked this question in the team chat i went spelunking in the code to see what we're doing so i mean the the reality is these things move pretty quickly google releases them quite often um and so we're keeping you know pace with them as as best as it makes sense for us to do uh which which is i think we're not too terribly far behind what their latest releases are and they're not they're not always updating the whole suite of android x right it's going to be like one or two parts of it and we might not be as interested in those for the for the purposes of maui um so the version exactly i mean it's going to keep moving as we we get near ga and we'll keep updating that as as it's appropriate for us to do in terms of build tools and stuff that kind of is dictated by api level that we we ship with um right now we're on 31 but i know that 32 is in preview and they're working on it i think we already have some preliminary uh work done in xamarin or at the maui world you know for android.net sda6 to support that so um yeah there's not a solid answer to that right now but it'll be inching towards whatever is the latest and makes sense for us to ship with yeah i uh i looked at the um i don't know if it was just the list of releases from from google uh and i noticed there was you know like a whole week of packages they were all the compose stuff we don't use the compose stuff right so yeah wasn't much reason for us to adopt any of that or bind it and there's like a hundred of them or something in total like there's there's a bunch of them from google and we use you know a small fraction of them right i like this question so uh what's the best approach to writing code in maui mvu or mvvm with xaml um so i mean you have a variety of options um the you know the one that's been around the longest uh has been xaml and mvvm um you could also say that c sharp and mbvm have been around the longest the mbvm gives you obviously uh data binding the separation of concerns between your models and your your view code um mvu is you know rather new uh relatively speaking although it has been around for for several years now but it gives you that single direction of state flow um it's a bit easier to debug in that way i mean i've had to debug some data binding one-way two-way no way you know uh stuff and you know especially when it comes to performance like why does my page take so long to load that sort of thing can sometimes come down to data binding um but but as far as mvu offerings from us you know comment is still experimental um and it depends upon maui we share all the same core not all but i think most of the same core so we're not redoubling efforts we're not building dual products we're building different models on top of a single product is what we're doing um so i would say that mvu is still yet to kind of be fleshed out there unless of course you do want to go the f sharp route and go fabulous fabulous has been around for several years now with xamarin forms and uh you know i know that there's tons of not tons but i know of several production projects written in fabulous f-sharp and that's mbu um i forget what's the elm that's the word i was looking for um so that's an option too um but you can obviously do uh mvvm and just c-sharp and not use xaml at all and with the new.net hot reload that we have i think that may become more interesting to folks who maybe just you don't care about xaml or you just you don't need it i don't know or you're brandon minic and that's just your way to go so and i want to address the best approach aspect you know those all those things i just rambled about are things to consider as you're making a decision there um we don't really take a position of you know declaring this is the one true way because some things make sense for certain projects some things make sense for certain teams like if your team knowledge is all mvvm why would you you know force them to all adopt something new unless you really really had a reason to do that you can build really good apps in each way and you can build really flawed apps in each way so um what is what are our toolings uh what are what is visual studio geared for to deliver the best i think mbvm and xaml uh it has the most productivity benefit for you there but now with dot net hot reload for c sharp that's where you know my recommendation starts to shift a little bit because now the tooling supports a decent experience for alternatives would you say anything else john said make sense yeah no i think that's that's a great answer there there's there's know no one right tool for the job yeah i mean i've been i've i've only been coding for about 25 26 years so uh and i've only been at microsoft for five years all of my career before that was healthcare uh software uh advertising startups i worked for several startups so i've worked everything from burn the midnight oil ship it fast and break everything to uh it needs to be super stable because hundreds of thousands of dollars are flowing through the application every day kind of stuff and i really you know i would probably pick something different on almost every project so there you go all right how are we doing on time we've got plenty of time i'm way behind on the questions i answered this before but it's worth calling attention to again uh we do not have net six supports for for watch os when we looked at all the platforms that we needed to support um watch os and the work that would be needed to bring watch os up to a good experience in dot net six relative to the number of customers needing and depending upon it uh it just wasn't it didn't make it didn't make the list so we'll continue to consider it for future releases this dot net 6 release was a big change for for xamarin architecturally right going from dot net framework over.net 5 to net 6. all the common bcl stuff the type changes in ios that we're still adopting there's just a lot to get done uh and a lot of it is high value stuff that is going to really benefit you in your applications and unfortunately for now watchos is not on the list so we'll consider it will visual studio use maui so there aren't any actual plans in place for them to adopt maui in terms of you know a ui stack that they're going to build pieces on however i do know that there have been some spikes and we will certainly consider doing what we can to support them first i think we just we need to get the ga release out the door with a really good desktop story um you know solid experience there and we we have some other things that we need to do for a good desktop store we don't yet have hover uh cursor control stuff so that stuff's not you know super hard to do we just we need to we need to get there um so i think once that happens you know we'll see we gotta build a product that they want to use which kind of goes along with this will microsoft ever use maui for its own apps we have a lot of xamarin apps inside of microsoft some of them are public facing a lot of them are not dynamics 365 is a good one azure has some sharepoint has some for office 365. so uh they're there and they have reached out to us many of them about adopting maui so i think we can look forward to highlighting those when and when they ship all right uh i saw a couple questions about profiler so i'll bring this up here um um did you want to answer yeah i know for sure there's um so i i can't think of the the name of the actual net tool but there's a net specific tool that kind of collects um in information from apps that are running right and so there's actually been some work already and i think if you dig deep enough into the repos you'd find it um you can already spin up the service that kind of connects and watches and collects the information uh and we'll dump out a file that you can actually just drag into visual studio and look at the analysis with the built-in tools uh already and that that works today so um you know as far as as plans beyond that i think the idea is that longer term we want it to wire up to that tooling and be a little bit more you know easy of an experience to to start up the agent and have it all connected for you so um i don't know that there's necessarily concrete timelines and plans around it i think that's probably more of a net seven thing at this point but definitely we will get there because that's that stuff is useful to us too right so we want it as well yeah uh steve asks where the dot net com podcast app is um it's github but i think they're still doing some cleanup on it before they make it public so once it's public we'll we'll announce it um i don't think that's happened yet because dot net conf happened and then thanksgiving so you know you know i'll go so uh it will be made public soon pedro asks uh will xamarin forms be deprecated when maui steps in so if you go look at my latest xamarin blog post i outline kind of what this transition looks like essentially the xamarin support policy states that after the current release that release is supported for two years until or until a new version of that product is released so maui does replace xamarin forms as a product but it's not the next version specifically it's going to uh because it's part of.net now it adopts the.net core support policy so that means that you're essentially going to get that two-year run out on the xamarin forum support and the xamarin support xamarin android ios mac os etc so that essentially is happening now but that means that really you're effectively going to have support for xamarin through the fall through the the end essentially of 2023 you know go check out specific dates and things like that but that's going to give you a year and a half ish of overlap when maui is released which we think is going to be plenty of time to make that step up to maui you know we're doing everything we can to make that a smooth transition you're not nobody needs to rewrite your application just like that's the if you hear nothing else that's the that's the cons that's what i want to encourage everybody you don't need to rewrite your application it's it's an upgrade there are some changes some tweaks some breaking changes but um we're here for you to help you make that transition um ooh here's a good one xamarin ui test what was happening with with xamarin ui test and will there was another question i think it was in here about is xamarin ui tests going to be open sourced or anything like that um yeah so i mean interestingly enough um our teams don't own xamarin ui test um that's owned by by app center currently um we are have been looking into all sorts of different options you know how do we do this for our own tests and everything and um we've done some explorations around appium and and also xamarin ui tests and i think the direction going forward is uh we're probably looking at something um that's a little bit more thin and light on top of uh of net itself that looks more similar to appium we haven't fully fleshed out what we're doing there yet is the the honest answer but we've done some preliminary spikes and exploration around it so you know we'll have more information as we you know plan for for what exactly uh our concrete plans are there um but as as of now you know xamarin ui tests mostly should just work if you've got apps it's not really specific to to xamarin right it's it's kind of like it's just orchestrating an ios or an android app so you could definitely continue to use that and we may very well do so ourselves for the you know the the shorter term and and look at our options longer term yep does maui use aot compilation if yes uh does it make your assemblies bigger yes and yes yeah i mean there's more nuance to that too right like on on ios even we have more support now for interpreters so you can kind of run with that mode which isn't quite full out same as fillet ot as you would kind of get by default and then on android we've got profiled aot which kind of gives you a hybrid approach between full and and not full at all or not none at all and gives you that sweet spot in terms of a bit bigger size but for the the best value in terms of uh performance all right i have some other pre from twitter questions oh now i need to remove that how do i remove it if i do this then i do this boop all right uh is it safe to take maui into production now uh there are apps at least one in particular we highlighted it.net conf that is in the app store today it is a android ios application using blazer webview inside of a maui application and they're quite happy with it it really depends on you know are the pieces that you require done is what my answer would be so that's where that status page up on our wiki becomes very useful you know the carousel view is not done so if your application really really needs a carousel view probably i would wait um you know net six and the runtime pieces they're you know solid they're ship stable so you can really depend upon those you will be taking a bet on preview bits from us and there is no support policy on previews so if that is something that is important for your needs you know some companies uh have a you know policy they they don't ship on preview bits so those are things to be considered um and you know your mileage may vary we've seen people be successful with it i'm not pushing folks to it right now because we know that we have work that we want to get done and we're not going to be able to respond to some of your blocking bug requests until we actually ship ga for some of the well maybe before but you know if if you're shipping next month and we're still trying to churn out our previews the reality is is that we're focused on previews we're not focused on supporting in-market products with maui so be cautious but you might have success if you do have success let us know all right a couple more here we've got nine minutes to go and lots of questions yet uh native embedding yes native embedding works today you do have to do a little bit of a dance to get your contacts set up as i recall i think we need we have samples i think in our gallery that do this i think um yeah but we we will update our documentation to reflect that and we do have i think a task yet to be completed to improve that experience however the embedding pages versus individual views i think is still a mixed story i think you can do it on android because it uses fragments but it's not the case on ios because they extend view controllers or maybe john i mean tell me i'm wrong yeah i actually think for the last i looked in maui you can do it on a per view basis and it'll give you back the platform specific like a ui view on ios so like there's an extension method that is too native i think is the name of it right now and like david said you said you got to set up like your maui context and stuff and so there's a couple lines or a few lines of code to do that but once you've got that um and you just have to understand that that if you're using that in multiple places you have to know how those that you know if you're sharing a context that you're intentional about that or intentionally not sharing the context so it should work though yeah so uh check that out uh david asked about the preview which i mentioned earlier on in the show and you know i think that once you take uh hot reload with net and xaml you take uh the live preview for xaml and then you take the visual uh live visual tree everything has a live in the name live visual tree and the live property inspector all together and then that visual diagnostics layer that we added with the ability to select items and then manipulate things it's a much richer more design-like experience than just the previewer that we had before so look for that that's where things are heading and yeah satisfaction is higher which is something that we track a lot um can you use maui as a display layer and a native app well i think that goes back to the embedding stuff um but this also mentions mixing ui kit or axml you know basically android views with maui so there's two ways you can go right there's the embedding that we just talked about where you have the two native extension and you can do that anywhere but then you can also like for example a ui text field is an ios control um you have the ability to do that inside of a xaml file if you really want to if for whatever reason you needed to do that that's um i think we call that a native view and so you can check out the xamarin forms documentation on that that should still work honestly i don't see many people doing that there's not a strong use case for it so if that is indeed what you're getting at and you would want to try i would be interested to see your exact scenarios so that we can better understand what you're trying to achieve we already mentioned ui tests uh simplify or further explain the linker this is kind of probably something more on the net team to help with you know we are consumers of it we use it obviously not that that distinction matters to jose jose just wants to know how to use it but yeah i mean i definitely empathize with the the struggle to get that app size down and the very clear cliff of you quickly break your app that's what happens so i don't know do you have advice here john yeah i mean it's it's something that we're looking at uh in maui specifically too um and and trying to make you know that story better in terms of how much can get linked away from maui itself and uh like you said though we're now we've shifted over to we're using the you know the exact same trimming functionality that's in the rest of.net so uh the the nice thing about that is anytime they make improvements you know we can and how smart the trimming is and everything like we get those for free now so it's all good will model runtime be replaced in the near future for maui um not exactly no there's no plans right now i mean the you know the truth is that the runtime for ios and android uh has been really it's old right it's not like david old but it's it's it's been around for a long time and but just like david it is now uh you know it's it's it's aged well it's gotten better with age and it's improved in terms of performance and everything like it's really finely tuned to those scenarios and until uh you know.net either we invest to get there as a runtime you know net itself um we're going to stick with what works best and then right now for ios and android that's the the model runtime yeah i think the bcl is the important part here right like we're on the same bcl now and that's that's the the big value yeah i think the the the decision that we'll need to make at some point is do we adopt core clr for uh all desktops right um because i believe we're still using the model runtime for catalyst that was a question we had early on in dot net six yeah but john and are both looking each other trying to remember like i think maybe that's still the answer well but you know to to be fair like that's kind of the point is that it shouldn't matter and like that's kind of why we are both looking at each other like the runtime is an implementation detail that you shouldn't care about as long as the bcl works the same across all of them exactly yeah so i think that when people ask this question typically and roger can correct us on twitter if we're off base but typically the bcl being the same is really the key here so um i just had a question and i lost it dude crud all right i'm looking for oh that where there it is there it is uh is blazer native mobile bindings coming uh to be a product eventually no plans at this time the experiment is continuing on so um alain lipton is still doing work there that is where the blazer webview came from and we'll continue to iterate on that we think that razer as a syntax is an interesting and exciting opportunity we think that it appeals to xaml developers um and to c-sharp developers kind of the way it works but you know we don't have plans around it you know the thing is like yes we do have some visionary things we're trying to do innovatively but for the most part we're even even for those things like the mobile blazer bindings we're putting it in front of customers and we're listening closely to the feedback and looking for where we really get the biggest bang for the buck so um no plans yet but keep an eye out on the experiment all right i'm looking for one last one we've got like 90 seconds left pierce making some noise in the chat i look older than no older than 21. i don't think is 21 yet so that's that could be multiply that times two and then add a few how's that um [Music] i don't know i don't know how about how about this one carplay and android auto because this one's i think comes up occasionally this kind of question um and the truth is like you can kind of do both of those now we're not going to have like a maui ui presentation layer for both of those but you can certainly extend and get to the apis for android auto today and you can embed uh you know like if you've got a swift version for your car play app or a watch os app you can embed those in a maui app to send those along as well so there's there's avenues to get there even if we don't like fully support maui itself as a stack on those those uh extensions of the platforms i don't know how many questions we answered but it was a lot um i know that there were some that we didn't get to so i will uh do my best to answer those some of them were on twitter those will be easier to find come find us on twitter our handles are on the uh the screen here and we will do our best to answer them all right community stand up should be starting nowish so let's get out of here john let's go back to work see you all right see everybody bye [Music]
Info
Channel: dotNET
Views: 4,652
Rating: undefined out of 5
Keywords:
Id: Gkg046mYE3M
Channel Id: undefined
Length: 60min 48sec (3648 seconds)
Published: Thu Dec 02 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.