Mobile development made easy with Parse and Firebase

There is a trend in mobile application development, that people are calling backend as a service (BaaS), or mobile backend as a service (MBaaS). BaaS is intended to speed up the application development process. It is purely backend, providing an infrastructure that automatically scales and optimizes, bundled with a set of essential resources developers require, like content, data, messaging tools and all best 3rd party, API driven services.


Originally published at www.linkedin.com.

Some of the more prominent services are Parse and Firebase. Both offer developers quick backend setups to build “server-less” apps. Unlike Amazon Web Services or Microsoft Azure which are Infrastructure as a service, however, Parse and Firebase don’t require you to setup your own computer with a web server.

What are Parse and Firebase

Firebase is a real-time cloud data service. It is designed for building real-time, collaborative applications. Data in Firebase is standard JSON, and developers can access it using a client library or the REST API. When accessed through a client library, changes to data are synchronized in real-time to clients within milliseconds. Firebase provides a highly flexible expression-based security API that allows fine-grained control over data access by clients.

Parse is a complete technology stack for building mobile apps. It provides a REST data api, push notifications, a Cloud Code JavaScript runtime environment, and social services. Parse has a variety of SDKs for all major mobile platforms as well as a Javascript SDK. Parse provides an access-control-list based security API, which it augments with its Cloud Code service to control data access by clients.

PubNub

The difference of Firebase over Parse

When you create a Parse or Firebase account you’re given empty tables or data structures and the REST API or SDKs to access the data structures. You don’t have to set it up yourself. In Parse you create the tables on their online dashboard and then use the SDK in your mobile or web application to access and write to these tables.

Firebase is different from Parse in that Firebase uses A different data structure scheme (JSON) and Firebase and other similar services like PubNub offer you a push-based interrupt drive system vs poll-based systems to get the data quicker when a change occurs.

So let’s say you’re making a messaging app, you might simply start with Parse to store the users information and the messages. But then on the client you’ll have to periodically check Parse tables to see if there’s a new message. This means that your app will have a delay from when one user writes a message and the other user get the message.

With Firebase or PubNub, they use sockets and other methods to notify you when something on the database changed. So when one user in your messaging app writes a message and it gets stored on Firebase, Firebase will notify all other clients listening to a specific key in their JSON that there was a data change and there might be a new message. That way you get data instantly to the clients and the messaging app will become more responsive and reactive.

Today

Parse will be fully retired on January 28th, 2017. If you want to continue using it you need to setup your own server and take the open source code from Github. Basically everything it was supposed to enable without much work is now up to you to build. Despite this road block, Parse prices were escalating exponentially and made sense for an established corporation.

The established corporate world is less inclined to be an early adopter and prefers more control over it’s servers. Firebase has a much better range of pricing which matters for many startups, mobile entrepreneurs and freelancers, which are the main target audience and early adopters.

In short, I would choose Firebase over Parse for desktop apps at the moment because of the built in real time features. Parse is better suited for mobile because of built in push notification features. Both share almost every other feature, so at this point the deciding factor for me is realtime and the fact that Parse will be changing in the future.