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

Prism.Avalonia Library #3127

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

DamianSuess
Copy link
Contributor

@DamianSuess DamianSuess commented Apr 28, 2024

Description of Change

Adds fixture for Prism.Avalonia using Avalonia v11.0.x. Importing from the latest v9.0.x-pre release.

API Changes

None

Behavioral Changes

Allows users to utilize the cross-platform framework Avalonia for desktop applications.

PR Checklist

  • Import base Prism.Avalonia framework
  • Sync packages to use local projects
  • Rebased on top of master at time of PR
  • Changes adhere to coding standard
  • Add tests
  • Add e2e samples
  • Minimize code duplication

@DamianSuess DamianSuess marked this pull request as draft April 28, 2024 14:18
@dansiegel
Copy link
Member

Thanks for the PR. I'll try to review this as soon as I can.

Copy link
Member

@dansiegel dansiegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

noticing this is largely just reusing what currently exists in the Prism.Avalonia project. This should start removing duplicated code, similar to what we've done with Prism for Uno.WinUI using linked code from the Prism.Wpf project where possible. The goal should be to have a minimally different API surface and eliminate duplicate code as much as possible.

Comment on lines +5 to +9
"src\\Containers\\Prism.DryIoc.Shared\\Prism.DryIoc.Shared.shproj",
"src\\Avalonia\\Prism.Avalonia\\Prism.Avalonia.csproj",
"src\\Avalonia\\Prism.DryIoc.Avalonia\\Prism.DryIoc.Avalonia.csproj",
"tests\\Avalonia\\Prism.Avalonia.Tests\\Prism.Avalonia.Tests.csproj",
"tests\\Avalonia\\Prism.DryIoc.Avalonia.Tests\\Prism.DryIoc.Avalonia.Tests.csproj"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this would need to be updated

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Dan for the quick response on this one. I was curious about the best strategy to move forward with regarding that. In the first round, I was planning on getting a solid build running and then minimizing if that's okay. The current import is based on tag, v9.0.401-pre.

An example of super-minor differences is WPF's DependencyObject vs. Avalonia's AvaloniaObject.

I'll take a look into the Uno.WinUI implementation, thank you for the tip. Currently, I'm working on the importation of the tests

@dansiegel
Copy link
Member

btw be sure to update the CI Builds. It should be pretty much copy/paste and change the file names... if you need some help on it let me know.

  • NEW: .github/workflows/build_avalonia.yml
  • UPDATE: .github/workflows/ci.yml
  • UPDATE: .github/workflows/start-release.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants