The problem is that I have 0 experience in doing server side programming.
Can you please suggest me a way of making the server?
I checked the Google Colud Platform and this video. The video addresses the connection between the app and the server, but what I really need is coding the model and deploying it on the cloud.
What is the way for me to build the API for such an app, as a developer with no server side programming experience?
Can you suggest me a tutorial which goes trough the process of building a cloud backend for a mobile app?
asked Sep 3, 2016 at 20:24 1,174 3 3 gold badges 14 14 silver badges 27 27 bronze badgesHave you considered Firebase? It's a great BAAS (Backend as a Service) provided by Google, you can worry less about the backend of the app. Check it out : firebase.google.com/features
Commented Sep 3, 2016 at 20:30Wondering which way did you develop this application backend if you did? I am in a very similar situation with a very similar app to what you describing. I found the complex logic is very hard to configure with firebase backend and i think i should implement my own restful backend. any tips would be appreciated greatly.
Commented Feb 8, 2018 at 10:28Back then I used Spring platform to develop the backend, as it was written in Java. Now, I would highly recommend you to look at golang and how easy it is to develop a backend of high complexity with this language. Plus, in the end, Go is worth knowing
Commented Feb 9, 2018 at 3:32Thanks for the recommendation, unfortunately, i have time limitations to learn a new language for this project. i will have a look at a Spring platform. Is there any change i could look at your solution to specified logic you described at your question?
Commented Feb 10, 2018 at 12:08This is a very complex question. I don't recommend using a "ready-made" solution like FireBase because it's even harder to transform it into a "proper" API later on when you need it. If you know Android then you know Java, you'll have no problem learning working with a framework like Spring Framework which I recommend. Java on the backend needs a Java Servlet container, like Tomcat. First you should set up a development environment on your machine for this. I recommend searching for Spring Framework tutorials for this i.e. Spring Framework REST tutorials.
Secondly you'll need a database like MySql or MongoDB to store data. Spring comes with ready made connections to most of the most common databases, so its pretty easy to work with them.
When you're ready to deploy your service I recommend using a PAAS like Heroku.com where you can run your service for free first. In this way you get to control everything yourself and you also learn a useful skill.
answered Sep 3, 2016 at 20:40 6,003 8 8 gold badges 49 49 silver badges 91 91 bronze badges I'm using Spring. Thanks :) Commented Sep 24, 2016 at 19:31Since you are coming from the JAVA background you just need some basic building blocks and you shall be good to go.
Also if it's any help, App Engine and Heroku both offer free limits and should be pretty sufficient for your use case.
answered Sep 4, 2016 at 1:35 Vikram Tiwari Vikram Tiwari 3,835 2 2 gold badges 32 32 silver badges 47 47 bronze badgesSince you have limited experience on server side development I'd suggest using a backend-as-a-service platform. This approach has the benefits of allowing you to focus your time coding the client where your competitive differentiators are, and lets you leverage years of experience in server-side development without having to ramp up on the technology. It also means you can iterate quickly and test features ideas with less risk.
There are several options out there, but in your case, you'll need something that provides enough flexibility to implement custom logic and a custom data model. Some platforms allow you to create a full backend application with REST api endpoints, and automatically take care of deployment, security and management. Some examples of backend service providers can be found here https://en.wikipedia.org/wiki/Mobile_backend_as_a_service.
Some of the platforms actually allow you to build a full custom app without actually writing any code, and some of them provide ready-made components (like chat, leaderboards etc) but are less flexible.
Here's a list of Backend-as-a-service providers:
You didn't provide specific details about the tasks you want to implement on the backend, but it's likely that you could satisfy your requirements with a straightforward REST api that accepts your location data, runs business logic, reads or writes from your data model and returns whatever data your client needs. (Sorry I can't get more specific without details on your requirements). If you're dealing in sensitive information like location data, I'd strongly recommend securing the api with TLS/SSL (i.e. https), or make sure the platform you use provides this.