

Ask HN: Back end engineer trying to build a mobile app, would love some guidance - victor9000

my app will need account creation, a map, REST requests, and notifications.  what&#x27;s the fastest way to get from 0 to mvp?  do I need to build a native app for every platform?  can I get away with a web app?
======
shawnreilly
The first thing I would do is think about what capabilities you need in order
to successfully execute the product, and equally important how you would want
to distribute the product. Depending on the answers, I would then find a
framework (or multiple frameworks) that facilitate the approach you want to
take. This will allow you to prototype faster (and reiterate faster as you
learn from your customers). This would also play in to how you approach
building the back end.

From reading your replies to other comments, it sounds like you want access to
a phone's local resources, and you are possibly interested in using web
technologies. I would look into Apache Cordova (aka PhoneGap) or something
similar (there are many). This allows you to build once with HTML/CSS/JS, and
then distribute via Android/iOS and more (differentiation being each platform
would need specific front end JS code to access the phone's local resources).
This approach is commonly used in conjunction with a back end that accepts API
Requests (aka front end makes Ajax request, back end responds with Data). I'm
using this approach for one of my current projects.

~~~
abhimskywalker
I agree with the above, and additionally you can check out
[http://ionicframework.com/](http://ionicframework.com/) to build once for web
(with backend REST API) and then port it to iOs and Android pretty easily.
They offer nice-looking UI elements as well specially suited for mobile use
cases. I found porting a simple angularjs based webapp to android and iOs
pretty easy (thought only tested it as development prototype). Should be worth
checking out.

------
mw67
To get to a mvp and prove that you're concept work, you don't have to (and
maybe shouldn't) build a native app for every platform. The goal of the mvp is
to get the product in front of people as fast as possible, to see if they
would spend a few minutes using your products, or if it's not useful for them.
Once you validate this, you can think of expanding to other platforms.

I would suggest to only go for the platform where you're most comfortable
developing with. Web app can be good indeed, but if you already know objective
c or java then you'll be probably better off going for native iOS or Android
first. Good luck!

~~~
victor9000
yes, I certainly need to stay in the mvp frame of mind, thanks for that
reminder.

------
ajstiles
I've recommended a "web app first" approach to some of my clients.

You might find parse.com services cover your user and notifications
requirements, and perhaps even your REST backend.

~~~
victor9000
thanks, the web app approach certainly makes a lot of sense. my only concern
is whether html5 can get access to the phone's resources like the camera,
dialer, etc.

~~~
rahimnathwani
Cordova will provide access to the camera:

[http://cordova.apache.org/docs/en/2.5.0/cordova_camera_camer...](http://cordova.apache.org/docs/en/2.5.0/cordova_camera_camera.md.html)

And maybe the dialer:

[https://github.com/gibsosmart/cordova-phone-
dialer](https://github.com/gibsosmart/cordova-phone-dialer)

