The complexity of developing mobile apps is compounded by the difficulty of back-end processing. Mobile backend services (Baas) help relieve the some of the responsibilities from app developers. This area is now the new venue for the eco system wars, with both established companies and several startups competing for developer attention. Some popular BaaS solutions include:
What does a BaaS include?
- Data : Store app data on the cloud
- Push Notifications: Send notifications to a user's phone
- Social Media Integration : Login through Facebook, Twitter, Live
- Custom Code Deployment : A very important feature. Deploy your own custom logic to the cloud
- Hosting : Most mobile apps need a landing website.
- Third Party Data Integration : Again, a very critical feature.
How to pick the right Backend?
- Flexibility: If you're main criteria is flexibility (you have a large team of developers for example) then its best to go for Windows Azure or the Google App engine (GAE). They put a lot of emphasis on custom code. With Azure and GAE, you setup code that runs on every requests and can fire off additional requests, read more data, send push notifications and control the request as a whole. They offer the capability of running your own backend on a cloud instance (at a price). Hence larger higher-end enterprise customers will pay more for additional flexibility/protection.
- Ease of Use: If you're short of time, money and other resources, Parse or Kinvey is the way to go. They have a mature API and offer a lot of off-the-shelf features that can get you started in no time. Both of them now provide the ability to run custom code, but you will not have access to the raw instance like Azure or GAE.