Hacker News new | ask | show | jobs
by pier25 3707 days ago
I recently spent a few weeks with it and decided to not use it for a cross platform mobile app I'm working on.

1) The documentation seems good at first, but some parts are outdated and I did find myself stuck with it a number of times. iOS and Android docs are lightyears ahead.

2) The code editor in Xamarin Studio for OSX is mediocre. I've tried using VSCode instead but intellisense didn't work. I imagine using Visual Studio must be a lot better. Both Xcode and Android Studio are much better in my experience. Maybe with the upcoming C# IDE from JetBrain this will change.

3) You need to learn iOS/Android development anyway. Xamarin Forms works well for prototypes and such but in the end you need platform specific UIs and libraries. So you need to do the leg work in the native docs (Swift/Java) and understand how these APIs/languages work and be able to "translate" those to C#. It's double the work compared to writing directly in native code.

4) The community around Xamarin is minuscule. If you get stuck there isn't much material out there to help you compared to native iOS or Android. Also in my short experience their forums were not very helpful. I imagine with an expensive corporate account with dedicated support that must be very different, but for a solo developer it feels like you are on your own.

As much as I like C# as a language I really don't see the point of Xamarin in my case. I started learning Java/Android form scratch and I'm having better results in less time. I will have to work more to get both iOS and Android, but I won't feel miserable and the dev experience in OSX will be awesome with first class tools.

I'd say Xamarin would be perfect for someone that already knows how to develop for iOS and Android but hates working with Swift and/or Java, loves C#, and has access to Visual Studio in Windows.