Live data from Hacker News

Ask HN: Is Xamarin worth learning?

news.ycombinator.com

91–100 of 168 posts

Re: Ask HN: Is Xamarin worth learning?

#91
I've been a life long Microsoft developer. So when I started down the mobile app path, I naturally gravitated to Xamarin. Xamarin allows you to build mobile apps in the best development IDE out there. This is true... but it has it's issues. I've created 3 andoid apps with Xamarin (and tried more), but each time i've run in to bugs or oddities that make life suck. I wish it was better, but if I could go back in time, I would have probably chosen a different language/tool. Maybe Unity if I still wanted to stay with the C#/VS IDE.

One nice thing about it is that all the methods/classes are named almost the same thing as native android. If you want to know how to do something, you can find the android solution and just change a few small things.

So my vote would be to not do Xamarin and to choose a different cross platform development environment. Cross platform is the key. If you do choose Xamarin, I would spend some time and do a little bit of training before jumping in. It's not like the ease of building windows applications in VS.

Re: Ask HN: Is Xamarin worth learning?

#92

iOS developer with multiple years of experience of burning fingers in cross-platform development here. I've tried Cordova/Ionic, Xamarin, Dropbox Djinni, and native iOS development. C++ is the closest I've got the a performant cross-platform solution, even though it go it's own quirks. The problem with Xamarin is it'll always play second fiddle to quick moving targets of Android and iOS toolchains. In my case the Rea…

How would C++ work for cross-platform development? Would you use a framework like Qt, or write platform-specific frontends?

QT is one great option, however I've not used it so far.

I use Djinni IDL from Dropbox to create common logic in C++ and UI Specific code in iOS/Android. It's not at all beginner friendly and you need lot of patience with the setup.

Cons: complex build setup, and C++.

Pros: Blazing fast native performance, and you can easily write common business logic in c++

Start here is you wish to go that path:

http://mobilecpptutorials.com

Re: Ask HN: Is Xamarin worth learning?

#93
What you have to deal with;

* Xcode = iOS bugs + UIKit bugs

* Xamarin = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates

* Xamarin Forms = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates + extra UI abstraction layers + lack of fine level controls & features

Re: Ask HN: Is Xamarin worth learning?

#94

Earlier quoted context omitted.

You are right, on the other hand, Microsoft isn't famous for being able to keep up with itself (especially if you look at the number of deprecated ways of creating GUIs).

UWP is going to change that.

They said the same thing about the last 4 APIs as well.

Re: Ask HN: Is Xamarin worth learning?

#95
post #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 na…

I was extremely disappointed in the development experience, but the core technology is extremely helpful, depending on your use-case.

If your app is just a mobile front-end for a REST API then I wouldn't bother with it: develop two versions of the app with different UI idioms.

If your app does something considerably more complex, Xamarin might also be a good idea. Keeping two drastically different codebases in sync can be a very big task, but I suggest proactively looking at issues people have experienced with it, as well as other differences such as memory management which works very differently to what you're used to as a .NET developer.

However I think a number of responses have strayed from the question, which is "is it worth learning Xamarin". It appears Microsoft bought the technology because it was useful, not to kill it. I don't think the technology will be retired any time soon and can only get better. So long as Microsoft gives this the TLC it needs, it will be a formidable part of any developer's toolkit.. so long as it can get over the really bad reputation it has.

I for one will explore every possible alternative before considering Xamarin again.

Re: Ask HN: Is Xamarin worth learning?

#97
post #77

Xamarin Native developer here, I started off by trying to create a Pokemon Go Map app. Although I got off to a quick start, slowly it downed upon me that I started spending too much time finding fixes for Xamarin issues rather that programming. I used macbook as agent and visual studio as IDE. Sometimes the deployment would take 5 minutes! I then had to restart the agent to fix it. As a programmer I am rather a perso…

I use VS2015 a lot for .Net ASP dev, but when I do Xamarin iOS dev I tend to do it in Xamarin Studio on the mac.

Much better experience, fast deploys/builds. I miss Resharper but can live without it.

Re: Ask HN: Is Xamarin worth learning?

#98

You might want to look into Exponent. They're a YC startup that build a framework on top of React Native. https://getexponent.com/ The team is made up of a few React core devs and some ex-FB folks. They actually helped organize the last official React conf. The scope of what can be built using Exponent is expanding rapidly. And you can build apps that are virtually indistinguishable from Swift/Java apps. If you want…

> you can build apps that are virtually indistinguishable from Swift/Java apps

That is a very tall claim to make without any citations. All the cross-platform toolkits lag behind native swift/java apps by at least some margin, and the claim that JS indistinguishable from swift/Java is highly questionable.

Re: Ask HN: Is Xamarin worth learning?

#99
post #97
post #77

Xamarin Native developer here, I started off by trying to create a Pokemon Go Map app. Although I got off to a quick start, slowly it downed upon me that I started spending too much time finding fixes for Xamarin issues rather that programming. I used macbook as agent and visual studio as IDE. Sometimes the deployment would take 5 minutes! I then had to restart the agent to fix it. As a programmer I am rather a perso…

I use VS2015 a lot for .Net ASP dev, but when I do Xamarin iOS dev I tend to do it in Xamarin Studio on the mac. Much better experience, fast deploys/builds. I miss Resharper but can live without it.

Very recently Microsoft introduced VS for Mac (although I understand it's sort of a preview version).

I don't know about OS X, but I used Xamarin Studio on Windows and it was horrible.

Re: Ask HN: Is Xamarin worth learning?

#100
I have read some fairly negative comments in this thread. I have experienced many of the negative aspects myself, and while I don't disagree with them, I would still say that it is worth learning this technology.

Microsoft's strategy with bringing a phone to market appears to have failed so they're going to have to take the next best thing which is owning the development tools. I expect the outlook for the software to be extremely bright and if you plan to be a professional mobile developer I strongly suggest learning it.

Of course, this does not excuse you from learning how to develop for iOS and Android natively, but it is a great addition to your toolkit as a developer. It's also another box to tick for the recruiter or hiring manager.

Post reply on HN