β Learning Process of Avalonia...
Hey everyone, in the last few weeks i've been learning c# because i wanted to make my first ios/android app with avalonia. As the weeks went by i discovered that there is much more to it then just c#. Apparently there is also xaml i have to know? MVVM is also a thing?? There is lots of mixed information on avalonia and what you should/shouldn't know... On top of that there are reddit threads saying avalonia is hard because of the lack of documentation / online tutorials... or other ones saying maui is not beginner friendly or buggy.
I know the answer depends on the typical question "depends on what you're trying to archieve" so i'll explain it briefly now:
My ultimate final goal is to make a IOS/Android - App that is capable of handling this core aspects: user accounts, showing a map with pointed locations e.g restaurants in your vicinity (kinda like google maps) and is able to handle transactions or just in general "flow of money" e.g if you use the app once every day for a year you get 10 bucks. If you need more info just ask me, i'll be happy to explain further :)
but yeah in the end im just at loss becuase of the all the mixed infos out there and dont really know where to continue or what to learn next.
i appreciate everyone of you for your help!
14 Replies
Yes, Avalonia is a XAML-based framework β like most UI frameworks for .NET
And, yes, MVVM is the recommended architecture, like for most XAML-based UI frameworks for .NET
Oh i see, thank you a lot. So next step would be to learn XAML i guess...and then get familiar with MVVM
then i should then be able to create every app i want right?
Regarding the other part, are the threads being overdramatic or can i stick with avalonia?
i dont really want to hit a massive roadblock because of that
Thanks!
I wouldn't look at it as learning Avalonia, XAML, and MVVM in separation
They're integral parts of the same stack
And yeah, you can stick with Avalonia
It's support for mobile is fairly new, if I'm not mistaken, though
Another option for a mobile app might be MAUI
The good news is, it's also a XAML-based MVVM framework, so you can switch between that and Avalonia really easily
how exactly do you do that? i mean just open avalonia and start typing and figure things out along the way or is there some gold-level resource im just not finding?
yeah avalonia is not so old, at this point avalonia or MAUI is just personal preference i guess.
oh another thing just came to my mind maybe its a dumb question tho. since they are both a XAML-based MVVM framework, is every maui tutorial easily translateable to avalonia and viceversa?
Every WPF tutorial is mostly translatable to Avalonia
MAUI is a little too different for that
And, yeah, just make a new Avaolia app and start hacking away. Set youself some simple goal, like making an image viewer or a text editor, and google your way to completion
That's how I learn, anyway
i understand, thank you very much for the useful info i will get to work right away
do i have to close the thread or how does it work? just leave it be?
Again, thanks for your help :)
You can leave it be if you want, or $close it
Use the
/close
command to mark a forum thread as answeredoh alright, i'll leave it for a day or two maybe someone sees this and wants to add something
i'll close it after that
Thanks
C# alone isn't sufficient to create an app. Interfacing with libraries (GUI frameworks or not) is going to be required for anything but the most trivial apps as pretending you're going to write everything from scratch is naive and it will break down at some point anyways. So you need to spend a significant amount of time augmenting your knowledge to make anything useful.
Avalonia just finished a new major version and the docs aren't good yet. So you supplement by reading issues, sample app source code, or the Avalonia source code itself. It's more desktop-oriented than mobile-oriented at the moment.
Maui is definitely mobile-first and likely has better tooling/docs. It wraps native controls...which leads to a lot of bugs that simply can't be fixed until MS does it...and Maui has a huge backlog and a small team.
For the specific app, Maui has a Map control built-in: https://learn.microsoft.com/en-us/dotnet/maui/user-interface/controls/map
For Avalonia, you'd need to use a third-party control like https://github.com/Mapsui/Mapsui or create one from scratch.
Not really sure how either integrates into real world map APIs.
Thats a fair bit of information, thank you very much for this!
at first glance it looks like maui could just punch you in the face if you find a bug that can only be fixed by MS... but i can't imagine it being that bad right? do you have any experience with maui? are those bugs very rare or is it like hell for devs?
I don't think they're that rare. There's a ton of different configurations and it was a problem under Maui's predecessor: Xamarin.
If you need native controls, it's still the way to go. But you might need to change parts of your design as a workaround.
I don't use Maui because I don't need to dev for mobile. There's some decent work going on, but there's a lot left. And it's just not for me.
Alright I see, native controls are not essential so i dont really mind, i guess its another point for me to stick with avalonia then
Thank you!
Was this issue resolved? If so, run
/close
- otherwise I will mark this as stale and this post will be archived until there is new activity.