Live data from Hacker News

Ask HN: Is Xamarin worth learning?

news.ycombinator.com

31–40 of 168 posts

Re: Ask HN: Is Xamarin worth learning?

#33
post #2

MS stack developer I think yes, MS invests a lot into the Xamarin platform, so I expect it to become more stable and more developer friendly than it was before. I have a plenty of experience doing cross platform mobile development and I tried several other alternatives, Xamarin was actually the best - easy to start, easy to implement stuff, fast enough on mobiles, has a lot of components, etc. Also I would like to re…

XAML and MVVM are much nicer to work with then their iOS and Android equivalent. WPF/UWP/Xamarin.Forms are very underrated.

You can do the MVVM pattern on iOS and Android; it's an architecture choice.

Re: Ask HN: Is Xamarin worth learning?

#34

Xamarin has unfortunately muddled their branding. Xamarin Forms is not Xamarin, it is a DSL. You do not need to use it. At its core Xamarin is c# with pinvoke to the underlying native platform implementation. You'll still need that platform knowledge but now you can share the core business logic between platforms. To get maximum code share you'll need a MVVM framework such as ReactiveUI which is based on the Reactive…

Agreed, people seem to think Xamarin == Xamarin Forms, while the real power lies in shared business logic with native UIs, in my opinion.

Xamarin Forms may be useful for internal super-CRUD LOB apps that really are just a collection of input fields, but as soon as you do anything customer facing, you should be using the standard native UI approach.

Also +1 for ReactiveUI, it completely changed the way I build apps for the better.

Re: Ask HN: Is Xamarin worth learning?

#35
I've been extremely disappointed in Xamarin. The main issue is that you don't really get code sharing. I would estimate that only 25% of the Xamarin project I manage is cross platform code. The rest is this bizarre merger of native APIs with C#. It's difficult to write because of the lack of examples and documentation. It's also buggy, even with simple things like page views.

The real problem is that I can write a native iOS app in a fraction of the time it took to write a Xamarin app. Swift has improved iOS development speed so much I'm not convinced we need cross platform app engines (excluding games).

As for Android, yeah, native Android sucks. Activities and fragments are the worst idea anyone has ever had and no one agrees on best practices. But even with cross platform high levels of abstraction like Unity3D you still need to understand them. So, my current advice is to suck it up and write it native twice. Pick your favorite OS, start with that, and then port the logic.

Re: Ask HN: Is Xamarin worth learning?

#36
post #23
post #18

I've used Xamarin for several projects and I greatly regret that decision. Granted, most of my hatred is targeted towards Xamarin Studio and Xamarin.Forms so if you use Visual Studio and build only native UIs then maybe your experience will be better. However, in my experience, both Xamarin Studio and the build system are buggy as hell. Random or inexplicable build errors, things that break during updates, incompatib…

I can't find anybody that has done significant work with Forms and isn't complaining about it. It's giving the platform a really bad rep.

Forms is not Xamarin. It's a DSL in the form of a NuGet (aka npm/cpan) package developers can use to attempt to ignore the differences between the platforms.

It's kinda like swing. Great for throwing together a line of business application and getting xplat ui for free. It's possible to build a performant application with the framework but it abstracts subtle things that come back to hurt you. For example. Forms apps on Android is a single activity, always, period. Fragments are cycled in and out of this activity as navigation occurs. This introduces subtle annoyances related to memory usage as the entire app must be running vs thin slice. It transforms the lifecycle of Android into the UWP or iOS lifecycle.

Again this is Xamarin Forms. It is not Xamarin. It has its place but please don't confuse the product due to poor branding.

Re: Ask HN: Is Xamarin worth learning?

#37
No one is mentioning how expensive Xamarin is and there is no proper free version.

In the free version you app expires after 24 hours AND it has to be below a certain size, I dont remember maybe 2 MB or something.

To make something you have to cough up a lot of money, and the sad part is this information is incredibly hard to find, you only stumble upon it when you download GBs of files.

Re: Ask HN: Is Xamarin worth learning?

#38
post #17

When using Xamarin I always get the feeling I'm writing Java code--but in C#. The cross-platform project is a blessing, it's truly amazing to be able to write code once and use it on all platforms (especially if you use Dependency Injection for even more sharing). The downside to this is that making a UI seems to even out your gained time--it's extremely messy and even complicated. Code that's valid in C# produces va…

> The downside to this is that making a UI seems to even out your gained time--it's extremely messy and even complicated. Code that's valid in C# produces vague underwater bugs in Java code, which makes you keep hacking around until you find a working solution.

Interesting, I had the exact opposite experience, since the Java->C# mappings often reduce much of the boilerplate code that you have to write if you were using Java (e.g C# events, properties, etc..)

I also never came across any bugs in the mappings, but I can't say for sure that there aren't any.

Re: Ask HN: Is Xamarin worth learning?

#39
post #17

When using Xamarin I always get the feeling I'm writing Java code--but in C#. The cross-platform project is a blessing, it's truly amazing to be able to write code once and use it on all platforms (especially if you use Dependency Injection for even more sharing). The downside to this is that making a UI seems to even out your gained time--it's extremely messy and even complicated. Code that's valid in C# produces va…

I've written a few apps in C++/COM with a UI written in Visual Basic. The VB app was 'button code', with the heavy lifting done in COM. I wonder if this approach would work for Xamarin - write the core logic in C# but leave the UI in Java.

Re: Ask HN: Is Xamarin worth learning?

#40

No one is mentioning how expensive Xamarin is and there is no proper free version. In the free version you app expires after 24 hours AND it has to be below a certain size, I dont remember maybe 2 MB or something. To make something you have to cough up a lot of money, and the sad part is this information is incredibly hard to find, you only stumble upon it when you download GBs of files.

This is 1 year+ old information. Go look at the pricing page for a pleasant surprise.
Post reply on HN