3 ms·
Okay hold on, Xamarin forms doesn't just work. That is a bold faced lie. Xamarin, like many other languages and frameworks has its share of zealots. Coming from
by nobody271 8y ago
Okay hold on, Xamarin forms doesn't just work. That is a bold faced lie. Xamarin, like many other languages and frameworks has its share of zealots. Coming from a basically agnostic position on mobile development technologies I have found Xamarin to be pretty difficult to work with.
Doing UI work in Xamarin is incredibly verbose while at the same time being underpowered. It certainly does not just work. To give you a better idea of the real state of Xamarin we are JUST NOW getting the ability to underline text https://xamarinhelp.com/hyperlink-in-xamarin-forms-label/ https://xamarinhelp.com/hyperlink-in-xamarin-forms-label/.
But Xamarin is chock full of other gotchas. A few off the top of my head:
- there is no real file picker (even third party) let alone a great file picker that can pick files locally and remotely (like from google drive).
- there are a surprisingly limited number of controls available and native or not they often look terrible.
- build times average one to two minutes and the debugger doesn't work about 50% of the time.
- a lot of APIs that you think are supported are not. for example, they say System.Drawing is supported but it's not. So what you end up doing is writing custom implementations for each platform.
I could go on but suffice it to say developing in Xamarin is not something that just works. It ONLY works because developers spend a great deal of time making sure that it works.
As an aside, for my next Xamarin project I am considering doing the UI in a WebView while using C# as the back end. It would be more like a web application than a Xamarin application which would hopefully mean a nicer UI while still being able to leverage C#.
- gagege 8y ago> doing the UI in a WebView while using C# as the back end. I have to ask, why not just do a mobile web app?
- nobody271 8y agoYeah, good question. I agree, lol. In my particular case I do need some C#/Backend functionality that I don't want to have to call a server for.
- gagege 8y agoLet me guess... Some kind of legacy business logic library that nobody in their right mind would want to port to JavaScript? I don't blame you.
- nobody271 8y agoThat sounds like a use case but in reality it wouldn't work anyhow because it probably relies on Windows functionality that hasn't been ported to or doesn't have a one to one mapping with iOS and Android. No, It's a steganography application so I don't want to do any of it in a browser which I imagine could be an attack vector.
- gagege 8y agoYours is a good use case. Doing everything in JS is so common now that I didn't even think about hiding the source code. I haven't considered it as a factor in a long time, but I do remember it being considered somewhat of a disadvantage for Javascript around 2010.
- ivm 8y ago> I am considering doing the UI in a WebView while using C# as the back end Why not Xamarin + MvvmCross + native UIs? I just finished an iOS + Android app like that and while learning Android UIs on the go was a bit painful (build times are longer when you modify resources), I had no issues except for Visual Studio for Mac quirks.