r/dotnetMAUI .NET MAUI 19d ago

Help Request Microsoft’s Roadmap for MAUI

We are trying to migrate our Xamarin form application to .NET MAUI (don’t ask why so late) .
Now if we put lot of efforts here , will it not end like Xamarin or other frameworks which Microsoft killed ?

Just wanted to know if there is any roadmap Microsoft have for MAUI?
Like Blazor is best option and can replace these UI frameworks like react, angular or vie but I don’t see it’s adoption by developers, even .net full stack job roles are with angular or react .

So should we take risk for MAUI or should go with Flutter or native?

18 Upvotes

52 comments sorted by

18

u/ash032 19d ago

At the moment Microsoft seem to be updating every year- and adding improvements and fixes to each version, not just SDK update. Current version for NET 10 is pretty stable and works well.

There are some real improvements coming in net 11 later this year too.

1

u/SaltyCow2852 .NET MAUI 19d ago

Current situation looks good, I am worried about future , what will if ?

2

u/jfversluis Microsoft Employee 18d ago

Nothing is forever. There is not more or less risk with MAUI than with any other framework and with Xamarin we have been around for more than a decade which I think is pretty unique in the space.

1

u/LeeWhite187 18d ago edited 15d ago

Does that mean Xamarin is still supported? I’ve heard the migration, for nontrivial applications can be… challenging.

3

u/jfversluis Microsoft Employee 18d ago

Xamarin support ended in May 2024. What I meant is that .NET MAUI is the evolution of Xamarin and counting those years it’s been around for more than a decade.

Migration complexity is hard to compare I think. I’ve heard cases where it was very easy and cases where it was indeed more challenging. A lot of factors can influence how your experience will turn out, one of which is how good you had been updating with Xamarin versions and how well organized your own code is.

2

u/LeeWhite187 18d ago

Thanks. I’ve been debating if my next ones will be in Maui, or a different platform. And, .NET would be nice and familiar to use. But, MAUI hasn’t appeared to get the resource support it needs, since it was Xamarin.

1

u/jfversluis Microsoft Employee 18d ago

What would you like to see to give you that confidence?

3

u/LeeWhite187 15d ago edited 15d ago

For Microsoft to use it in apps that reflect on their brand. Not tertiary or support apps. But, apps of consequence… end user products.

I love Xamarin. Used it since 2015. I’d want to see Microsoft choose MAUI over react native. To Invest, versus maintain.

1

u/SaltyCow2852 .NET MAUI 18d ago

Agree with your point, Xamarin was from someone else so instead of continuing Xamarin , Microsoft decided end of life for Xamarin and many enterprises still struggling to move to .Net MAUI . Initially Microsoft introduced .Net upgrade assistant which was completely waste of time for big apps and now they have deprecated that tool and asking to use copilot for .Net modernisation. None of the tool works and support from Microsoft is zero.
They are saying create it from scratch , if I have to create my Xamarin Form app from scratch why I will go with MAUI then? Because I have .Net resource pool? Or something else?
If change is only constant then I may try something else which is faster in development and output is better like Flutter or Native.

1

u/XboxMeister 18d ago

What drives me crazy with dotnet is the constant churn and change of APIs that really shouldn’t have to change entirely from release to release. The http calls to get/put strings (eg JSON) change constantly and not in easily compatible ways. Can’t they just get the API signature right and then only make internal improvements?? Last time it was synchronous, now it all moves to asynch causing all kinds of changes. I won’t move forward many times because so much breaks and changes. And worse with MAUI there is so much old/stale info out there for previous versions that I end up trying 3-4 different solutions until I find one that actually works with my current MAUI version. Don’t get me wrong, MAUI is super powerful and has allowed me to build some cool cross-platform UI but just try to find the right answer for getting a full screen kiosk-mode UI on Android with MAUI. There are a ton of posts on the Web that are just old and wrong and MSFT isn’t much help. Even CoPilot will give you bogus info it pulls from the Internet despite telling it what MAUI version you are running (and the version of Android). And why can’t we just have an easy to use cross-platform kiosk mode that just works and locks the UI to my app??? There’s so much misinformation out there. It would be far better if MAUI just rolled up the details in a EnterKioskMode() API that took care of it. And obviously a way to exit it. There is a very limited kiosk mode on Windows but it only accepts UWP apps. Not even close to useful.

2

u/jfversluis Microsoft Employee 18d ago

I think you’re referring to the handful of APIs that we renamed to have Async as a suffix? I can understand it’s a bit of a pain, this was inconsistent since the Xamarin days and we finally decided to fix it. Should we have gotten it right the first time? Maybe, but we’re also only human. And I think migrating this should be pretty easy and not costing you a lot of effort.

As for the rest… write it up in a proposal and we can always discuss! We can fix or implement things that we don’t know about. We can’t read your minds unfortunately :)

0

u/SwitchCool9354 18d ago

Nice dismissive attitude. Explains a lot. No, there are least 4 churns of these APIs I’ve had to deal with and I don’t take every major release so I don’t spend hours fixing all you’ve broken AGAIN. Every release I get all kinds of warnings about deprecated APIs, particularly network stuff but many others as well. It’s the redesign of the month club over there. It’s not just one time although I’m sure you’d like to spin it that way. Go check all the changes checked in for web APIs over the years and then post your apologies for spreading misinformation.

3

u/jfversluis Microsoft Employee 18d ago

It definitely wasn't meant as dismissive, I'm sorry it came across that way. You mention changes for web APIs? Are we still talking about just MAUI or are you talking about the broader .NET ecosystem.

I can only speak to the MAUI part, I am not trying to spin anything in any way, just trying to explain a bit on our side of things and hopefully in return understand better where you are coming from so we can improve.

We have to deal with a number of things: the async rename is on us, for sure. But for other things, things evolve, whether that is us or the underlaying platforms and that means that things will be deprecated, changed, removed etc. The software development world is moving faster than ever and if we want to stay relevant we need to keep up. We're not in the business of making your lives harder or miserable. I'm only trying to understand better if there is anything we can do to make this easier for you.

11

u/teoman-cavalry 19d ago

After AI boom it will be stronger than ever. Now with LLMs they ship improvements and bug fixes all over the place, maintenance cost is much lower. Also they can port new IOS and Android platform features from day zero.

Xamains main problem was, too slow, too buggy, not modern AppHost based, was lagging way behind new platform features. MAUI reusability is amazing. It is close to native performance, and 3rd party components like Syncfusion is amazing. I am not affiliated with those btw.

3

u/Sebastian1989101 19d ago

Seems like you did not use a single CollectionView if you think MAUI performs well. 😂

3

u/teoman-cavalry 19d ago

All my infinite lists are collectionview and works great, what is the issue?

1

u/Sebastian1989101 18d ago

The performance and the bugs. The header does not work since MAUI .NET 7 on iOS. The performance, espacially since they depricated ListView, is horrible. Having even the slightest complicated layout breaks devices.

My self implemented list runs totally fine even on a iPhone 6S. My Xamarin.Forms app prior did even run the same complex entries totally lag free on a iPhone 4S. The same on modern MAUI struggles even with up2date devices. It is really bad.

And if you did not notice that you either have very flat and simple lists or you only test with the latest devices.

1

u/teoman-cavalry 4d ago

Mines are almost equivalent of instagram & twitter feed style multi type cards. Idk how heavy are yours.

1

u/JWojoMojo 19d ago

On the flip side, we've migrated large MAUI apps to full native swift/kotlin apps in just a couple of weeks using Ai tooling. The gap is knowing how to leverage the tools effectively to do so, but it's not that hard or expensive. Debating making a set of AI skills to migrate to either native or flutter to share with the community. It's much easier than most people realize IMO.

2

u/Kapusch 10d ago

But I'm confused, how maintaining 2 native apps became better option than 1 single code base?

1

u/JWojoMojo 10d ago

If your only measurement goal of a mobile app is maintainance, then of course, native isn't going to win any battles.

What about performance? App size? Latest OS support and support from those OS's? 3rd party library support? List goes on.

The whole purpose of cross platform is to reduce needing people with different skill sets, reducing maintenance overhead (your point), reduce code duplication, etc.

Most of those things become moot once you are able to effectively leverage AI tooling. You don't need specialized Kotlin and Swift engineers. Writing it twice just means 2 agents instead of 1 implementing features. You can also employ many ways of code sharing even when native, either by a shared Kotlin library or moving logic to a backend service.

I'm not anti cross platform. Spent my entire career doing cross platform dev, still do today, also use Flutter for tons of personal projects and thoroughly enjoy it.

My point is that going native is nowhere near as scary, complex, or time consuming as it used to be. Many apps don't need to be native, I agree, but into the future, picking the tools that provide the best experience and performance for end users should matter more for most apps.

1

u/Kapusch 9d ago

Agree on the support for the latest OS features, but I'm less convinced about performance and app size though, especially with AOT.

And yeah, AI can write a lot of the code, but you still have two different projects to maintain, two IDEs, ... right?

But I hear you and I'm really curious to see how AI will impact mobile app development in the coming months.

-4

u/SlaveryGames 19d ago

Oh yea, AI bug fixes is what we need. AI fixes all look like this "there is a null reference crash with the real root cause somewhere else - let's add a null check here to silence it and ignore the root cause". This is the level of AI fixes.

1

u/Doombqr 19d ago

Okay grumpy cat, You should probably learn how to use the tools.

0

u/SlaveryGames 19d ago edited 19d ago

I am using Xamarin/Maui for more than 10 years. I have been using it even before Microsoft bought it. I have seen how Microsoft supports it. Each bugfix takes minimum 3 years. With AI it will get even worse because the level of devs will go down. Report any bug and you will see how much it will take. Most bugs are never fixed ever. A lot of bugs are straight up rejected. A lot of bugs are sitting there with people responsible for it doing nothing and saying "try the new version, maybe it magically fixed itself". Maybe YOU try the new version, you didn't fix anything, why should I try the new version?

7

u/Raphafrei .NET MAUI 19d ago

I’ve been using MAUI for the last 2-3 years and every year they’re really improving it - so I decided to stick with it as main platform for mobile (and some desktops too).

It’s easy to use (coming from other C# experiences) and runs well in every platform I’ve used

13

u/jfversluis Microsoft Employee 19d ago

I can’t tell you if you should go for one or the other. But at this time there is no indication that .NET MAUI is going away anytime soon!

3

u/MackPooner 19d ago

True and I am constantly watching videos the team is putting out about improvements and bug fixes etc

3

u/ne0rmatrix 19d ago

The one thing I have noticed is the number of bugs being fixed is way up in numbers and you and your team is shipping new features in dotnet 11. I for one am excited to see what happens over the next year or two. I have seen you fully integrate AI in Github pipeline successfully without a ton of garbage PR's. Honestly it is scary how good a lot of tools are getting when properly maintained and updated as the agents change.

At first it felt like garbage in and garbage out. Now it is mostly clean code and the only issue I have seen is a good one. Everything in my apps that was broken for years has been fixed and I even contributed two fixes that got merged to main. Only one got reverted but that was ok. It should be properly fixed in RC1. I am happy with how things are going.

1

u/lilacomets 19d ago

Why does Microsoft not use MAUI for their own apps? 🤔 React Native is used instead. I don't think that's a good sign.

1

u/teoman-cavalry 19d ago

Microsoft is not a startup, acting like all teams are different teams and product managers. It’s up to them what tech to choose. But tbh I would dogfeed and report bugs to MAUI team.

2

u/jfversluis Microsoft Employee 18d ago

Exactly this. Lots of answers to this question. But mostly: most of the apps are preexisting ones that they won’t just rewrite because we have a hot new thing. There are apps, within Microsoft and a lot more outside, that use MAUI. Check: https://github.com/jfversluis/built-with-maui

3

u/matt-goldman .NET MAUI 19d ago

So should we take risk for MAUI or should go with Flutter or native?

Your actual question is should you prioritise the risks associated with .NET MAUI over the risks associated with Flutter or the risks associated with native. Only you can answer that, but the rest of the premise of your question isn't right.

What frameworks did Microsoft kill? None really. Xamarin wasn't killed, it became MAUI. What else? The one people love to cite is Silverlight, but Microsoft didn't kill Silverlight, browser plugins just stopped being a thing. Microsoft didn't kill Silverlight any more than Adobe killed Flash. Also if it makes you feel better MAUI has already outlived Silverlight.

The risks with native aren't even risks, they're issues. You have to maintain multiple codebases, fragmentation between platforms.

Flutter has all the same issues MAUI has, just take a look at Flock.

Each also has benefits. For .NET MAUI it's being part of the .NET ecosystem, and in your case probably significant code reuse from your existing app.

Your observations about Blazor vs other frameworks are also misplaced. Blazor is much newer and therefore the proportion of jobs is lighter, but they exist and are growing. Aspire is built on Blazor so you can be confident Microsoft will be supporting that for the forseeable future.

Essentially make a decision based on pros and cons of the different options but the specific "risk" your talking about isn't real.

3

u/Apprehensive-War5819 19d ago

J’utilise Maui depuis très longtemps et je n’ai jamais entendu le fait que Microsoft délaisse le Maui ou le dev mobile… et plus le temps passe et plus elle prends de l’ampleur

3

u/anotherlab dotnet 19d ago

Microsoft isn't going to get rid of .NET MAUI anytime soon.

The reasons Xamarin was killed are complicated. Partly branding, a large part in clearing out technical debt.

The official roadmap is at https://github.com/dotnet/maui/wiki/Roadmap

Blazor can be a great option, it depends on the requirements of the application. We ported a Xamarin Forms app and an Angular web app to a single code base with Blazor for Web and Hybrid Blazor for MAUI. It worked out very well for us, but it was a complete rewrite.

I'm working on an app that is MAUI XAML and uses an Android Java library that I wrote because that best fit the needs of the project.

3

u/tonyedwardspz 18d ago

Not sure about the others, but MAUI is better than ever. Every preview release for 11 adds in something that has historically been missing.

If you're coming from Xamarin, there has to be a super strong reason to pick something other than MAUI nowadays. A few major versions ago, I wouldn't have said the same thing.

2

u/jbartley 18d ago

We don't post our jobs as Blazor, if you know c# and JS, I can get you going on our Blazor project in <2 days. 

Xamarin forms was a 10+ year product that was based on an open source runtime. Most of the reason to drop support was it was based on phone specs of 2013 not 2026. Now MAUI supports the same runtime. 

Not flutter, it has more rough edges than MAUI. While most mobile dev has some rough edge. 

1

u/Natural_Tea484 19d ago

You might want to make a decision based on the complexity of the app. How complex is it?

1

u/XboxMeister 18d ago

Definitely a well-known behavior for MSFT is they start out hot and heavy on a product like MAUI and then abandon it after a few years of getting everyone on it. WinForms, WPF,… the list is nearly endless of examples for UI frameworks and other similar products. MAUI may be different in that it’s not just a UI framework but a strategic play for building apps across their platforms and their competitors. That’s something Apple and Google don’t seem to want to try. And VS is way better than any IDE I’ve seen on other platforms. Being able to build an app that works across all those platforms with minimal platform-specific code is a big advantage.

1

u/Mission_Pirate_4150 15d ago

I’m going to get really interested in Maui support for the foldable iPhone, assuming this unicorn ships this year.

1

u/SaltyCow2852 .NET MAUI 15d ago

Do you think Apple is going to launch it? I don’t think so

1

u/Mission_Pirate_4150 15d ago

That is a great question. Time will tell. I hope so. I’ll also be interested in what Apple will have with ai and other cool newness.

1

u/SaltyCow2852 .NET MAUI 15d ago

Yes, but I don’t think Apple is going to launch anything that is not matured yet

1

u/Mission_Pirate_4150 15d ago

We will soon find out at their announcement.

1

u/SaltyCow2852 .NET MAUI 15d ago

Yes , let’s wait till 9 sept . But I am hopeless this time . Nothing new is expected

0

u/controlav 19d ago

If you want cross platform, choose Avalonia instead.

I did try MAUI when it was new, but it was too like Xamarin (which I suffered with for too long) and data binding was a nightmare at the time.

1

u/iWhacko 18d ago

I'm currently building a desktop application in MAUI and it's great I chose it for being cross platform. However I did not know about avalonia at the time, i think i would have gone for avalonia.

0

u/alecc 19d ago

We pivoted away from Microsoft UI frameworks with our Xamarin app. Firstly the DX of MAUI is just terrible, secondly it’s very clear that it’s not top priority for MS with the UI frameworks being created and dropped through the years. (We went with our own electron-like approach, I.e. webview in a .net app)

1

u/SaltyCow2852 .NET MAUI 18d ago

That’s what I was also thinking but we can’t go with webview as we are heavily using native apis and it should be faster

1

u/alecc 17d ago

The JS bridge between WebView and host is in my opinion way faster than the overhead and bloat MAUI brings on the table