Many of us in the mobile development world were shocked this week to learn that Parse is shutting down
. For those that don't know, Parse is (was) a popular mobile back-end as a service (MBaaS) and we have built a few apps using it. With the sudden announcement, we thought it would be good to reexamine the value of using a MBaaS, some of Parse's competitors, and talk about our plans for moving forward without Parse.
About the MBaaS
We have blogged about MBaaS
in the past and about some of the alternatives
too but it's worth revisiting from time-to-time. The general idea of a MBaaS is that you let another provider handle all of your back-end needs for data persistence and sharing between devices and users. In many ways you can think of a MBaaS as a full-featured database for your app to connect to, typically with a security layer on top so you can control which users have access to which data.
The need for a mobile back-end hasn't diminished and in many ways has grown even more significant. As mobile apps become more capable and developers try to distinguish themselves from the crowd, we find ourselves needing to offer compelling features. Those features, more and more, are driven by social interactions and other cloud-based concepts rather than simply by what you can do isolated on the devices.
Without a web-based back-end, all but a very select few apps will get clobbered by the competition.
Types of MBaaS
As mobile has grown so too has the specialization in providing an MBaaS. Parse played a very generic role and provided a simple structured data approach with authentication and triggers on top of it. While this approach worked well for a variety of apps, we'd like to talk about a few alternatives we've used that may fit different needs.
First up is Contentful
. Contentful is really a CMS that's focused on providing a robust API for your mobile apps to consume. If you have content that you manage and that needs to update on your user's devices periodically, Contentful's CMS approach is probably perfect for you.
Contentful doesn't provide you with a way of sending data from the devices back to the cloud, but if you're just concerned with curating some specific content on-device without needing to involve developers and a new app store release every time you update, then you should definitely look into it.
has more in common with Parse than Contentful does, but it's focused on near real-time applications and streaming data. Think live chat, location updates, and similar types of data where you want your app updating immediately as other people share or post without needing to hit refresh.
We've used Firebase on a few projects and it has a bit of learning curve since you need to [think about](https://www.firebase.com/docs/web/guide/structuring-data.html) how you structure and query your data in a very different way than you would with a more traditional database. Once you're in the Firebase mindset however, it's a very powerful tool.
In late 2014 Google bought Firebase
so our fingers are crossed that they don't suffer the same fate as Parse did under Facebook.
Amazon Web Services
We're going to be doing another blog post soon about how to build a micro-services based mobile back-end in the Amazon ecosystem. This approach leverages the AWS services like Lambda for discrete code execution and API Gateway for creating structured APIs, so stay tuned for more on that topic.
There are quite a few Parse alternatives out there. A few that we've used or looked into include Fat Fractal
. Many of these are more direct feature comparisons to Parse so if you're looking for a direct replacement for your apps, you can probably find one very easily.
What's next for Parse apps?
With Parse sunsetting their service, everyone that depends on them will need to figure out what to do next for their MBaaS needs. Parse is providing a few options and is planning on keeping the service up for another year so there's time to transition.
First, you can export your data and transition to another service. This approach is a pretty daunting prospect because you'll need to have a plan for your app store updates, downtime, etc. and will probably need to use both your new service and Parse side-by-side for a while. The headache of keeping things in sync and migrating all of your triggers and other Parse-specific code mean that making the transition will be a significant development effort.
Second, Parse is open-sourcing their server
. If you're able to host your own servers and handle scaling them, this would be the easiest approach for existing Parse apps. It will be interesting to see how the open source Parse server grows over time. It's possible that it will become a big player in the mobile back-end space, even though the "as a service" part is being shut down.
The mobile back-end as a service has made full-featured mobile app development much easier and cheaper, but as Parse taught us this week it's not without risk. Your app can be dependent on a service that you have no control over and if it shuts down, you can be stuck needing to foot the bill to update your app. That said, with many alternatives to Parse and no obvious signs that any of them are going away any time soon, we'll still continue to use various MBaaS's in our apps because the benefits are so significant.
Want to know if Mobile Backend-as-a-service (MBaaS) is right for your project? Contact us
to learn more or share your thoughts.
Written by: Thadd Selden
, CTO, Worry Free Labs