Back

Experimenting with BaaS: Our Investigation on Parse

Backend as a Service (BaaS) is a growing trend. Today’s mobile developers are choosing the solutions that enable them to establish a backend in a matter of minutes or at least hours, not weeks or months. That’s when cloud solutions come in handy.  This topic was highly discussed at the Apps World North America as the market is filled with BaaS vendors already including Parse, Kinvey, StackMob and others. Their services help to reduce the need for server-side code, work across multiple platforms, significantly shorten development time, and make mobile app development easier.

Investigation

As Parse really stands out among the others, we decided to try it ourselves and conducted an experiment. Basically, the task was, using Parse as a backend, to create an iOS social app with the following features:

  • login through Facebook;

  • create user profile

  • view news feed;

  • add news (with an image);

  • add/view private news.

Results

The task was completed. In total it took about 20 man/hours. Investigation and integration of Parse SDK took about 12 hours. The rest of the time was devoted to developing app features, just like working with an API from a regular backend.

Conclusions

Generally, you can use Parse as an external database which has some API to manipulate data. It is hard to determine level of complexity because it depends on the task you need to solve. If Parse has an API which is needed for your task, then it’s great (for example, save and manipulate data, queries, login/FB/Twitter etc.). However, if some particular API is lacking, then this task would be rather difficult to implement. For example, we were developing an app which works with images that need to be resized on the backend. No matter how hard we tried, we couldn’t resolve this task with Parse and had to look for some alternative solutions.

In my opinion, Parse is a perfect service for MVP, when you need to create a first version of an app. It works great for the apps with simple server logic. However, if you need a ‘huge and strong monster’ on your backend, then you need to carefully weigh all advantages and disadvantages

~ Alexandr Tyshchenko, Stanfy CTO

In particular, we’d like to point out the following strong points:

  • Parse’s SDK is really well-written and documented. It’s very easy to integrate this SDK into an app;

  • If your team works with Parse for the first time, you’ll need just a day or two to investigate it and get all the details;

  • Parse is great in dealing with simple tasks such as data storage (where you can save, read or edit data), but if you need to manipulate data in someway, you need to do a prior research on what Parse has to offer.

In the course of our investigation, we’ve also experienced some limitations of the service. The first limitation concerns operation with images (as mentioned above). Also, you must keep in mind that you can’t simply export data from Parse. Why is this important? If you decide to switch to another backend, you’ll need to manually port all the data from Parse, which, of course, is not very convenient.

After all, I must say we were really pleased with Parse. It provides mobile developers with lots of opportunities, but you need to account for its limitations as well. To sum up, we do believe that BaaS is going to become an even bigger trend in the future. At the moment, BaaS is mostly used by mobile-first startups and companies. However, experts predict that the enterprise will also be looking into this direction soon, as more and more enterprises are building their mobile apps.

April 19, 2013

Development