How to choose backend for mobile app?
With the arena of options for backend, it is obvious to get confused with the choice of backend. We daily come across question pertaining to backend for mobile app. Mobile app development can now be performed with Native, React native and Hybrid frameworks. Choice of backend has to be in accordance with the frontend technology choice. While choosing backend, one of the major factor we consider is the speed in terms of performance and another factor is user volume for the application. IOS app development and android app development requires compatible libraries to access the desired backend. In case applications built with React Native, backend choice is limited as the framework supports fewer asynchronous calls.
Backends are qualified as REST APIs and Websites. Those are available in following forms
- Classic backends – PHP, Java J2EE, ASP.Net MVC
- Modern backends – NodeJs with Angular, Angular with Firebase, Firebase Only, React Js with Angular, Ruby with Firebase.
- Mobile backend – Service (MBaaS) – Parse, Kinvey, Firebase
Backend choices are decided roughly on following parameters. These parameters may vary based on overheads or additional third party APIs.
User volume can be calculated as the number of users visiting app simultaneously. This can be determined by analytics implemented inside mobile app. If the volume of visitors is high then choose lightweight backend along with cloud infrastructure like AWS cloud. Cloud along with right backend can be scaled in future.
Frontend like react native limits choice of backend. Front end developed in native frameworks are always the best option to choose from variety of backends. React Native frontend can be chosen with React Js backend or Angular backend. Backend capabilities needs to be supported by frontend. Asynchronous calls in backend are not supported by few frontends.
Scalability of increasing user base or flexibility to make the backend available across geographies are available only in few backends. Backends like Angular, Nodejs, Firebase have in built capabilities of scaling to millions of user requests at a second. Classical backends have limitations in terms of scalability and performance.