Hacker News new | past | comments | ask | show | jobs | submit login

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. They're both OO languages, and once you've figured out the model it's not going to be hard to port. After all the phones all have similar hardware, and there's got to be some way to do the same thing.

The problem is the UI. I found it was a massive pain to learn two ways to lay out stuff. Android seems to encourage you to layout things in group containers (horizontal/vertical) that have an internal logic of their own. iOS seems to have a thing for constraints. Neither is very obvious, and they are not that easy to port from one to the other. They also each have somewhat different aesthetics (this friggin changes every time there's an update), which means you need slightly different designs (no hardware back button? no built in check box?). After grappling with this for ages, I ended up doing webviews with responsive pages. Makes the thing look like a web page, but a simple one that works like an app and can also be tested on a desktop browser.




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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: