Hacker News new | ask | show | jobs
by wmil 3769 days ago
People focus far too much on different languages. The fact that Android and iOS have very different UI libraries is usually a much bigger problem.

Xamarin's big selling point is a cross platform ui library.

1 comments

Lowest common denominator. Terrible for UX for everything but the most basic UI designs, sorry.

Each platform requires UI work to make it really fit the platform in question.

True, but Microsoft is such an enterprise company that it fits their customer base really well (e.g. "I don't care if it's pretty, I just need an inexpensive-to-build app for my 3,000 workers that runs on either platform").
I get that. But I also think that companies are slowly understanding that UI and UX matters. Even in the enterprise sector.
I think most people don't understand Xamarin. Up until pretty recently Xamarin had no cross platform UI components. That is although all logic was shared, views had to be written separately for the different platforms - just like React Native.

With Xamarin Forms this has changed - you can add a Xamarin Form component and this will work adapt itself across the different platforms. The key word there is adapt - it is not like an HTML page, a Xamarin form input will look different on Android and iOS by default.

So I think your point, while valid, does not apply in any way to Xamarin!

> So I think your point, while valid, does not apply in any way to Xamarin!

I'm afraid GPs point is still valid - UX (the experience) is more than just native/native-looking widgets, but how the app conforms to platform conventions. For example, iOS apps typically include(d?) a back button at the top left corner; even if the button is rendered faithfully as an Android widget - that app will feel alien on Android (it was also an easy way to spot lazy iOS 'ports'). I think edge-swipes are another iOS convention for navigating back/forward, which would be foreign on Android, so I fully agree with GPs statement: Each platform requires UI work to make it really fit the platform in question

That was his point though. You build the UI in Xamarin.Forms and on the iPhone there is a back button in the top left corner, on Android there isn't. Automatically rearranging and conforming to the platform guidelines.
Yes, the most noticeable differences are implemented. But this is very a superficial look. From the developer's page:

https://xamarin.com/forms

Xamarin.Forms is best for: • Apps that require little platform-specific functionality

Xamarin.iOS & Xamarin.Android are best for: • Apps with interactions that require native behavior

So I think your point, while valid, does not apply in any way to Xamarin!

I'll believe it when I see it. Cross-platform UI libraries like Qt, Gtk, SWT, etc, just never end up choosing quite the right widgets or having exactly the right look-and-feel as natively-designed apps.

If cross-platform is a bigger requirement than producing the best-possible UX, then perhaps Xamarin could deliver. I see this being a big deal with enterprise software. But that's almost never the case for most consumer-facing software; you're always much, much better off building your presentation code in a native UI toolkit.

but i would say for writing business apps, this isnt really an issue

most business users would accept that their apps, look slighly ... unlike common apps on the platform

Which users? Admins don't care about UX, they care about ticking checkboxes to appease management. End users are people like you and me, they want quality from their software. They may be forced to work with less then stellar software, but that does not mean they accept it.