Why or when does an app need a server?

user4061888 picture user4061888 · Sep 6, 2017 · Viewed 11.2k times · Source

I have been searching for a proper answer to this question, have a bit of background in front end development, but with new concepts like SaaS, PaaS, etc. want to get information from experts out there, that could help any newbie to understand what it's all about.

Say I am trying to develop eBay like an app that takes a product from a user and sells it back to the other user who needs it.

Will my app need a backend server? If so why? I am already uploading my app to Google Play Store or Apple Store.

How will the backend server like HEROKU or FIREBASE or AWS help my app?

Can I implement two different services in single app, say for eg., firebase for backend database and HEROKU for payment processing?

Thanks again for your time and information.

Answer

Amreesh Tyagi picture Amreesh Tyagi · Sep 6, 2017

SaaS

Answer: SaaS is pronounced as "Software as a Service". In layman terms, anyone developed any software, hosted it somewhere and you can use that hosted software in your software project/product as a third party service (like public API) or directly use that as an individual software under any license like Firebase as mentioned.

PaaS

Answer PaaS is pronounced as "Platform as a Service". In layman terms, anyone configured some hardware, exposed the hardware controls via some web based application or REST APIs and you can use that hardware to deploy/run/manage your application without having actual hardware in your place

Backend Server

Answer First of all, let me explain you the server. Server is a middle man who serves, whatever is requested to it and all browsers/mobile apps acts as client. So, web is all about client-server communication.

Take an example as mentioned, eBay like app takes a product from a user (client action), put it on server (client requests to server in background to put this product to server) and other user open app (client action) and search product (mobile client requests to server to return that product, if valid and matched with search criteria) and he can buy (mobile client will request to server to complete the purchasing)

You have to understand that for any communication between web application, mobile application or desktop application, there will always be a server. Even in file sharing applications like shareit also, one mobile app works as server and same app in other mobile works as client.

Yes, backend servers like HEROKU or FIREBASE or AWS will be help your app to complete your application business flow.

Yes, you can implement two different services in single app, say for eg., firebase for backend database and HEROKU for payment processing or hosting your application/APIs.