Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic] macOS support #626

Closed
19 of 46 tasks
jeromelaban opened this issue Feb 25, 2019 · 10 comments
Closed
19 of 46 tasks

[Epic] macOS support #626

jeromelaban opened this issue Feb 25, 2019 · 10 comments
Labels
difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding epic platform/macos 🍏 Categorizes an issue or PR as relevant to the macOS platform project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools

Comments

@jeromelaban
Copy link
Member

jeromelaban commented Feb 25, 2019

I'm submitting a...

  • Feature request

Description

Known tasks :

Structure

Runtime Tests (non exhaustive list)

#9282

Controls

Related #66

@jeromelaban jeromelaban mentioned this issue Apr 18, 2019
6 tasks
@ghuntley ghuntley added platform/macos 🍏 Categorizes an issue or PR as relevant to the macOS platform priority/backlog labels May 22, 2019
@MartinZikmund
Copy link
Member

Bringing this up as per Twitter conversation with @snickler, Andrew Hoefling and S Ravi Kumar.

@techierathore
Copy link

Thanks @MartinZikmund , I would love to join you guys and see how I can support.

@jeromelaban
Copy link
Member Author

/cc @MartinZikmund

@robloo
Copy link
Contributor

robloo commented Dec 3, 2020

@jeromelaban It seems Microsoft has now committed to supporting Catalyst with Xamarin in the .net 6 timeframe. I believe the lack of Catalyst support was the reason that the macOS backend in Uno had to make separate implementations/code-paths in several unwanted places.

As the macOS backend is also lacking is several areas of functionality and has many bugs, what is the future architecture of Uno in this space? I would think macOS support would essentially be on hold until .net 6 and either:

  1. Remove the separate backend for macOS and just use iOS/iPadOS apps targeting macOS. This should clean up a lot of Uno code and fill in gaps of functionality while fixing bugs. Apps will not be as heavily desktop oriented though.
  2. Pursue a Skia rendering backend for macOS like Win7 and Linux. Again, this cleans up a lot of code but you loose access to native controls and more advanced controls. (bad for the short term)

@jeromelaban
Copy link
Member Author

For now, we're still going to maintain the macOS support that we currently have as there are many parts that shared with iOS (.NET 6 is still very far away) and customers need it, but Catalyst is definitely going to help streamline the development going forward.

@jeromelaban jeromelaban added the difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. label Feb 15, 2021
@MartinZikmund MartinZikmund added difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding and removed difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. labels May 31, 2021
@robloo
Copy link
Contributor

robloo commented Aug 23, 2021

Is there any need to re-evaluats this considering where macCatalyst support is today? On my end I'm going to prototype using an iOS app directly in macOS using the new Catalyst support. I expect functionality, performance and feature completeness is superior this way.

@jeromelaban
Copy link
Member Author

net6.0-maccatalyst is not a complete replacement for Xamarin.Mac/net6.0-macos, because there are missing desktop-related APIs provided by AppKit, and the sandboxing works differently, iirc. That being said, Uno's Skia/GTK head works properly on macOS, so this is a head worth considering.

@robloo
Copy link
Contributor

robloo commented Aug 23, 2021

I'm glad Skia is working nicely on macOS now. My concern with Skia is the high number of unimplemented features compared to Android/iOS, not to mention the added difficulty embedding native controls. Performance was wonderful last I tried it though (which can't be said about macOS at this point).

I expect macCatalyst to have no more restrictions than iOS (so sandboxing and desktop-related APIs are no concern) and an iOS version will need to be completed next on my end. It should be a relatively straight-forward path to run on macCatalyst from here -- at least as a prototype. This seems to make the most sense considering where Uno is today in terms of feature completeness and performance on macOS. It's amazing that Uno provides three different options for getting an app to run on macOS!

@xperiandri
Copy link
Contributor

xperiandri commented May 15, 2022

As long as a lot of referenced issues were closed it may be worth updating the checkboxes to actual states, doesn't it?

@MartinZikmund MartinZikmund changed the title macOS support [Epic] macOS support Jun 12, 2023
@MartinZikmund
Copy link
Member

This is no longer relevant, as we have a new macOS backend!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding epic platform/macos 🍏 Categorizes an issue or PR as relevant to the macOS platform project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools
Projects
None yet
Development

No branches or pull requests

7 participants