
Ask HN: Going native, hybrid or responsive - enrmarc
So, I&#x27;m going to start (another) side project. It&#x27;s obvious that it should be available for web and mobile and I would like to know your opinions about the (as far as I know) three available options:<p>a) Going native. Android and iOS by the moment.<p>b) Going hybrid. SPA. Maybe Meteor&#x2F;Ionic, Cordova.<p>c) Going responsive. Just one website.<p>I have experience with a) and c) but not with b).<p>Reasons to do this side project:<p>* Extend my portfolio<p>* Keep improving old technologies or learning new ones.<p>* Could be the next big thing! So naive :)<p>So, it would be great to see your pros and cons listed here. Thanks!
======
wsc981
If you just want to create a MVP and figure out if people like the idea, then
I'd say a responsive website might be your best bet. Otherwise you might end
up wasting a lot of valuable developer time while figuring out too late if the
project will be a success of failure.

------
Kjeldahl
Do you need App/Play Store distribution, or offline support? If so, you
usually need to go native or use something like Cordova to package into a
native app. From the GUI building side of things, responsive and Cordova can
be considered the same technology, although with some special considerations
when running under Cordova (webviews might be a bit different than bleeding
edge browsers, native access etc). If you do decide to go responsive/Cordova,
do yourself a favour and get to know CSS Flex (great for layout on screens
etc). Responsive/Cordova also allow you to use other great stuff like
React+Flux.

The one thing that will haunt you if you do not go native is the "feel" of you
app, compared to the native apps on the same platforms. Most games solve this
problem by having their own "immersive" GUI which often works because GUIs in
games are fairly limited. Usually a responsive/Cordova type app will either
select one of the native "styles" and mimic that, OR select to mimic a
"website" type interaction, but regardless, it will never feel quite native on
mobiles/tablets.

From another point of view, if you have to build everything yourself, going
native means it's going to be a looong time until you cover all platforms
(Android, iOS, responsive web). Depending on your app, doing cross platform
first, THEN invest in native when you've got a hit under your belt.

------
byoung2
Going native has the advantage of giving (potentially) the best performance on
each platform. Things like infinite scroll, animation seem to be smoother
using native code. The downside is having to know how to code in two languages
and having to maintain two codebases.

Responsive site is the logical first step, since you want it on the Web
anyway. You can use most of this to build your hybrid app. I've used Cordova
and it works well for basic apps, so this is the direction I would take.

------
scorpwarp23
I've had experience building MeteorJS based (Cordova under the hood) mobile
apps and they are dreadful. Wood advise against it. However, MeteorJS is a
great framework and our app, Linkwok is built using MeteorJS.

If you do decide to go the MeteorJS route and need SEO take a look at this
post I made here:
[https://hub.kadira.io/posts/sFWNi7ZdPoamaZF6x/](https://hub.kadira.io/posts/sFWNi7ZdPoamaZF6x/)

If it is more of an app and has a strong web app use-case I would suggest a,b
MeteorJS + Native Apps

------
mikaelemtinger
If you know React, I'd suggest looking into ReactNative. It's a new tech but
what I've tried and seen it's VERY promising. No Android support yet but it's
coming soon.

------
Zigurd
If going native makes sense, then going hybrid or responsive seldom does. That
is, if the app isn't about content, like a catalog, or other content-centric
purpose, then go native.

Or you can look at it from the other side: The more rich the interaction, and
the more direct manipulation, the more reason to go native. If it's just a few
buttons and text fields, you can choose whatever implementation is easiest for
you.

------
seanwilson
I think hybrid is a fine option if the user experience is good enough for the
app you're doing. Writing two native apps plus a web app is a massive
undertaking for a sole developer especially if you don't know if the app will
be successful. Having to maintain three separate codebases will significantly
reduce your ability to adapt quickly to feedback as well.

------
louiswilbrink
I suggest looking into ionic framework and building a hybrid app. They have
put a lot into making the workflow amazing to work with. Ionic View will let
you run your app natively on a phone without having to install from the App
Store or drop money on the sdk. Just push from the command line!

------
fishanz
Totally dependent on the scope. But if it functions well as a mobile
(responsive) website, and your making that anyway, just wrap it in Cordova for
App Store distribution. Easy peasy.

------
enrmarc
Author here. So many useful responses, thanks. I didn't mention the scope of
the application. It is some kind of CRUD app: users, comments, posts, etc.

