Hacker News new | ask | show | jobs
Native or Hybrid mobile app?
8 points by rajlalwani 4215 days ago
Hi,

I am building a team on mobile technology. I have an option to groom the team on native technologies or go with hybrid. The argument for both is equally convincing. Could you please based on your experience recommend one to us. Thanks

9 comments

I had to make a decision a few days ago, and I decided to go with Ionic framework. We are in a very early stage of building our very own startup with a team of 3 persons of which I am the sole developer. Because of this, things that effect my decisions may be a bit different than yours.

Questions that you should ask yourself (And my answers in paranthesis)

1. Do I need to develop for Android, iOS and other platforms at the same time or near future? (YES)

2. Do I have expertise on any? (YES for Android, goddamn NO for iOS)

3. Do I have time to gain experience for the domain? (NO, expected to build an MVP for Android and iOS in 1 month, while continuing a full-time job)

4. Am I going to develop a dumb client or some heavy tasks are going to be processed by the app? (A dumb client which will make some API requests)

5. Do I have excellent web development skills? (Yeah)

All questions are important, but the answer of the 4th may push you to go native if you are doing some things that would make use of CPU/Memory as efficient as possible.

Also the Cordova or Ionic or any other similar frameworks are just a painkiller which does not solve a problem but hide the problem, which is lacking native app development skills/time. Except for a few examples, there is no app that is used by millions which are not native.

Ionic is OK but has its limitations. Its CSS components are not all that pretty, compared to those from, sat, SemanticUI or other CSS frameworks. And it's not easy at all to integrate other CSS frameworks. Also, current Ionic does not support Angular 1.3, although its next beta release will, but not clear when it'll be released. You lose a lot of functionality by not having Angular 1.3.

I'd seriously look at two relatively new frameworks: AppGyver, which looks fantastic - so much so that I may switch tools/frameworks on a start-up product. Or, Telerik's NativeScript looks really promising, but it won't be ready for production use until 05/15.

Take a hard look at frameworks before committing to one - esp. Ionic. It looked really good, which is why I, as lead dev in a consumer-oriented startup, chose it for our hybrid app. But, after several months of working with it, its warts become evident.

My $0.02.

If you need fast prototyping and your team has experience with webdesign, you should go with something like Cordova / Ionic / ...

If you need a lot of native features, you could create the native app afterwards.

Ask your team what they think, do they have experience with Android / iOS?

I've spent the last year managing the build of 5 Hybrid apps predominately for Android. The workflow from a development perspective is great, really you cant ask for more, being able to write html/css/js is a huge win for the team of mainly backend/frontend developers.

Although - I wouldn't recommend it for every app. Our apps are enterprise focused business apps, mainly forms and data. We have built a social - B2C app before but the results were not as good as we'd hoped. It does still feel like a hybrid app opposed to native.

My advice - If its an app focused on data and forms then yes go hybrid, if you want to do something different go native.

I'd take a look at Xamarin and/or Xamarin Forms. It's really good and allows you to build native apps for iOS, Android an Windows Phone with just 1 codebase. It can save tons of money.

Xamarin Forms is taking it all a bit further than the other Xamarin offers because Forms even allows you to build 1 UI using generic concepts that will be rendered in the style of the platform that's running the code. I have to warn you though: Forms is still pretty new and buggy. The concept is really really good and it does work pretty well, but it's just not mature enough for big applications.

You can hire cheaper JavaScript developers, so hybrid could be interesting in that respect. Otherwise just go for quality => native. Also native doesn't mean multiple code-bases, if your team is interested in functional programming you can do Xamarin + F#/C#.
My team is good with Ruby on Rails and other web tech. They can pick up Android and I will be iOS guy... but, I would rather keep it simple for now. We have developed an app using Ionic but I am not happy with its perf.
My Team is good in Ruby... So, I have an option of Roboto (Android) and RubyMotion (for iOS)... Would highly appreciate if some can please share any experience on them?
vote for Ionic here. There's simply so much value add from being able to apply the knowledge you have in the front-end to a mobile app. Plus the ability to deploy to android and iOS at the same time.