Live data from Hacker News

Ask HN: Is Xamarin worth learning?

news.ycombinator.com

141–150 of 168 posts

Re: Ask HN: Is Xamarin worth learning?

#141
[Full Disclosure: I work on the Xamarin team at Microsoft. I’m familiar with the Xamarin tools and want to offer my thoughts and guidance on the original post. Opinions here are my own.]

The answer to whether or not you should learn Xamarin depends largely on what you are trying to accomplish. Let me explain.

If you were to approach me as someone interested in Xamarin, I would start by asking what kinds of apps you are looking to build, how complex they are, and how much you care about UI quality and customization. This is to help decide between Xamarin and other xplat solutions, but also between Xamarin native and Xamarin.Forms, our cross-platform UI toolkit. I’d ask what you hope to gain from a cross-platform approach, so we can optimize for that. I’d ask what parts of your app you are looking to share, and how you plan on architecting your app to allow that.

I’d ask how much experience you have with .NET, and if being able to use C# and/or Visual Studio makes you more productive. I’d ask if you have an existing codebase you want to connect to. Your familiarity with native iOS development is a plus - the particulars of iOS and Android add to the learning curve, but you can’t make good native apps without knowing the basics of the platforms you’re building for.

From these considerations, we would decide if Xamarin is a good fit for you. It would be naive to say that Xamarin is the ideal solution for everyone, but it is a very good solution for many people.

At the end of the day, Xamarin is free, and it takes less time to get a handle on developing with Xamarin than it does to read this thread. I encourage you to try it out and decide for yourself.

Re: Ask HN: Is Xamarin worth learning?

#142
post #19

I am using Xamarin.Android currently for a project, and I really like it. One thing I love is that because it maps so closely to native Android development, you don't need to look specifically for Xamarin.Android tutorials/SO Answers/blog posts etc to learn how to do something. Most of the time, information targeted towards native Android development will apply to Xamarin.Android also, and you can basically map examp…

It maps closely to android development? Then how is that a good soln for cross platform Dev?

I'm no mobile developer but I guess that being able to share classes and libraries(that are non UI/mobile specific, mostly services and domain/business logic) among all the .NET platforms. So you could use the same libraries for an android,ios, windows phone client, a desktop GUI client, a webserver, a static website.

In theory at least...

Re: Ask HN: Is Xamarin worth learning?

#143

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.

Hi, from Xamarin here - what page are you referring to? Community is free, there are a few extra features that come with VS Enterprise. Those are just nice-to-haves, like other VS enterprise features. You can develop with Xamarin for free.

Re: Ask HN: Is Xamarin worth learning?

#144

Earlier quoted context omitted.

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

Hi, from Xamarin here - what page are you referring to? Community is free, there are a few extra features that come with VS Enterprise. Those are just nice-to-haves, like other VS enterprise features. You can develop with Xamarin for free.

My point exactly. :)

Re: Ask HN: Is Xamarin worth learning?

#145
post #102
post #90

Earlier quoted context omitted.

I occasionally go on rants when remembering the WPF days and realizing I now spending 30% of my time fixing dumb stuff like NPM breaking, gulp going crazy, or realizing I'm using 6 month outdated tools because the kids found a better one. I felt like I really had a chance to learn WPF.

In my opinion WPF was MVVM done badly, and never fixed. Having to implement complex converters just to map a couple of radiobuttons to an enum was ridiculous. The amount of boilerplate made it look like a joke. As someone said, WPF makes the difficult simple, and the simple - next to impossible.

I think you statement is true when people tried to follow MVVM with a religious zeal. In my experience WPF/MVVM worked far better for people who took a more pragmatic approach to the code behind.

I always found that WPF/MVVM made the 90% use case really easy, and the 10% use case ridiculously hard. So I usually used MVVM for the 90% case, and the code behind for 10% case. People I know who shared this philosophy with me had a lot more luck with WPF then the zealots.

Re: Ask HN: Is Xamarin worth learning?

#146

Earlier quoted context omitted.

How would you distinguish between the two if both are running above 60fps, which RN effortlessly can?

> which RN effortlessly can* I respect RN and the engineering behind it, however how can it beat the raw, on-metal performance of Swift/Java? I'm not talking about CRUD/TODO list apps like https://li.st , but performance critical apps like Spotify etc. Facebooks own apps are written in native code, IIRC. I would love to be proven wrong here, and it would be great if you can provide some sources.

React Native is primarily aimed at writing cross-platform UI code. When it comes to performance critical code, or integrating heavily with native UIs (eg the media streaming abilities of Spotify) it's perfectly fine to drop down to native code. RN provides an easy way to bridge between the JS and these native components.

Re: Ask HN: Is Xamarin worth learning?

#147

Earlier quoted context omitted.

How would you distinguish between the two if both are running above 60fps, which RN effortlessly can?

> which RN effortlessly can* I respect RN and the engineering behind it, however how can it beat the raw, on-metal performance of Swift/Java? I'm not talking about CRUD/TODO list apps like https://li.st , but performance critical apps like Spotify etc. Facebooks own apps are written in native code, IIRC. I would love to be proven wrong here, and it would be great if you can provide some sources.

[deleted]

Re: Ask HN: Is Xamarin worth learning?

#148

Earlier quoted context omitted.

Hi, from Xamarin here - what page are you referring to? Community is free, there are a few extra features that come with VS Enterprise. Those are just nice-to-haves, like other VS enterprise features. You can develop with Xamarin for free.

My point exactly. :)

Aaaah I had misread :)

Re: Ask HN: Is Xamarin worth learning?

#149
post #74

Earlier quoted context omitted.

I've several React Native apps in both appstores. I think while React Native is not suited for all types of apps, there is a sweet spot for certain projects where it really shines. The development speed is really unparalleled, with hot reloading you can see your app changes as soon as you hit 'save' in your editor.

what is the sweet spot? I'm faced with developing a fairly simple thing and it would help to know a little more about learning curve ( I use react ), downsides, etc.

Small to medium sized apps (not games) where you can sacrifice some UI polish to get them delivered quicker and on both platforms. Have a look here https://facebook.github.io/react-native/showcase.html If you know React, learning React Native would be pretty easy, plus you can use many of react libraries like redux, etc.

Re: Ask HN: Is Xamarin worth learning?

#150
post #78

Earlier quoted context omitted.

It maps closely to android development? Then how is that a good soln for cross platform Dev?

You have access to all of the same namespaces that a native app does, and also access to all of the namespaces included in .net Framework Standard. You can stay within .net Framework Standard and share that code between your Android/iOS/Windows Phone(lol) app, and reach into the native libraries when you need platform specific functionality.

if the xamarin cross platform sdk maps closely to one mobile platform, how does make it intuitive for iOS developers? Or are the classes aliased for each target platform?
Post reply on HN