Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

WPF and Xamarin dev here who wrote a new (not ported) codebase on Avalonia.

- Avalonia has a guide just for people like you and me [1].

- Avalonia's flavor of XAML has small divergences from WPF that will have you hitting their docs often. There are some nice quality-of-life improvements, for example you can bind a Button click handler directly to a method without ICommand. The major concepts are the same e.g. data binding, dependency properties.

- Coming from WPF, it's possible you've used MVVM and dependency injection. You'd be going against a strong cultural grain to not use them in Avalonia. But I would be surprised if your WinForms app is architected like that, so it may be a design challenge extracting coherent ViewModels and properties from the ball of mud that many WinForms apps become.

- For macOS, read up on notarization [2] and, if you're publishing to the Mac App Store, the review process.

- I recommend starting with example apps (look in the Showcase) or with the Avalonia template solution which just runs out of the box.

- The Avalonia team iterates quickly. Expect to upgrade NuGets frequently, and don't get too far behind. There was recently a big jump from version 10 to 11. Good for you for starting after that.

- Not Avalonia specifically but if you're not used to .NET Core check out #nullable enable. Can't live without it now, but was confusing at first.

- Be sure to check out all of the official and community libraries [3]. I bet my design big on `ReactiveUI` and it's gone well.

[1] https://docs.avaloniaui.net/docs/get-started/wpf/

[2] https://docs.avaloniaui.net/docs/deployment/macOS

[3] https://github.com/AvaloniaCommunity/awesome-avalonia



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: