Last January, the popular cloud‑based backend provider Parse announced that 2016 will be its last operational year, with service ending January 28, 2017. Thousands of users were surprised by the news: Parse appeared a successful venture, and its unexpected closure has thrown more than a few development teams into panic mode.
Parse was bought by Facebook in 2013, and with Facebook’s endless funds at its disposal the company should have been solid. Apparently this wasn’t the case. The situation is similar to StackMob, another mBaaS (mobile backend‑as‑a‑service) which was acquired by PayPal two years ago and met a similar fate.
Want to know more about server-side for mobile apps? Read our post What is The “Server‐side” of Mobile Applications, and Why Do I Need It?
At the risk of sounding cruel, the HireRussians team is almost glad this happened. Not because Parse was a bad service — quite the opposite in fact. But just like any other technical solution, Parse had its limitations. However, because Parse was so effective, users sometimes forgot about these. In fact, Parse’s success was so huge that it actually became a detriment. Users began looking at Parse as a flawless, limitless service that could fulfill every requirement. Unfortunately this wasn’t the case. For example, one of Parse’s most common drawbacks was that it limited users to no more than a thousand results from a query. Not a problem for a simple app, but a big issue for more complex apps with larger databases. In fact, this limit could easily become a nightmare, resulting in loss of information and necessitating the redevelopment of large parts of an application.
To be honest, there are only two cases where our developers would have recommended Parse:
- If the app is really simple and the database isn’t likely to become more complicated
- If the aim is to develop a prototype (i.e. for an investor showcase), with the application undergoing significant redevelopment to support complex functionalities during a second phase
In all other instances, risking Parse’s limitations simply isn’t worth the reward.
First though, the positive: the Parse team has done an excellent job with “end of service” support, providing customers with guidelines and tools to help them migrate to a new backend. Users are supposed to start migrating by the end of April, so you should begin evaluating your options if you haven’t already done so.
And now the negative: to help customers transition to the new backend, the Parse team released two tools: a migration tool for data transfer to any self‑hosted MongoDB database, and Parse Server, an open‑source backend with which to run the Parse API on your own server. Sounds painless, right? Nope. Unfortunately, Parse Server does not support several of the functionalities Parse itself supports. If your app simply stores data or user‑sessions and authorizations, you won’t have a problem. But if you use all of Parse’s functionalities, you might find yourself in the unenviable position of having to redevelop a huge chunk of your app.
To summarize, Parse users have two options:
- Implement Parse Server on a self‑hosted server, with the knowledge that Parse Server is not equivalent to Parse functionality‑wise
- Redevelop your app using custom server‑side
The best choice is probably to redevelop the app using custom server‑side: for some cases it might be even cheaper than option 1 and it’s the only logical conclusion if the app cannot be scaled to work on Parse Server. Of course, there’s a third option: find a BaaS solution that covers the same features as Parse. However, this tricky road is paved with potential issues — for example another unexpected, Parse‑like shutdown.
If you’re dealing with iOS development, we think CloudKit is the safest route. It’s native Apple technology, so it’s not going anywhere as long as Apple is around. Alas, as with any other backend service, CloudKit has some truly puzzling restrictions — for instance, you can’t use logical disjunction in queries. But hey, nobody’s perfect.
When it comes to cross‑platform cloud‑based backend solutions, an industry leader is still being sought. A dozen or so services are touting themselves as desirable Parse alternatives, but very few can actually back up this claim. Some are automatically disqualified due to lack of functionalities, and others pretend to be BaaS when in fact they’re only providing IaaS (Infrastructure as a Service). Unike “true BaaS”, IaaS pretty much provides you only with computing resources in the form of a virtual server, but other than that you’re on your own, starting with deployment and finishing with app maintenance.
If you’re up for a challenge and you don’t mind a little risk, we suggest you check out AnyPresence and Backendless. Both enjoy positive buzz in the dev community.
In sum, Parse’s story is yet another reminder of the risk associated with third‑party components. But it’s not all doom and gloom, because HireRussians team is here to throw you a lifeline. If you’re looking to rescue your project(s) from Parse or any other dearly‑departed third‑party service, contact us. We’re ready, willing, and able to provide a stronger foundation for your future development business!