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
What is it: Cross-platform app platform with realtime database, storage, push notifications, analytics and more
Firebase is one of the most popular replacements for Parse and for good reason. Their SDK is simple to use and you can start saving data in no time. Authentication with Facebook, Google, Twitter, Github, or email is a breeze with Firebase, especially since there is no additional backend needed.
Dedicated Parse users will also appreciate anonymous users, which is a Parse favorite. Also, similar to Parse is offline storage: Firebase can also serve as a replacement to Core Data–something that can save you hours of development time. The realtime database is great for something like a chat app, or any other use case where data transmission is time sensitive. The JSON tree data architecture is a bit different than traditional data architecture and definitely takes some getting used to.
Push Notifications are simple to setup and send through the dashboard. It’s possible to create custom segments, subscribe users to pre-determined topics, or even send notifications to individual devices. Firebase Analytics is also quite robust, featuring not only custom events, but also high-level data along with demographics. You can get a complete picture of your userbase by merely adding Firebase analytics. Additional features such as hosting, storage, and remote configuration round out Firebase’s offerings.
Firebase has a full suite of features and combined with its of ease of use it sits atop our list at our number one Parse replacement. Google has said that they will continue to support Firebase indefinitely, but you never know!
- Multi-platform: iOS, Android, JS, REST
- Authentication with many different providers without server code
- Push notifications dashboard
- Works offline
- Asset hosting
- May act as a Core Data replacement
- Realtime database
- Tutorial on our site
- JSON tree data architecture has a learning curve
- No simple way to add “Cloud Code”
Where To Go From Here?
You don’t want your backend to be a bottleneck for your app, so you should definitely choose carefully. One additional risk to consider using any service is longevity, or lack of. If the service is not around in a year or two, you’ll have to find another alternative and migrate again. Also keep in mind how easy it is to migrate data away from a specific platform/stack.
Some of these options require more server and DevOps knowledge than others, which can add a significant amount of complexity. Looking at costs upfront is important, but also take a look at how those costs will scale as your app scales. The most important thing to keep in mind is to use technology you either are looking forward to learning or are already comfortable with.
Not sure which to choose yet? Here’s our advice based on your situation:
- If you want a lot of flexibility and have some experience maintaining your own server, building a custom backend is a great option.
- If you want to change as little client code as possible, Parse Server will get the job done.
- If you want a straight-forward way to store data and are iOS only, CloudKit is probably the best option.
- If you want a lot of flexibility but don’t want to manage infrastructure, AWS Mobile Hub is a great option.
- If you really liked the idea of Parse, and want something similar, Firebase is the best bet.
For more discussion on the Parse shutdown, check out our recent podcast episode on the topic.
And that’s it – best of luck with your decision! We know there are many other Parse alternatives out there, so don’t forget to chime in with what you consider the best Parse alternatives, by joining the forum discussion below.