Skip to content

kyurkchyan/MusicStore.Avalonia.Xplat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This is the cross-platform alternative of the Avalonia's official MusicStore sample application that targets both Desktop (Mac, Windows, Linux) and Mobile (Android, iOS) platforms.

Changes from the original sample

To be able truly cross-platform, the following changes were made:

  1. We can't use multi-window approach on mobile platforms, so the app is single-windowed on mobile platforms. This means we had to sacrifice the dialog-approach of showing the MusicStore
  2. Instead of dialogs we've used ReactiveUI's routing system in combination with RoutedViewHost and Interactions to handle the back navigation with Album from the MusicStoreView to the main window where saved albums are displayed. In the future, we may integrate Avalonia.DialogViewHost to get cross-platform dialog implementation
  3. Instead of using hardcoded .\Cache path for saving data, we use platform-specific Environment.SpecialFolder.LocalApplicationData path
  4. I usually prefer DryIoc as my main DI container. So, the special Splat.DryIoc nuget was used to replace the ReactiveUI's default DI container with Dry.Ioc

About

A cross-platform alternative of the Avalonia's official MusicStore sample.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors