Ask HN: First mobile side-project: What stack to choose in 2019?
Hi there!
Starting this year with the next 3 months to spare, I'm planning to build a mobile app in that time. It would be nice if I could use most of its logic for a single page app as well.
Requirements: list/enter/search data, create/login to accounts, take pictures, do OCR on them, maybe even some AI on those pics
Me: frontend dev (~Angular), only mere backend experience, almost zero for native apps.
What do you think? I'm thankful for every answer! Hopefully I'm not burning the candle at both ends here with this project :-)
Use exactly what you already know (angular + whatever you use on the backend).
Unless of course the real "side-project" is learning a new stack[0], you want to set yourself up for success by using what you're already familiar with.
[0] This can be completely valid and worthwhile—just be honest with yourself about whether your goal is to learn something new or to solve a problem or to create a business.
React native + Firebase will get you a demo very quickly, especially on the standard functionalities. Fake the others at first, and then you can decide how to implement them with a custom api, e.g. on gcloud.
Launch in less than 3mo if you can, you can always iterate down the road.
I'm thinking:
VueJS + Nativescript + Vuex (Wanted to give vue a try for a while now plus it's JS), Firebase for accounts, NodeJS (again, JS) + GraphQL (being a BE noob I'm hoping graph-DBs allow me to stay flexible with my data-structure), BE hosting: probably uberspace and then migrate to some cloud provider (are there any reasonable priced cloud solutions to dump pictures that are also easy to manage for a BE noob?)
I'm fairly familiar with Vue and Angular, but I decided to write my current side-project in ReactJS, with the intention of switching over to React Native once I've wrapped my head around the React portion of things. So far, I'm enjoying myself. I'm mostly a backend dev, so this is mostly new territory for me. Very fun.
The bright side of the React (and Angular / Vue) is exactly what you said: same logic for web and mobile!
I found this video and talk to be very enlightening. I know it's not the neatest, most exciting framework, but Rails with Turbolinks sure can do the trick. My last two mobile applications were built in the same way that Sam Stephenson describes here.