Live data from Hacker News

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

estaun.net

71–80 of 113 posts

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

#71
post #14

My experience with Xamarin: I've been working for half a year with Xamarin Forms. I Think using Xamarin is the way to go, there is no need to re-code something for 3 different platforms when you can just have a shared codebase. Tools like Cordova and Phonegap don't work. They produce a very crappy experience that doesn't use the native OS functions, doesn't look and feel native, feels slow and has many bugs (for exam…

> Tools like Cordova and Phonegap don't work. They produce a very crappy experience that doesn't use the native OS functions, doesn't look and feel native, feels slow and has many bugs (for example they can't use the hardware back button).

Have you taken a look at Facebook's new framework, React Native?

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

#72

Is it possible to do logic code in Xamarin and develop UI natively for each platform?

The approach with Xamarin is that you are able to build out a shared C#/.NET business logic layer. All of your platform independent code such as Models, ViewModels, Database code, Restful Service calls, etc. You get to use the power of C# and .NET to build this out. Then you build out user interfaces for iOS, Android, and Windows and tie this logic all together. Xamarin apps are native so you follow the same paradigms for building the UIs out such as Android XML and iOS Storyboard or XIB files, but you can build these out in the Xamarin Designers for both iOS and Android inside of Visual Studio or Xamarin Studio.

On the code behind side of iOS/Android (UIViewController or Activity) you write all of this in C# with C# features like LINQ, events, delegates, etc. and you have access to 100% of the iOS and Android APIs of the platform as well.

Now we do have the Xamarin.Forms library which adds on top of this to build on a shared UI layer for iOS, Android, and Windows Phone as well. However it is not for every app and we have guidance at www.xamarin.com/forms. Hopefully this is a nice overview of the platform.

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

#73

can you develop iOS apps in a windows environment without any mac machine? is there a cloud build service for mac that you can integrate?

If you are building for Android you can do it 100% of on Mac OR a PC. Since Google ships sdks and tools for both Mac or PC that is why you can do this.

Apple is much trickier. You can still open iOS projects, modify code, and compile without a Mac connected. However, to actually do design in the storyboard designer in VS or build the package to deploy on a simulator or device you need to be connected to a Mac somewhere on your network. This is apple restrictions and also for the fact that all of the simulators and tooling only exists on the Mac.

You don't have to have a power house machine to do this though, something like a Mac Mini would work fine. There are some cloud solutions out there as well.

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

#74

I built the same app using Android and iOS, but considered Xamarin at one point. I'm still considering it. When I was deciding, I had a look at the Xamarin docs, and it seemed to reference the underlying native idioms quite often. I figured that I'd end up spending the same amount of time learning Xamarin as iOS, so what's the point? In the end, I found the backend logic was pretty easy to write in Android or iOS. Th…

I completely agree.. I just feel that native is worth the extra time, at least for me. Its really not hard to reimplement OO logic in objective C or Java if you have already written it for one of the two.

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

#75
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.

Having an app that isn't "significantly worse" can be the difference of having 5,000 or 1 million users. While it's impossible to prove, there is loads of evidence to suggest even just 200ms of UI delay can cause UX problems. [0]

Your comment does bring up a good point however, I've struggled to prove any of this with any scientific manner. I wish there was, because it would selling native solutions so much easier. The only proof really is the fact that the most downloaded apps in the world all use native, and many (FB and LI come to my mind) tried the hybrid solution and it failed miserably.[1][2]

[0] - http://www.nngroup.com/articles/response-times-3-important-l...

[1] - http://www.theverge.com/2012/8/23/3262782/facebook-for-ios-n...

[2] - http://venturebeat.com/2013/04/17/linkedin-mobile-web-breaku...

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

#76
If anyone here has tried out Titanium by Appcelerator, I'd very much like to know how your experience was. I've heard conflicting reports on how native it actually is. This article says it uses HTML5 / web views, but I've heard that it uses native widgets, and is pretty close to native. Any ideas?

And, do most of the things listed here apply to it as well?

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

#77
post #9
post #6

Great article, we have a similar story but only used Xamarin for 1 iOS app. If I had option to go back I would not chose Xa marin, we would have used native. Main reason being that we now need to add 3 SDKs to our app and none of them are supported in Xamarin, it seems it will be cheaper and more predictable to rewrite to native than implementing SDKs. Porting libraries to Xamarin is possible in theory but in practic…

I think this is the key to making a great cross-platform solution. Pretty much any mobile app that's not a toy relies on native 3rd party sdks, be it ad providers or fancy Ui compinents. Whatever platform first solves the issue of making integration of pods on iOs or AARs on Android a smooth process, will win. I don't see any options that come close to solving this. Xamarin is not native to either iOS or Android. Rob…

What? http://facebook.github.io/react-native/docs/nativemodulesios...

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

#78
post #14

My experience with Xamarin: I've been working for half a year with Xamarin Forms. I Think using Xamarin is the way to go, there is no need to re-code something for 3 different platforms when you can just have a shared codebase. Tools like Cordova and Phonegap don't work. They produce a very crappy experience that doesn't use the native OS functions, doesn't look and feel native, feels slow and has many bugs (for exam…

> (for example they can't use the hardware back button).

I've used Phonegap, and was able to use the back button without any issues.

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

#79
post #14

My experience with Xamarin: I've been working for half a year with Xamarin Forms. I Think using Xamarin is the way to go, there is no need to re-code something for 3 different platforms when you can just have a shared codebase. Tools like Cordova and Phonegap don't work. They produce a very crappy experience that doesn't use the native OS functions, doesn't look and feel native, feels slow and has many bugs (for exam…

Hey, Xamarin CEO here, thanks for your feedback. A couple comments/questions on the issues you raised.

1) We aren't aware of any debugger issues like this. Is it possible you were debugging optimized code which had the local variables optimized away? Similarly, when an uncaught exception is thrown, it comes with a stack trace with line numbers. Were you not getting these?

2) Xamarin does map the entire set of iOS and Android APIs into C#, so yes it is a "wrapper," but you should NOT be limited in what native features you can use. We literally cover almost 100% of the entire set of native APIs. What limitations were you running into?

3) We have a ton of docs at http://developer.xamarin.com including nearly 300 sample apps and a lot of very detailed guides: http://developer.xamarin.com/guides/ Which part of the docs did you find inadequate?

4) We do include XAML intellisense in Xamarin Studio. To get it in Visual Studio you have to install an extension: http://www.cazzulino.com/mobileessentials.html This will be included by default in a future version of Xamarin.

I'm sorry about the trouble you had, and I'd like to get to the bottom of those issues. Please feel free to contact me at nat@xamarin.com.

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

#80
post #14

My experience with Xamarin: I've been working for half a year with Xamarin Forms. I Think using Xamarin is the way to go, there is no need to re-code something for 3 different platforms when you can just have a shared codebase. Tools like Cordova and Phonegap don't work. They produce a very crappy experience that doesn't use the native OS functions, doesn't look and feel native, feels slow and has many bugs (for exam…

[deleted]
Post reply on HN