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

Migrate codebase to Avalonia #371

Open
jonko0493 opened this issue Jul 27, 2024 · 1 comment
Open

Migrate codebase to Avalonia #371

jonko0493 opened this issue Jul 27, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@jonko0493
Copy link
Member

We should use Avalonia instead of Eto. Avalonia supports more of what we need/want (see #237 as well as #71 and #326, all of which are Eto-specific issues). Jettisoning GtkSharp will be a massive boon for the Linux port in particular. Finally, this will potentially allow us to target mobile and web platforms (no idea if we'd want to do that, but we could!).

Our reasons for picking Eto were twofold:

  1. XAML is hard and we wanted to focus more on UI in code
  2. Eto would allow us more flexibility as it has the ability to create custom native controls per-platform

The first is still true. The second is, for the most important case at least, decidedly not. In #358, I proved that it was possible to have different audio backends when multi-targeting frameworks in Avalonia via platform-specific code directives.

With that major hurdle decidedly out of the way, we should start migrating to Avalonia.

@jonko0493 jonko0493 self-assigned this Jul 27, 2024
@jonko0493 jonko0493 moved this to In Progress in Serial Loops Jul 27, 2024
@jonko0493 jonko0493 added this to the v0.3 milestone Jul 27, 2024
@jonko0493 jonko0493 added the enhancement New feature or request label Jul 27, 2024
@jonko0493
Copy link
Member Author

First batch of this done in #373. We'll be committing to an Avalonia branch in the meantime that we will eventually merge into the main branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

No branches or pull requests

5 participants