Live data from Hacker News

Why choose Xamarin?

pauloortins.com

11–20 of 68 posts

Re: Why choose Xamarin?

#11
post #3

I realize that the difference of $700 could be made up in improved development performance but I really, really wish they'd allow VS support for the indie license. It's not a case of saving more it's a risk/reward thing for me. I can see the possible value but, without being able to pick it up quickly in an environment I know I can't justify either spending an extra $700 or picking up another IDE/workspace along with…

Have you ever tried Xamarin Studio? It's not as good as Visual Studio but it's a very decent IDE. I'm currently using it instead Visual Studio.

Is it significantly different from Visual Studio? How easily could a VS user transition to it?

I think I'd be willing to drop $300 of my own money if I could put my many years of C# experience to work developing iOS and Android apps.

Re: Why choose Xamarin?

#12

How does Xamarin compare to a more open (and free) solution like MonoCross?

You can't really compare them. MonoCross is a crossplat MVC framework that you use on top of Xamarin's Monotouch/droid/etc. to increase your shared code. Xamarin allows you to write about the same code for multiple platforms, but it doesn't make it easier to share the same exact code. E.g http://components.xamarin.com/view/xamarin.mobile The code looks similar across platforms, but it's not exactly, the same - you ca…

Ah, thanks, I didn't catch that MonoCross required Xamarin - it's not obvious from the homepage at all (or even looking for it on any page).

Was hoping to use it to learn some C# (beyond the simple hello world type of thing) - Xamarin's pricing is pretty steep for an amateur/hobbyist.

Re: Why choose Xamarin?

#13

Earlier quoted context omitted.

Have you ever tried Xamarin Studio? It's not as good as Visual Studio but it's a very decent IDE. I'm currently using it instead Visual Studio.

Is it significantly different from Visual Studio? How easily could a VS user transition to it? I think I'd be willing to drop $300 of my own money if I could put my many years of C# experience to work developing iOS and Android apps.

The only thing that I'm really missing is Resharper. For other things XS is very similar to VS. Remember that the cost is $300 for each platform, so you have to spend $600.

Re: Why choose Xamarin?

#14
Xamarin's IDE is not as good as VS, but it is often much better than XCode, and C# and F# are both more pleasant languages to work in for people with the vast majority of experiences (C++, Java, .Net, Ruby), so even without all the cross platform goodness I prefer to work with Xamarin. (Swift may change some of that, I haven't looked into it yet).

I've never had a problem easily translating Obj C StackOverflows or blog posts to Xamarin/C# so essentially you get the whole community as well, with no worries about Xamarin specificness.

That said, I think their current pricing structure makes sense for them right now. They are not 'quite' at the polish level, not quite at the level that average people can do things averagely. There is still just a little more cross platform knowledge and effort required. The price serves as both a barrier to entry to manage the community size, and provides them enough capital (on top of outside investment) to keep investing toward a fully mass market approach.

Re: Why choose Xamarin?

#15

Earlier quoted context omitted.

Have you ever tried Xamarin Studio? It's not as good as Visual Studio but it's a very decent IDE. I'm currently using it instead Visual Studio.

Is it significantly different from Visual Studio? How easily could a VS user transition to it? I think I'd be willing to drop $300 of my own money if I could put my many years of C# experience to work developing iOS and Android apps.

We just did a webinar about Xamarin Studio last week in case you're interested http://xamarin.wistia.com/medias/z797ghqlps

Re: Why choose Xamarin?

#16
The killer problem with Xamarin is to use it effectively you have to be expert in both Xamarin and the native platform you're targeting. This is because most of the work of mobile apps ends up being tied to the UI, which has a platform specific API.

If your app happens to deviate from this, then at least for Android once more you're in platform specific land (for example, services), but I've seen people doing things like rolling their own ghetto mini database in C# to give themselves a portable data model, when it would be faster to use SQLite on Android and iOS, just to justify the decision to use Xamarin at all.

So, it can work, but people have a tendency to greatly overestimate how much of a mobile app can actually be platform independent anyway. Games are a different proposition, and this is one reason why Unity has cleaned up.

Re: Why choose Xamarin?

#17
It's a common misconception that phonegap and cordova don't have the same access to native APIs. They do, but they are limited by what plugins are available, and your ability or interest to build ones to fill the "gap."

For example, I wrote a plugin recently to send low-level broadcast UDP packets on Android and iOS through Cordova. The plugin API is just a bridge and sets up a calling convention for Javascript-to-native code.

Re: Why choose Xamarin?

#18
post #9
post #3

I realize that the difference of $700 could be made up in improved development performance but I really, really wish they'd allow VS support for the indie license. It's not a case of saving more it's a risk/reward thing for me. I can see the possible value but, without being able to pick it up quickly in an environment I know I can't justify either spending an extra $700 or picking up another IDE/workspace along with…

It's clear to me that Xamarin is trying to get everyone to pay right now. The free license won't even allow you to build the Xamarin.Forms demo, and Forms is one of the most significant new features they added. Cross platform apps with a common UI and codebase, no more separate views for each platform, and data binding! I think they're scaring off small developers by requiring the several hundred dollar investment to…

Good decision since Xamarin is much more native when compared to PhoneGap/Cordova (Titanium is another thing I've been looking at). The student discounts for $99/year/platform should be the normal price.

Re: Why choose Xamarin?

#19
Personally I much prefer Ruby Motion to Xamarin. I like ruby more, it's a closer work flow to my standard python/django, Ruby/Rails based workflow (terminal and text editor based). Intellij provides a great ide (MUCH better than Xamarin studio, one of my least favorite IDE's all though visual studio is even better than intellij's offerings IMO). In version 3.0 they will offer Android support and at that point I think Ruby Motion will be the best native app option.

Almost forgot to mention that, all of the ruby is compiled down to actual Native obj-c runtime code. Great performance and look, as good as a regular Obj-C or Java app.

Re: Why choose Xamarin?

#20

The killer problem with Xamarin is to use it effectively you have to be expert in both Xamarin and the native platform you're targeting. This is because most of the work of mobile apps ends up being tied to the UI, which has a platform specific API. If your app happens to deviate from this, then at least for Android once more you're in platform specific land (for example, services), but I've seen people doing things…

YMMV but for me, there was not 'learning' of Xamarin. There really is no Xamarin framework - there is the mobile frameworks themselves for which there is an almost 1:1 translation. CalculateFoo in ObjC or Java will in nearly every case be CalculateFoo in C#. In the cases where the recommended method is to use a higher level abstraction (like for table data in iOS), the option to use a mirror of the ObjC pattern is there but there is an easier approach available if you choose that.

The key for me was understanding the idiosyncrasies of both Android and iOS and their patterns and then using C# to craft as much reusable code as possible. It drives my approach and I failed to get the re-use level I wanted on my first true cross platform app build, but since I have learned those lessons I have gotten much better at it.

(note: I have yet to use Xamarin.Forms, this experience is based on Xamarin in the past 15 months)

Post reply on HN