Live data from Hacker News

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

estaun.net

31–40 of 113 posts

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

#31
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 platform, measuring is really fast and the other really slow ... Xamarin forms can't compensate and give native performance to this. They don't even have listview recycling ... One developer even said "RelativeLayout is probably best for you here and can do this" to the question what the fastest layout is. For Android, this is the WORST layout possible.

Anyway, you will spend a LOT of time fixing Xamarin bugs and developer their controls.

However, I LOVED .net functions, especially LINQ !

Anyway, development was really slow and performance is no were near to native.

So if you want to deliver a simple app to a client and be cross platform, then sure. But don't try to maintain that app, you will regret it.

I'm afraid the whole Xamarin thing won't solve "cross-platform" which isn't a real problem but sure. Its just another horse that Microsoft is betting on.

Oh and for the people that will have to do it anyway. Use Resharper ! Xaml IntelliSense !!! It will help you a lot.

I'm sorry I'm so negative, but it was genuinely the worst development I had.

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

#33

Most people don't realize how convenient it is to build and maintain your entire codebase (iOS, Android, Windows Phone, Windows 8, web client, web server) all in one place (Visual Studio), mostly using C# and Typescript. Just have a Windows VM on your Mac. It truly is the best of both worlds.

Yeah, a huge part of why I still (mainly) run Windows at home is easy access to Visual Studio. With third party extensions (e.g. ReSharper), and even without them, it's probably the best single IDE I've ever used. I still use WebStorm + JS for frontend Web work, though. Would you say it's worth the switch to VS and TypeScript (though WebStorm supports TypeScript, too)?

I haven't used WebStorm, but using VS for typescript was way better than using it for javascript.

Developing typescript in VS is about as easy as developing C# in VS. Everything "just works".

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

#34

Most people don't realize how convenient it is to build and maintain your entire codebase (iOS, Android, Windows Phone, Windows 8, web client, web server) all in one place (Visual Studio), mostly using C# and Typescript. Just have a Windows VM on your Mac. It truly is the best of both worlds.

Yeah, a huge part of why I still (mainly) run Windows at home is easy access to Visual Studio. With third party extensions (e.g. ReSharper), and even without them, it's probably the best single IDE I've ever used. I still use WebStorm + JS for frontend Web work, though. Would you say it's worth the switch to VS and TypeScript (though WebStorm supports TypeScript, too)?

Visual Studio with Web Essentials is awesome.

http://www.asp.net/visual-studio/overview/2013/visual-studio...

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

#35

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.

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

#36
post #13

Earlier quoted context omitted.

How useful is it to develop non-gaming applications (including 2D UIs)? And how much overheads it results in in terms of application performance and size? Thanks.

Not very: it fundamentally assumes you're making a game, so it draws 3D scenes and uses a continuous update loop, which taxes the battery on mobile devices. The UI tools are also just finicky enough to make non-game app development a pain. In addition, it does have a little size overhead - the smallest possible build on iOS (a blank screen) is 12 MB with all the optimizations on, and double that if you need to invoke…

Have you actually seen a performance comparison when idle? I ask because I have been curious about trying to build a full application inside Unity.

Update() on Unity doesn't strike me as being all that different than a normal GUI app's message loop.

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

#37
post #30

We tried mostly anything (and not only tried; we used for production work because clients wanted us to) and, outside native, Xamarin really is the best thing we worked with so far. For it's downsides, the upsides are too good to not take advantage off. Some cons I recognize but the case everyone keeps mentioning that you get into issue when you really want to do complex native platform stuff with animations etc I hav…

Have you tried Cocos2d/Spritebuilder? If you don't ever make games for clients it wouldn't really make sense. But if so could you explain what you didn't like about it?

I have used Cocos2d for clients and Monogame and Unity as well and the combination as well. I was talking about Xamarin here as app building tool, not for games. I do like Cocos2d.

Cocos2d is nice to work with as well as with Unity; we had most issues with Monogame (and that uses Xamarin) but once we got over those issues I believe we would be effective equally with Cocos2d & Monogame and slightly more so with Unity (because of the community mostly).

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

#38

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…

I believe it is recommended to use one relative layout instead of multiple linear layouts, because depth quickly becomes slower than the more complex measurements needed for a relative layout. I find layouting on Android really bad TBH and there are so many presentations and guidelines on what (not) to do.

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

#39
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…

About PhoneGap: > 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) Can you elaborate on what you mean here? Sure, the apps never feel completely native but you can still invoke native features including the back button on Android, reuse the same code to make a web app and whi…

I've used PhoneGap. There is a huge conflation of "feeling native" and the "native controls" aspect of PhoneGap's features. Can you access the camera on a phone using PhoneGap? Sure, but you know those apps you use every day? They are polished and you can't polish with PhoneGap. Scrolling is snappy, navigation doesn't lag, etc. etc.

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

#40
post #39

Earlier quoted context omitted.

About PhoneGap: > 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) Can you elaborate on what you mean here? Sure, the apps never feel completely native but you can still invoke native features including the back button on Android, reuse the same code to make a web app and whi…

I've used PhoneGap. There is a huge conflation of "feeling native" and the "native controls" aspect of PhoneGap's features. Can you access the camera on a phone using PhoneGap? Sure, but you know those apps you use every day? They are polished and you can't polish with PhoneGap. Scrolling is snappy, navigation doesn't lag, etc. etc.

But you're dealing with trade-offs unless you have unlimited resources. If you want an iOS, Android and web app as soon as possible with a decent UI on a limited budget, PhoneGap is hard to compete with. If you want the slickest possible iOS UI, native is likely the way to go but it costs significantly more resources if you want to support other platforms as well. You're not getting anything for free and you have to decide what you want to spend your resources on.
Post reply on HN