Live data from Hacker News

Some thoughts after (almost) a year of real Xamarin use

estaun.net

61–70 of 113 posts

Re: Some thoughts after (almost) a year of real Xamarin use

#61
post #46

Earlier quoted context omitted.

Sure, I'm not disputing tradeoffs. > If you want an iOS, Android and web app as soon as possible with a decent UI on a limited budget, Your chances of business/users/engagement success quickly dwindle if that's the rationale.

So how would you rate a PhoneGap UX compared to a native UX? I agree the latter is better but I don't see the former as significantly worse. If you have limited resources, you've usually got the choice between supporting multiple platforms with a decent UX or a limited number of platforms with a great UX.

If you have limited resources perhaps supporting multiple platforms from the start isn't a good idea.

One well done app on a big platform may be much better than three decent/acceptable apps on three big platforms.

Re: Some thoughts after (almost) a year of real Xamarin use

#62
post #22

Can anyone comment on Xamarin learning curve? If I have experience in both iOS and c#, how much time does it take to get up to speed with Xamarin?

We launched an online training program called Xamarin University, and so we have a fair amount of data on how long it takes people to get to the point where they are proficient enough to write a production app. As you might expect it's highly varied. But the median is about 45 days to pass our certification.

I have been starting to learn how to write mobile applications with Xamarin to contribute to a friend's project and had not heard of Xamarin University until I saw this comment. Now that I have looked at it, I'm a little confused. I can understand charging for 1-on-1 help, interactive classes, and certification exams, but why wouldn't "recorded class videos, class labs and materials" be free? Don't you want it to be easy for people to use your software so that people will? Charging $1995/year for learning materials seems pretty steep.

The learning investment is what makes me most hesitant to use Xamarin. It was supposed to be less of a learning investment because we all have C#/.NET experience, but now I'm not so sure. It now seems like we're going to have to dive deep into learning iOS and Android specific UI concepts anyway, and on top of that learn Xamarin concepts and quirks, and if we want to continue using Visual Studio when the trial is up we'll have to pay $1000/year. Maybe we're just not the target market.

Re: Some thoughts after (almost) a year of real Xamarin use

#63

Earlier quoted context omitted.

We launched an online training program called Xamarin University, and so we have a fair amount of data on how long it takes people to get to the point where they are proficient enough to write a production app. As you might expect it's highly varied. But the median is about 45 days to pass our certification.

If one is not burdened with knowing anything yet is it feasible to start and stay with C#/Xamarin alone or must one also master the other environments to fill gaps?

I'm sure they'll tell you that you can do this using Xamarin.Forms but we quickly realized that it is only useful for very basic UI. Anything of more than trivial complexity is going to require that you learn the platform specific frameworks and idioms (on top of learning Xamarin). At this point I have no idea if Xamarin is going to save time or cost time over going native. My guess is that it will depend on how much domain logic you can share between platforms.

Re: Some thoughts after (almost) a year of real Xamarin use

#64

Now that we are at it, if you have experience / recommendations on developing for multiple mobile platforms please share it here. As far as I understand it, if you are big and have the resources, your best bet is still to develop separate native apps for each platform. Right?

I have been developing cross-platform mobile apps for the past five years, initially on Phonegap and for the last three years, on Titanium (Appcelerator).

If I was starting from scratch today, I'd take a good look at Titanium, React, Xamarin and Ruby Motion (in that order). In general, I think cross platform will save you time and money if you do it properly.

Titanium has been a timesaver for me. My current backend (stocklight.com) is written in Rails. For iOS and Android clients, Titanium gives me about 90% code reuse on the front-end.

ie. It allows you to implement cross platform GUI's using the same view code and you just make platform specific adjustments (eg. Action Bar versus NavigationWindow) where neccessary.

There's no way I would have had time to develop both backend and android/iOS by myself if I had to write everything natively.

Having a single model/controller layer with Titanium has been good also but I recently made the effort to upgrade this part of the project to use Alloy and that has felt very Rails-ish which has been a big improvement.

This week, Appcelerator have announced their new pricing structure ($39 per month) and are pushing a new service called Arrow for managing your back end. Personally, I don't think i'll be using Arrow (Rails seems like a better choice) but it will be great to get LiveView 'instant updates' with their new SDK.

Also, re. speeding up Android development, you should definitely check out Genymotion.

Re: Some thoughts after (almost) a year of real Xamarin use

#65
post #61

Earlier quoted context omitted.

So how would you rate a PhoneGap UX compared to a native UX? I agree the latter is better but I don't see the former as significantly worse. If you have limited resources, you've usually got the choice between supporting multiple platforms with a decent UX or a limited number of platforms with a great UX.

If you have limited resources perhaps supporting multiple platforms from the start isn't a good idea. One well done app on a big platform may be much better than three decent/acceptable apps on three big platforms.

Yes, it depends on the app if it's worth it.

You need to consider that developing two native apps is probably twice the cost of developing one cross-platform app for two platforms.

I think developers are overly aware of the differences between native and non-native apps, and overestimate how much a casual app user cares about a native experience to be honest. I'd love to implement native experiences for all apps I write but I have to take budgets into account.

Re: Some thoughts after (almost) a year of real Xamarin use

#66

I've been using Xamarin forms a lot now. They are miles from being as good as native development. Soooo many bugs in xamarin itself. When using Xamarin forms, you will not provide as good of product as you would native. There are also very little controls. Xaml works, but is really slow. And the layout is SOOO inefficient ! But the problem is even greater, you can't merge Android and iOS layout passes. On one platfor…

Whilst it may require more work than Xamarin Forms, MvvmCross is a way of creating cross-platform applications using Xamarin without any of the issues you've documented above.

I have helped ship two commercial apps with MvvmCross and it works pretty well.

Re: Some thoughts after (almost) a year of real Xamarin use

#67
post #61

Earlier quoted context omitted.

If you have limited resources perhaps supporting multiple platforms from the start isn't a good idea. One well done app on a big platform may be much better than three decent/acceptable apps on three big platforms.

Yes, it depends on the app if it's worth it. You need to consider that developing two native apps is probably twice the cost of developing one cross-platform app for two platforms. I think developers are overly aware of the differences between native and non-native apps, and overestimate how much a casual app user cares about a native experience to be honest. I'd love to implement native experiences for all apps I wr…

> I think developers are overly aware of the differences between native and non-native apps, and overestimate how much a casual app user cares about a native experience to be honest.

I would expect the opposite. They may not be able to put a name to the issues or even describe them, but I'd expect average people to show a clear preference for native apps basically every time in a side by side test.

I think developers tend to underestimate how important good UI responsiveness and feel is.

Re: Some thoughts after (almost) a year of real Xamarin use

#68

Now that we are at it, if you have experience / recommendations on developing for multiple mobile platforms please share it here. As far as I understand it, if you are big and have the resources, your best bet is still to develop separate native apps for each platform. Right?

If you're small and a penniless startup, I think creating a native app is also often a wise choice -- all in the spirit of getting something delightful out to the market as quickly and effortlessly as possible.

That said, when all the work is done and the critical bugs are squashed, and a cross-platform app works as intended, it's a thing of beauty -- and especially wonderful when it comes time to roll out new features every week.

As a side note, it's very game-focused, but we've put together a matrix with all of the pros and cons of using various cross-platform frameworks. Maybe helpful: http://blog.doublecoconut.com/crossing-the-mobile-platform-w...

Re: Some thoughts after (almost) a year of real Xamarin use

#69

I've been using Xamarin forms a lot now. They are miles from being as good as native development. Soooo many bugs in xamarin itself. When using Xamarin forms, you will not provide as good of product as you would native. There are also very little controls. Xaml works, but is really slow. And the layout is SOOO inefficient ! But the problem is even greater, you can't merge Android and iOS layout passes. On one platfor…

Hey, I'm the CEO of Xamarin. I'm really sorry that you had a bad experience with Xamarin.Forms.

Did you try doing native development with Xamarin? I do want to be clear that Xamarin.Forms is not Xamarin. It's a library that we built to help people quickly write very simple, data-entry style apps. That's why it's called "Forms." It's not intended to be highly performant or to replicate all the per-platform APIs in Xamarin.iOS and Xamarin.Android. For that, you should use the native APIs. We have a little more information about that here:

http://cdn1.xamarin.com/Architecture%20Selector.pdf

And the "What Xamarin approach is right for you?" section on the Xamarin.Forms page:

http://xamarin.com/forms

Before release, we had internally called Xamarin.Forms "duplo," to emphasize that it was for childishly-simple apps and screens, but we couldn't use that (trademarked) name for the release, unfortunately.

That said, of course we still want to address all the issues that you found with Forms. Would you mind dropping me an email - nat@xamarin.com?

Re: Some thoughts after (almost) a year of real Xamarin use

#70
post #62

Earlier quoted context omitted.

We launched an online training program called Xamarin University, and so we have a fair amount of data on how long it takes people to get to the point where they are proficient enough to write a production app. As you might expect it's highly varied. But the median is about 45 days to pass our certification.

I have been starting to learn how to write mobile applications with Xamarin to contribute to a friend's project and had not heard of Xamarin University until I saw this comment. Now that I have looked at it, I'm a little confused. I can understand charging for 1-on-1 help, interactive classes, and certification exams, but why wouldn't "recorded class videos, class labs and materials" be free? Don't you want it to be…

Right now we have a huge amount of content available on http://developer.xamarin.com

This includes hundreds of samples: http://developer.xamarin.com/samples-all/

And lots of detailed guides: http://developer.xamarin.com/guides/

And dozens of videos too: http://developer.xamarin.com/videos/

As for Xamarin University, the vast majority of that experience is live, interactive learning with a teacher. That's why it costs money. The recorded versions of those interactive classes aren't that useful on their own. But, we're working on developing some good standalone e-learning content and when we do it will be widely available.

Post reply on HN