Almost every mobile app need backend. Not every, but almost. It won’t be a big problem if you have a big team with backend expert in it. But sometimes, you must do the development — frontend and backend, by yourself, and for some people, develop + maintain well-designed and stable backend is hard or maybe it’s just expensive.
But these days, we can start building an app, with live database, without writing any single code for the backend, without the hassle of setting up the server, and mostly free. It’s perfect if you have to build a working prototype app — with real database, create an MVP app that will be launched to public in weeks, or just create another awesome app ☺. I usually call this a no-backend stack.
There are alot of options to start a no-backend stack, but recently I’ve tried three of them in my recent project :
Cloudant is a product of IBM, and using it’s own version of CouchDB : BigCouch. Their website said : A Highly Available, Fault-tolerant, Clustered Version of Apache CouchDB. Cloudant API is compatible with CouchDB, which use regular http as their API, json as data format, great support for data replication and good conflict handling. You can just directly serve json data from cloudant. Just like CouchDB, in the client, if your app want to have synchronization feature and offline support, you can use PouchDB (webapp) or Couchbase Lite (iSO / Android / Xamarin / Phonegap based mobile app). It means, your app will always works without internet connection, and the datas will be synchronized back to cloudant once the internet connections present. You can start your app with cloudant for free.
Owned by facebook, parse offer an array of interesting features. It has data storage, data query, user authentication, background job, push notification management, app’s usage analytic, even the crash analytic. For the client, parse support iOS, Android, Unity, Xamarin, and ReactJS. And as always, you can start using parse for free, and you can see the list of features packed for the free plan here.
Right now I’m still exploring each of their features, the pros and the cons. Btw, a little note based on my experience on choosing the services listed above : If your want your app have great synchronization and offline support, you can use Cloudant. If you want to have a better realtime data support, you can use Firebase. And if you want more integrated service, like push notification, analytics, and crash report, you can use Parse.