A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-6/ below:

Website Navigation


Announcing .NET MAUI Preview 6

Hello David, I'd just like to clarify a few things about macOS support.

In response to a comment on the blog announcing Preview 3 you said:

Mac is in there. You can use Mac Catalyst which is what .NET MAUI uses by default, or you can use the Cocoa/AppKit Mac SDK that also ships with .NET 6.

Then in response to a comment on the blog announcing Preview 4 you said:

Hi Michael, it is native with Mac Catalyst. .NET 6 also supports AppKit with the Cocoa SDK.

And in the sample MAUI code there is a MAUI example that has iOS, Android, and Catalyst...

Hello David, I’d just like to clarify a few things about macOS support.

In response to a comment on the blog announcing Preview 3 you said:

Mac is in there. You can use Mac Catalyst which is what .NET MAUI uses by default, or you can use the Cocoa/AppKit Mac SDK that also ships with .NET 6.

Then in response to a comment on the blog announcing Preview 4 you said:

Hi Michael, it is native with Mac Catalyst. .NET 6 also supports AppKit with the Cocoa SDK.

And in the sample MAUI code there is a MAUI example that has iOS, Android, and Catalyst in a single project, and then a separate macOS project using net6.0-macos.
So, have I understood correctly that:

  1. You can use .NET 6 to create native AppKit applications for macOS (not MAUI)
  2. You can today create a single project application for iOS, Android, and MacCatalyst (essentially iOS), and someday WinUI, but not AppKit macOS applications (MAUI)

So if I want to make an AppKit macOS application alongside Windows and mobile applications using .NET 6 I’d need two projects in a solution?

Are there plans to support true native (AppKit) macOS applications in the single project from point 2?

And to make sure we are 100% clear, MAUI is the idea of having a single project that supports iOS(and thus Catalyst)/Android/Windows? And AppKit macOS applications is part of net6.0 but not MAUI?

You might note that I’m not treating Catalyst and AppKit applications as the same thing here in my questions, and that is because they aren’t, and they were never meant to be. In what I believe was your first blog post on MAUI you said:

we see Apple going a different direction for macOS desktop development and we want to make sure we give you the very best experience.

With all due respect, I think that is 100% false. Catalyst isn’t the future of macOS desktop development (SwiftUI is), and it isn’t the very best experience.

Catalyst for Mac is meant as a tool to ease porting existing iPad applications to Mac, not for creating native Mac applications. Yes, Apple themselves have used it for some of their macOS applications, but those are mainly applications that didn’t exist for the Mac until they brought them over from iPad. Any other applications they have since changed from AppKit native to using Catalyst were simple applications that already existed for iPad, so it makes sense that they would consolidate their projects. Note that the vast majority of Mac applications still do not, and likely will never, use Catalyst.

Catalyst isn’t meant for Mac applications, it is meant for cross-platform apps across the Apple ecosystem. So if I am using MAUI to get the cross-platform part of the equation, why limit us to the subset of Mac functionality available through Catalyst instead of providing full access to macOS? It is especially confusing to me because .NET 6 apparently will support macOS natively, so why not put that into MAUI?

As well said in this comment on this blog post, Catalyst is, “A technology created by Apple to bring iOS apps into macOS and with restrictions, not exposing the full functionality of macOS.” As quoted in that comment, “Mac Catalyst doesn’t support accessing unavailable AppKit APIs.” Providing us macOS support via Catalyst then, by definition, is not the ‘very best experience’ because it doesn’t provide the complete UI framework.

Now that Big Sur and M1 Macs exist, I believe we can see that Catalyst was really just laying the foundation for running iOS apps directly on the Mac, and I suspect that making it easy to port iPad apps was a happy side effect that they decided to release early as a ‘bonus feature’ while also giving them time to work out some bugs.

The second half of the response from the Preview 4 blog I quoted earlier was a question:

Are there features or controls in Mac Catalyst you are missing?

I don’t have a specific example I can share right now because my application is still in development and I admittedly haven’t tried using Catalyst yet, but from my experience as a Mac user I can just tell when the app is a Catalyst app, and I don’t want that for my users. Nor do I want to feel limited in what I can do during development, so I use AppKit. I hope that, along with what I’ve said above, is enough to answer that question.

Oh, and on a related note, the Supported Platforms page says macOS Big Sur is the minimum version for macOS, but iOS is supported back to iOS 10. Why is that? Catalyst support is older than Big Sur. Even if it turns out that Catalyst can provide everything I need for my application, only supporting the most recent version of macOS is already a deal breaker. I need to support several years worth of macOS.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4