Choose between .NET Maui or Xamarin Forms to learn mobile app development

Hi guys, I want to start learning mobile app development and do not know which of the above to choose? Any ideas please? Using Visual Studio with C#.
43 Replies
SCShocked from Human Resources
if you want to generally start with mobile app dev also cosider taking a look at Kotlin with Jetpack compose if you want to use C# for it, id say go with MAUI
Buddy
Buddy3mo ago
Note that .net maui is dogshit. Only decent option we got for .NET mobile sadly, however it comes with tons of bugs and issues. Also lacks useful controls. Bitwarden even tried to use it but ultimately didn't and just moved to making their app native (Kotlin on Android and Swift on IOS).
Esa
Esa3mo ago
Kotlin is a joy to work with. So I wouldn't be opposed to that if I were you.
Manie Verster
Manie Verster3mo ago
Hey, I am open for anything. Only just now starting my learning process. I will look at your suggestion about Kotlin and Jetpack compose. Programming for Android because my cell phone is Android. Will maybe look at IOS later on. Thank you everybody for the comments.
SCShocked from Human Resources
For IOS you could go swift Note that all, Swift, Jetpack compose and MAUI can go cross platform for Android and ios if you wanted to Its just about what workflow you might prefer Kotlin really is chill Reminds me a lot of C# at times
cap5lut
cap5lut3mo ago
i actually wanted to throw Avalonia into the pot of frameworks, but cuz
Only decent option we got for .NET mobile sadly
im now curios if its that crappy on mobile
Esa
Esa3mo ago
yeah I worked with kotlin before C#, so it feels very natural to recommend it for me haha
SCShocked from Human Resources
I wish C# had some GUI styling like Jetpack compose I'm really not a fan of the XML/XAML styling :SCgetoutofmyhead:
Esa
Esa3mo ago
I only ever did Kotlin for server code, so I don't know how it's GUI capabilities are. But I've heard they're mostly good.
cap5lut
cap5lut3mo ago
it replaced java for android app development as de facto standard a long time ago, so i guess it has quite good capabilities
SCShocked from Human Resources
:soPortuguese:
Buddy
Buddy3mo ago
Sadly it is At least some time ago it had frequent crashes (in v0.11) On android
SCShocked from Human Resources
Jetpack compose: :Kadse:
cap5lut
cap5lut3mo ago
anyway i would at least say, dont get started with xamarin forms, its end of life is may 1st 2024, so less than a month that was the last version i used too, tho just for some desktop gui and mainly to play around (i hate GUI development)
Manie Verster
Manie Verster3mo ago
Ok guys, now I need to ask my next question from you. What do I need to download to develop with Kotlin and Jetpack Compose. Checked it out in Google but getting mixed signals or my I am mixed up. Can I develop this in Windows? Then how do you normally handle the GUI development?
cap5lut
cap5lut3mo ago
never had to do much gui dev in my jobs, mostly some just some quick tools where clicking some winforms stuff together was enough
SCShocked from Human Resources
Android Studio
Manie Verster
Manie Verster3mo ago
Thanks.
SCShocked from Human Resources
:soPortuguese:
leowest
leowest3mo ago
@Manie Verster there is a lot of misinformation around these days. Xamarin is dead pretty much and MAUI took over its place. MAUI can get u pretty far but its not has many caveats to get into. If you want to learn mobile dev specifically with c# MAUI will get u there, for many specific features u will have to find a 3rd party library or write it yourself which is what every hates but you can solve nearly everything your self with MAUI. For desktop there is avalonia which is the same look'n'feel for desktop and run on Linux which MAUI Does not which is a big plus as well as it being a newer ui framework with potential and getting fixes and improvements unlikely say WPF which is windows only and stuck at its place. But the question is, does it need to be mobile? Why are u choosing mobile? Do you already know asp.net blazor/razor? or MVC? have u worked with any other ui frameworks?
Manie Verster
Manie Verster3mo ago
I was about to start on Xamarin and so glad I asked the question here. I know just about nothing about mobile development so I did some research but due to my lack in mobile knowledge only saw the VS platforms. Now busy installing Android Studio and then off to do some tutorials. Just to save time, any ideas for some great tutorials maybe anyone used already? This was meant as reply to @leowest
TrattTratt
TrattTratt3mo ago
Isent flutter a thing nowadays for cross platform mobile apps? I heard from someone it was simular to C# but I dont know ive never tried any of it I watched a yutuber, Kalle Halldeen or something like that, he build apps with flutter, dont know anything about it but maybe its something to look into if you dont find the other options interesting
Manie Verster
Manie Verster3mo ago
Yes, well I always developed only desktop apps and had so many people ask me if I had that application available for mobile and had to always say no that's why I decided on mobile. No, I have not worked on much other ui frameworks than VS win forms. A little bit on ASP.NET but never created anything new there. I know you can develop for mobile on asp.net. Never Blazor/Razor or even MVC. Would you rather recommend that? The applications I want to develop on mobile is Recipe Planner for a chef/household, Vehicle service/repair management application for a workshop/garage aimed mostly at one man businesses and other apps on that trent. Thanks I will have a look.
leowest
leowest3mo ago
definitively achievable with MAUI on its current state. but as alternative blazor with MAUI has been popular as well that is assuming u want to stay in the c# realm
Manie Verster
Manie Verster3mo ago
I like C# and my first language that I learnt was Visual Basic. Did that most of the time but nearly a year ago started on C# and actually like it very much. I think however a person must always be open to learn something new. If MAUI is as bad as everybody else said then I am ready for a new experience. I have to tell you I am 64 years old, retired and development/programming is my passion and I do this to keep me busy. So, I do not have clients breathing down my neck for anything. Doing this like a hobby.
cap5lut
cap5lut3mo ago
this discussion and especially this part gives some overview it seems, even if its ~6 months old. maybe it helps for ur decision making
TrattTratt
TrattTratt3mo ago
If you want to try javascript/typescript and build mobile cross platforms apps I think React Native is pretty popular, never tried it myself but It will be my next new thing to learn
SCShocked from Human Resources
React native is so terrible to work with :SCshocked: And the performance suffers a lot from it too But idk I just have a very big dislike for untyped languages that rely on packages to stay relevant Same reason I hate python with a passion
TrattTratt
TrattTratt3mo ago
okey interesting, what would you chose to go with instead?
SCShocked from Human Resources
If they want to go native I'd say Swift or Kotlin Swift for IOS and Kotlin for Android Tho both swift and Kotlin will actually compile to Android and Ios regardless Their workflows also seem very clean (or at least as clean as mobile app development goes) with both also using pretty established and well maintained languages Kotlin has the benefit of being able to interact with native Java code and reverse I'm very new to mobile development and i must say from all the frameworks and languages I've picked, my best experience came from Jetpack Compose and Kotlin (i have not tested Swift due to me not owning any apple device so native testing wouldn't have been possible) Kotlin is like, very beginner friendly too, specially for people coming from languages like Java or C# And as far as I know you can be sure that your code structure will stay valid for a long time Unlike in Javascript where you have the "new framework of the week" or some random package conflict because of XYZ You can still slowly migrate your old XML app structure into jetpack compose with no issue, so it's backwards compatible with old workflows too which is great
TrattTratt
TrattTratt3mo ago
okey I see, im choosing between building for IOS or cross platform bec almost everyone (in my country) uses iphones
SCShocked from Human Resources
Note that app store and play store have very different rulesets so when making your app cross platform you can expect to cut off a lot of features due to that My workflow is stupid but I actually make the same app like 2 times in Kotlin and Swift because it allows me to get the max performance and max features And it won't make another version suffer if one of the distributors decide to silently push new rules and restrictions (which Apple has done a lot in the past)
Manie Verster
Manie Verster3mo ago
How easy will it be to create the app that you created in Kotlin in Swift if need be? Do you have to create it again in Swift or is there an easy way?
SCShocked from Human Resources
If you choose either you should have the option to just compile it for other systems too But I haven't looked into it, I only develop native
Manie Verster
Manie Verster3mo ago
Thanks I will look into that.
Manie Verster
Manie Verster3mo ago
This is also the reason I want to go mobile.
No description
cap5lut
cap5lut3mo ago
didnt expect that even in the 2000s mobile development that much higher tho if ya add web dev, thats still more than anything else
Buddy
Buddy3mo ago
Is that because mobile developers don't know what they are doing so they google? :when:
cap5lut
cap5lut3mo ago
*shrugs* maybe a lot of apps are just SPAs with a thin web view wrapper
Manie Verster
Manie Verster3mo ago
I read this https://github.com/AvaloniaUI/Avalonia/discussions/13257 discussion and although I am an avid Microsoft developer for over 20 years already, there just seems to be too many issues and little support for Avalonia or Uno. I think I am going to give Android Studio a go. However, I do not need to rush into anything I will keep my ears on the ground for new developments.
GitHub
What is the current state of mobile development with Avalonia ? · A...
I'm trying to make a long term decision for mobile development with C#, coming from Xamarin Forms. I see that Avalonia has only supported mobile since June, and many mobile specific elements do...
Manie Verster
Manie Verster3mo ago
Well, this mobile developer does not yet know what he is doing and that is why I Google. My boss at my previous workplace always, whenever I come to him with a problem, said: "Google is your friend." So even when I think I do not know or I think I know, I Googled and I am not ashamed to say that.
cap5lut
cap5lut3mo ago
well, acquiring information is an important skill after all ;p
Want results from more Discord servers?
Add your server
More Posts
Unit Testing with NUnitHello everyone. I got this service that is called by a controller and gets data in the Db. ``` publi✅ How can I connect my Xamarin app to my local API?I have an API running in my machine and for test purposes I only need it to be local.I have made the mistake of choosing to use webforms please help( this is has to be done in webform)for some reason when i use Response.Redirect("QuestionForm.aspx"); it doesn't direct me to the form Error CS1502; Unity Mobile DevelopementHow do I fix this? ```public class DLLocalizationManager : LocalizationManager { public DLLocaliInstalling an App to unlock USB debuggingHello. I have a strange problem. I was given a task at work that requires me to display the screen I'd like to ask for a little help from someone who has used the HttpServer classI'm trying to implement this class in te Godot game engine but I can't make it receive http requestsUnity MonoBehaviour and Photon ConfusionI don't know how to program, but I'm trying to get an old Unity mobile game to run that seems to havList not returning all matching elementshey, I have this method ``` public List<T> GetStatementsOfType<T>() where T : ASTStatement { retCurrently Issues with Mapping (Mapperly), in debug mode when call made to API it exitsRepo: https://github.com/Mozin0/ProjectManagement/tree/main/ProjectManagement SubTasks mapping doessans-io pattern in .NET libraryI'm a big fan of writing sans-io implementations https://sans-io.readthedocs.io/ of various protocol