This is a huge deal because a huge amount of iOS apps use Parse as their backend, including EventBrite, Vevo, and even the White House. We were fans ourselves, and even wrote several tutorials about it.
But now – everyone who used Parse has to scramble to find an alternative.
In addition, that Parse has shut down, it has everyone thinking. Since Parse was one of the biggest and most popular BAAS providers, if it shut down, what else may shut down in the future? Is anything safe? Maybe we should think more carefully about the cost of taking shortcuts.
Fortunately, there are many alternatives to Parse. In this article, we’ve navigated the field, narrowing it down to what we personally consider the top five Parse alternatives.
Let’s dig in!
5) Custom Backend
What is it: Developing and hosting custom code
Building a custom backend can be a daunting task, but if you have a bit of experience with a server-side programming language and know a thing or two about servers, this avoids having a dependency on a company that may shut down.
In addition, since you have full control, you can build handy some custom features. For example, if you wanted to do some fancy image processing or optical character recognition you have free reign to do whatever you need.
As Uncle Ben said, with great power comes great responsibility. A custom backend takes a lot of time to build, and afterwards requires regular maintenance – and for many small apps, this cost may not be worth the benefit. You also need to take the standard security precautions like getting an SSL Certificate, protecting database access, etc.
Rather than maintaining your own infrastructure, I’d recommend using a service like Heroku or Microsoft Azure to make it easier. Writing some some of your own code can introduce server-side bugs, which in addition to client-side bugs, can be a lot to handle.
In short, rolling out a custom backend is a rewarding experience and a great learning opportunity that gives you tons of power and flexibility, but in return costs a ton of work.
- Highly customizable and flexible
- Can choose almost any language or framework
- Need to use/learn another programming language
- Managing infrastructure like database, servers, etc. requires maintenance
- Scaling can become an issue without prior experience
- Can get costly quickly
4) Parse Server
What is it: Open source server released by Parse/Facebook to replicate functionality of Parse
On the same day that Facebook announced they were shutting down Parse, they also released an open-source replacement called Parse Server, which you can download for free on Github. The lead developer of the project, Fosco Marotto, wrote that he doesn’t think of the recent news as Parse shutting down; he thinks of it as Facebook Open-Sources Parse.
Migration from Parse to Parse Server is supposed to be the most seamless of all the options, and there are many step-by-step guides that take you through the process. Since Parse models, users, functions, and more are supported, client side code doesn’t need to be changed all that much.
Running Parse Server still requires you to maintain a server and a Mongo database, both of which can be challenging without some DevOps experience or a willingness to learn. Again, to make this a bit easier I’d recommend deploying Parse Server to an infrastructure-as-a-service like Heroku or Microsoft Azure.
- Will not require major changes client-side, since you can still use the Parse SDKs
- Open-source – will always have access to it and the community will continue to build features
- Can be hosted in almost any environment
- Step by step tutorial on our site
- Many notable Parse features are missing including the Dashboard, Webhooks, Push delivery, Jobs, Analytics and Config
- Requires provisioning a server, since it’s self-hosted
What is it: Apple Framework to help save data and store assets
In iOS 8, Apple introduced CloudKit – a new remote data storage service for apps based on iCloud. It provides a low-cost option to store and share data using users’ iCloud accounts as a back-end storage service.
CloudKit is great if data persistence is the top priority. The already generous usage limits increase as your app gets more users, which means that CloudKit will likely be free for most applications. The built-in subscriptions/notifications can be useful for social or other content-sharing applications. Your app can subscribe to changes on certain objects, and CloudKit will send the app a notification when those records are changed.
Although CloudKit is definitely iOS focused, Apple has released CloudKit JS to build simple web apps and recently released Server-side tokens, which allow your server to communicate with CloudKit services via a REST API.
One drawback is users are required to be signed into iCloud when saving any data, which can be a hinderance if some of your users are not logged in.
- Simple to start using – use Objective-C or Swift and built-in APIs
- Subscriptions/Notifications when specific data is created, updated, or deleted
- Generous limits that grow as your user base grows
- User-friendly CloudKit Dashboard to manage data
- Server-to-Server tokens
- Tutorials and video tutorials on our site
- Limited to iOS (with the exception of CloudKit JS)
- Users required to use iCloud
2) AWS Mobile Hub (DynamoDB, Lambda, API Gateway, Cognito)
What is it: Integrated console that helps you create, build, test, and monitor your mobile apps that leverage AWS services
You can’t go far in the engineering world without someone mentioning “AWS” – Amazon Web Services.
Mobile Hub integrates many AWS services that handle user-related tasks like authentication, data storage, backend logic, push notifications, and more in one convenient dashboard. At a high level, API Gateway exposes (via URLs) code that’s written in Lambda. Lambda functions can then use many other services, including DynamoDB (a database) and Cognito (used for authentication).
The different components within AWS tend to play nice with each other. For example, it would be easy to upload files to Amazon S3 (Simple Storage Solution) and have a Lambda function process that image automatically. Wrapping your head around all these services and how they work is definitely challenging. Since AWS is ubiquitous, it may be worth the investment because it’s likely that you’ll encounter these services at another point in the future.
AWS’s generous limits and reasonable pricing mean that for a small app you may not have to pay at all, and as your app grows you won’t have to pay much more. Mobile Hub also has a handy feature that can generate custom client SDKs for iOS or Android based on what you have set up.
Mobile Hub and its components are very scalable and can handle almost any amount of users you can throw at it. AWS is growing rapidly and Amazon continues to invest in it, so I cannot imagine it will disappear anytime soon.
- Can replace almost every Parse feature from cloud code to analytics to push notifications
- Works well with many of Amazon’s services
- Very scalable
- Best in-class pricing with generous limits
- Need to use another programming language (Java, Python, or Node.js)
- Somewhat steep learning curve