.NET MAUI First Look - What is it, how do we use it, and is it ready
HTML-код
- Опубликовано: 22 май 2022
- .NET MAUI is the hotly-anticipated cross-platform application building tool to succeed Xamarin. With the launch approaching rapidly, I want to take an initial look at the product, who it is for, and how it works. If you are curious about what .NET MAUI is and if it is ready for prime time, this is the video for you.
Full Training Courses: IAmTimCorey.com
Source Code: leadmagnets.app/?Resource=MAU...
Mailing List: signup.iamtimcorey.com/
Thank you for the first look! I'm curious how MAUI will evolve and hope to see more tutorials from you! Great job on this video!
Thank you!
I wouldn't bet on MAUI: it's already old (we already moved to declarative UI instead of imperative UI, as SwiftUI, Jetpack Compose, Flutter, React, etc), it's not a project made by Microsoft for internal use, it's still not officially released yet.
@@DiegoNovati1 its not even released yet, how is it already old?
Today i was about to start learning Xamarin when i learned about MAUI and found your video. Definitely looking forward to watching more of your videos on the subject.
Great to hear!
A really solid upfront look, much appreciated. my team is pumped to use it. Thanks Tim. 😎
You are welcome.
Perfect intro , hope you create more detailed full courses about MAUI. Thanks Mr. Corey.
Thank you!
Nice one Tim, please keep up the good work. I really want to see how the MAUI evolves. I look forward to seeing more contents on MAUI. Great work.
Thank you!
For demos I recommend snapping the windows vs 2/3 of screen and app 1/3 of screen. I think it would be better then dragging on and off screen.
Very excited for this release!
Should be ready this week during build from word on the street!
Can't wait!
Hey, Tim! Nice to see you making MAUI content. Looking forward to watch your pragmatic granularity on the subject. Cheers!
Thanks!
@@IAmTimCorey Same here :)
Hey Tim! It will be great to see MAUI course, you are my favorite teacher on youtube!
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Was waiting for so long on your videos related to .Net MAUI... Thanks for the upload..
You are welcome.
Depending on when you're watching this, even though .NET MAUI is GA (at the time of writing this happens tomorrow) you will still need the preview version of Visual Studio (17.3) at that time. The tooling that has to do with .NET MAUI is still in preview. Eventually it will all be worked out, but it might be that you still need the preview version of VS. Just thought I'd add that.
Great overview Tim, thank you for this!
Nice to see you here, Gerald. Tim, James and you are my C# triade, haha.
@@jonatancordoba7984 Haha awesome, thanks! It's a small world ;)
unfortunately it would seem silly to announce its ga but still require preview of something. It would have been best to not announce ga until its in a released version of visual studio.
@@andywalter7426 I agree it's somewhat confusing. The Docs says it's in preview and subject to changes but the .NET Blog says "RC3 is covered by a “go-live” support policy, meaning .NET MAUI is supported by Microsoft for your production apps."
@@andywalter7426 I definitely agree it's not ideal and confusing. I hope we can smoothen this out asap!
Definitely interested in seeing more MAUI content on the channel, thanks!
You are welcome.
More great content, Tim! Thanks for this.
You are welcome.
Thanks, I have been waiting for this. I really appreciate your content.
You are welcome.
Thank you for the great introduction. I look forward to the Maui blazor video :)
You are welcome.
Just a few things to note:
1. The android Manifest GUI is embedded within the project properties GUI (ie Right click on project and selecting properties.) Permission selection isn't currently supported via the GUI, that's probably why the file opens in XML editor by default.
2. Physical Android device can also be used for debugging and testing instead of an emulator.
Yep, thanks for sharing.
Great video, I am looking forward for new videos and courses regarding this topic, I think it will be a big game changer in the future.
Thanks!
Thank u so much for this video. I am definitely interested in MAUI and love to get to where all my stuff is on it.
You're so welcome!
Great overview Tim! MAUI has been on our radar to extend a WPF application to support both Windows and Mac. I enjoyed your insights into the tech.
Thank you!
Have you started MAUI development? We are thinking of doing the same but to make a hybrid between windows and web
Thanks for the introduction! Would really like a MAUI-course. The first APP can be a simple one to get us started. Maybe a TODO-app with professional setup and professional codebase could be an idea? Multiple views would be great. And how to set up folder and file structure for bigger apps (maybe another video..).
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Very interesting thanks Tim! I have a big Xamarin project that I may well have to update to MAUI within the next 12 months. I would be interested in videos relating to upgrading a Xamarin project to MAUI, and in if/how one would be able to use xamarin specific plugins/nuget packages
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Thank you for this video and hope you will make lot more video for MAUI
You are welcome.
Thank you for the introduction! Would be interesting to understand if and what limitations exist developing cross-platform with MAUI vs native development for something like iOS.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Great introduction to MAUI!👏
Thank you!
Hello Tim, Thanks for this. Please make more videos on MAUI.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Hi Tim! Another suggestion from me: when using hot reload, instead of dragging and dropping, might I suggest using OBS to set up a scene which overlays the debug window over Visual studio and a scene that only records your main window? A Stream Deck would make it easy to swap between the two, or a simple hot key.
Thanks for the suggestion. I don't use OBS, but I will probably be setting something up since I'll be doing more MAUI videos.
Great video, thanks for sharing!
You are welcome.
Nice... Hope to see your full tutorials for beginners
There are a lot of tutorials for beginners on the channel. Enjoy.
Much awaited.. thanks tim
You are welcome.
Thank you for this great content 😀
You are welcome.
It will be nice to make a course from start to finish. Thats my suggestion. Thanks 👍
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
You are amazing I get my job because of you
Awesome! Congratulations.
@@IAmTimCorey thank you
Thanks for the video!
You're welcome!
Do we think MS will actually stick with this one, or in five years time will you be doing another video on "porting your MAUI apps to technology X"?
Good question. I think that Microsoft is banking on MAUI being a big deal. I'm not convinced that the WinUI 3 XAML is going to be the forever choice (they keep trying to get store apps to be relevant when they aren't). However, the actual MAUI tech is really important to their overall goal of .NET everywhere. I'm not sure they will pull the XAML for anything else, though, so I think we will see continued investment in MAUI.
@@IAmTimCorey i think they are going to push store apps to be the only apps available for windows 11 soon. I cant even remember the name of the damn thing but it looks like they are preparing to make windows 11 a complete walled garden.app store only i reckon, they seem desperate to push into a android store type of ecosystem. ill go linux at that point.
@@coolpot There might be some in MS that "want" that, but it's totally impossible. Never going to happen.
@@IAmTimCorey You don't have to use the app store with WinUI 3.
How should we structure (separatation) solutions if we want to reuse blazor pages/components for both - web and maui?
I will keep my Xamarin running for now, follow you to see whats new and start a project in MAUI when we have about 4 to 5 iterations..
Sounds reasonable.
Good Afternoon Tim , If you do a course on this i will be the first to buy. Also thank you for other vedios you made me the developer i am today . May God Bless you
Thank you!
Really interested in a full app tutorial thx for your hard work in this space. Best of the best
Thanks!
I'm using Maui for a small mobile app at my work, it's quite fun to just write html code as in blazor and have it as an app on mobile. I dont really like xaml so i prefer the blazor version. But ofc you won't have all the already made xamarin form components for touch etc so you have to make them for yourself.
Glad you are enjoying it.
Been looking for this
Great!
I wuld love maui course. I will differently buy it
Thanks for the suggestion.
I wonder if the Android Sub System can be used, instead of the emulators.
Tim you are best.
Thanks!
Hi Tanks for the very informative Video. currently I am trying to figure out how to close the app by code. How to do this? I guess there must be Application.Exit somewhere but I can not find it
Thanks Tim, great content as ever.
What you think about the C# markup that comes with the MAUI community toolkit?
Had no idea of this. Thank you for mentioning. I'll straight up dive into it.
I think it is a nice added value. Would you like to see more about it? If so, leave a suggestion at suggestions.iamtimcorey.com
@@IAmTimCorey What would the purpose of the community toolkit be when somebody can create their own processes. The advantage of creating their own processes is they would understand perfectly how to use it and can make it work exactly they way they want it to work. Besides if every used all third party stuff, then there is no need for programming anymore because everybody would just use third party stuff.
@Andy Walter - You keep pushing these theories that you should build everything yourself and that developers will run out of work. Neither of these are correct. We've discussed this before. Instead of continuing to push wildly incorrect ideas, why don't you build that improvement on the TimCo Retail Manager that I challenged you with six months ago?
@@andywalter7426 The third party stuff is build by whom? Developers.
Thank you so much
You are welcome.
Very good stuff. We have a complete framework in Xamarin.Forms that we are going to port in NET MAUI. We would like to have information about the best way to migrate
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Microsoft has migration guides from xamarin.Forms to Maui
Hope you find a sponsor, as that is a great model to finance this channel, as it is a win-win-win. Still hurt about being left in the cold with WinME, though!
lol, yeah, if you are on Windows ME then you are out of luck (in more ways than one).
Nice one. Thanks. Will it be possible to hot reload when changing C# Code? If I can remember, they said it will be possible!
Yes it will.
Is it possible to use Asset Delivery for apps bigger than 150MB with .Net Maui? If yes, then how?
when I want to install MAUI the visual studio told me " install more tools & features " what is the important tools and features i must install them ?!!!!
Would love to get a .NET MAUI playlist to walkthrough in detail
👍
Hi Tim I know I am going ahead a bit here, can we expect a course based on MAUI like maybe a few projects based on it?
Yep, I think so.
Do you know if there's any news on the declarative way of building ui? I think it was called mvu or something like that
Yes, it is called Comet. It is great for building end-to-end app development experience using only C#. It is amazing and uses the modern C# features.
Looking forward to MAUI + Blazor.
Great!
We are looking to make some web version of existing applications... Looking for MAUI to release to production and bunch of tutorials to go around.
Sounds good.
How does it compare against flutter and what are the benefits? How is the performance does MAUI benefit from c#'s advantages in performance over dart?
It is probably too early to compare the performance against Flutter (it is only GA as of today). However, the biggest benefit is being able to write your entire app in one language (C#) instead of C# for the backend and a different language for the front-end.
Great video as usual. Thank you. Could you do something on Comet C# MVU?
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
@@IAmTimCorey I will do so. Thank you.
I am starting a project that I want to support on android and windows. This looks like a good start.
Great!
Hello time, Is there a developper toolbox like in chrome to see the elements?
The tooling is lagging a bit compared to the code itself. There is tooling for XAML apps for inspection, but I don't know if they work for MAUI yet or not.
a .NET MAUI course will be a great. Pls make one. Thank u.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
The ideal developer laptop or desktop for a MAUI project would be an Intel Mac with Windows running in a VM. That would cover all the interesting platforms.
Yep, that would.
Great video as always! Do you still need a Mac machine to build for iOS and Mac, like you need in xamarin forms, or maui apps can be built from a windows machine now?
I mention this in the video, but you still need a Mac. This is an Apple requirement, not a MAUI requirement.
@@IAmTimCorey oh sorry I thought you meant that the requirement was for publishing in the store. Thanks for answering!
Thank you. is it supports direct external connection to MsSQL server from an Android Os
It does not, which is a good thing. Accessing a database directly from Android would require having the connection string on the Android device. That is not secure. Instead, you want to access SQL through an API.
finally hot reload !
It has definitely improved the dev-test-debug loop.
Great video Tim! Can I use mvvm in thse same way as in a wpf app or do I have to do everything in code behind?
Yes you can!
@@IAmTimCorey Awesome, tnx! I would definitely appreciate more maui videos/tutorials.
Coming from the future: It is super awesome.
I'm glad you like it.
Would be cool if they could let us using frameworks like react/vue/svelete etc for the ui.
That would be an electron-type app, then, not a true desktop app like this is creating. You can use Blazor Hybrid to have the web experience instead of the XAML experience.
Please make a series on MAUI ❤️
It is on the suggestion list.
Hi, how would do you connect to a SQL Server running on my local area network using MAUI on Android?
Through an API.
5:35 Tizen is the OS used in Samsung TV's among other devices.
Good to know.
Hey Tim, we are currently still using a lot of WPF is it time to start building new apps in MAUI purely focused on web and desktop development?
It is a nice tool to add to the toolbox, but don’t abandon WPF. Each has their place.
I would like to know if you think Blazor WASM + Azure B2C + Azure Functions + SQL Db would make a good tech stack
Yes it does! Lookup this video by Matthias on this topic here on RUclips: "Developing and Deploying a Static Web App with Blazor and Azure Functions".
That can be a good solution. Just don't get so locked into one "right" solution that you forget that the best solution is the one that is best for your specific situation.
Any thoughts on the recent Flutter3 release for Windows Desktop applications?
Or when Xamarin/NetMaui , Electron, or Flutter might be the better tool for the job?
For example, the size of the binary isn't a concern for me.. however, I do need for the application to access hardware (usb device, dlls, etc). Any suggestion?
All three will do the job. So now you need to figure out which will do the best job for you in your situation specifically. For example, if you know C# well but don't really know Flutter, it is probably a better idea to pursue one of the .NET MAUI options. If you know Flutter well, it might be a better option to go that route.
Dart is great, but c# is better in almost every way imo.
Flutter is cool and very easy to develop with, but why choose it if you want only windows?
Electron should not be in the same discussion.
Actually electron should not be in any discussion 🤣
thanks man but about
pdf veiwer
google map for all platform
....
how i can have them ?
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
So as far as windows is concerned, Maui is only for making windows store apps, I couldn't create the app and distribute it via a website or install it from media?
You technically can. It just isn't designed with that in mind.
Very good, I would love to see a video on how to configure the Android emulator for MAUI development - thanks
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
How much could I reuse between a web app and a mobile app? Also, I'd love to see the workflow of building an app with Maui.
For the Blazor Hybrid version? You could reuse most of it.
Hey Tim. What's your opinion about XAML and do you think it's the appropriate way for building UI's compared to other declarative UI technologies used by other competitors (Flutter, React Native)
XAML is not my ideal choice for a design language. It was built in a time when Microsoft was really in love with XML. I personally HATE XML. Obviously, you can see the influence in XAML. However, I do also see the value in having the ability to easily define what an interface should do. We already have that with HTML and CSS, but at the time it wasn't good enough to properly handle everything and it would not have been the right call to just use HTML and CSS and then extend them. While we do have that now with Blazor, and that's a great option, it does require a browser to render, which adds a lot of overhead. XAML is more performant and more powerful. It is just hard to work with sometimes. So, I have a love/hate relationship with it. I understand why it is necessary, I know how to work with it, I just don't always enjoy it.
@@IAmTimCorey Thanks
How to create custom controls on MAUI will be nice!
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Does MAUI have cross platform Bluetooth classic or LE support?
Not sure.
I am interested in a MAUI course.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Help? My dev work has been on linux for about 12 years, so maybe I'm missing something really obvious. I created a new .net maui solution (the default Hello World click-counting app) and it runs find within VS2022, but if try to run it from explorer or the command prompt, nothing happens. No error, no app window. Shouldn't I be able to just build and run?
Windows 11 Pro (Version 10.0.22000 Build 22000)
Visual Studio Version 17.3.1
Executable: source
epos\MauiApp1\MauiApp1\bin\Debug
et6.0-windows10.0.19041.0\win10-x64
Would you make a video showing side by side pros and cons of Flutter and MAUI? Flutter is already have a huge community but MAUI is newer. Why should I learn MAUI rather than Flutter? I'm very much interested in MAUI as I'm building my career on .NET C#, but in love with flutter as it seems easy and has beautiful UI.
I'm not sure if I'll do a side-by-side comparison, but one of the biggest benefits is that you can use your C# knowledge. Learning a language really well is important to getting the most out of it. Needing to switch languages for front-end and backend means needing to learn two different languages deeply, learning two different systems for development, and learning two different ecosystems for third-party tools and support.
@@IAmTimCorey That's true. I'm eagerly waiting for your tutorial playlist on MAUI.
Thank you very much for your enriched and amazing contents. ❤️
Hi, You mentioned that to install windows apps built by MAUI it is only through windows store, is there is any option for building an .exe version of the app to be downloaded and installed? like what was published back in the days with WinForms?
It isn't only through the Windows Store. That's just what they want you to do by default.
@@IAmTimCorey When you do more MAUI content I'd very much appreciate a detailed look at the deployment models.
I've never before and have no intention of ever writing apps that belong in a public app store. I'm mostly interested in what might be described as 'portable' deployments: one or more files in a directory that can be copied to a machine and executed without ceremony around installation, registration, signing, etc.
I noticed in blazor server with the hot reload its kind of slow.. and sometimes it doesn't always work like if your using async task you have to rebuild... If your doing complicated code changes in MAUI is that any faster/better?
Hot reload is an evolving product that is rather new. They are continuing to work on it. It is actually lightning-fast for most things, but the more complicated you get, the more chances that it will not be able to keep up. Trying to update an async task on a running application and have it display the results is difficult at best.
@@IAmTimCorey Ya I use it heavily and it can get complicated.. lol
Can you confirm if MAUI will replace all the capabilities of WinForms, or is it still too early to know?
It will not. WinForms will still be an option. It also does different things than MAUI.
Does MAUI support the creation of an OpenGL context? The cross-platform aspect is nice, but I need 3D rendering to justify the switch from WPF.
I don't believe so. It handles 2D images on the canvas ( docs.microsoft.com/en-us/dotnet/maui/user-interface/graphics/ ) but I don't see anything on 3D or OpenGL.
So MAUI Blazor is sort of a wrapper for my existing Blazor app?
Debugging will be essentially the same?
Correct.
+ you can do things you can't do with normal Blazor iirc, like access the file system. I.e. you can use all dotnet APIs.
Can you use WinUI 3 controls in Maui?
If they are specific to WinUI 3, I believe you can do that in the Windows-specific section.
Also, can you upgrade Xamarin android with any of their upgrade tools to MAUI or just Xamarin forms. Couldn't find online any resources on that.
I believe it is just Xamarin Forms, since that is what MAUI is a direct replacement for. Xamarin Android was closer to the metal development. I don't know if there is a direct path forward for that or not.
@@IAmTimCorey Ya we built a project with Xamarin android. Started with Forms but it didn't work out so switched.. Just was curious if there was an easy upgrade path.. thanks
Tim , so should one use .net maui dll or .net 6 dll or .net standard dll so that it can be used everywhere. What is the difference ?
.NET MAUI uses .NET 6, so a .NET 6 dll will work in a .NET MAUI project. The .NET MAUI dll just adds the ability to target platform-specific features. We don't need .NET Standard anymore unless we are trying to create a dll that supports the .NET Framework, old Xamarin, and .NET Core at the same time.
Thanx Tim.
Does it support the MVVM pattern?
Yes it does.
will we be able to upgrade/ports large xamarin projects seamlessly ?
It depends on what you mean by "seamlessly". You can definitely port a Xamarin project over, and they have docs on how to do that. However, there will be some breaking changes that you need to work through.
@@IAmTimCorey - I spent three days and reverted.
Hello Tim a side note what virtual machine services do you use??..
I don't use VMs often, but when I do, I use Azure.
@@IAmTimCorey ok great thanks a question Tim a roadmap for your courses what would you recommend after c# masterclass...
Can we do the same with VS2019?
No, sorry.
I have actually found that blazor for maui is much easier than regular maui. Blazor is much more powerful than any ui. The only cases when blazor is not the answer is when doing console apps or web apis. If web apis are used, then minimum apis are always the best option now. Before blazor, i used xaml but after learning blazor, i found blazor much more easier and powerful than xaml. Xaml should eventually be dead because of blazor which is a good thing.
Same here, I fuckin love blazor. Much more straight forward than working with xaml
I get your enthusiasm for Blazor, and it is a great solution. However, I would push back on the "the only cases when Blazor is not the answer is..." That's not a great take. Remember that Blazor MAUI is running a web browser. That takes up a lot of additional resources. That's not always the right choice. Also, web isn't always the right choice. Blazor MAUI gives us a great option. It just isn't the only option.
@@IAmTimCorey Xaml has not seen any improvement since its inception. I think writing the UI in code is the solution. E.g. Flutter or Comet C# MVU
Bro, there is so many wrong assertions on your comment...
Blazor as the first option? For mobile? No, just no.
Minimum api as the best option "always"?
Man, you really need to study the trade offs of these technologies.
What about IOS Simulators? Do those work well? Separate install?
You can't do that on Windows, but you can send it to your iPhone to run (or iPad) or you can send it to a Mac. Not the easiest solution, but that's what Apple permits.
I'm looking forward to see V2 of Maui with something that will probably start being a goo starting point, as it happened with Blazor.
Great!
Still no linux support? What is my point then to use it instead of, say, electron?
It is frustrating, but the actual Linux usage is so low that Microsoft doesn't focus on it. You could look at Uno or Avalonia. Those both support Linux and they are C#-based.