Parse Server or: How I Learned to Stop Writing CRUD and Love the Front
April 07, 2017Adrien Lacroix3 min read
Interesting fact: In October 2016, for the first time, the majority of the Internet traffic came from mobile devices.
It confirms mobile devices market as the priority for the next years and it motivates more and more people to jump into the adventure of "Create my App".
Some developers looking for a good app idea. (2017)
But developing an app is not an easy task. Indeed, besides obvious features for your app, you will need a complete infrastructure behind, with a database, a server, handling notifications, etc.
Taking care of all this stuff takes a lot of time, work, tears, and doesn't bring business value. And as a developer, it requires a whole new set of skills to handle it.
For instance, you're at a hackathon. You want a quick prototype of your app, but you fail completely because of your broken backend which you spent half of the time to configure. Annoying, isn't it?
Are we sentenced to write CRUD and setup backends all our lives? I say no!
Introducing the BaaS
And to support my No, I present the BaaS (for Backend as a Service). It will allow you to connect your mobile apps to cloud-based services by providing an API and SDKs. This includes key features like:
- User management
- Cloud storage
- Push notifications
- Integration with social networking services
And it's a booming market: in 2012, the BaaS market was worth 215 Million USD and it should be worth 28.10 Billion USD by 2020.
Obviously, competition is tough. How can we choose among all the BaaS offers?
Don't worry, I've got this. For this perilous adventure, we will use Parse Server, a wonderful and powerful toolbox.
But before using it, where does it come from?
A quick history
Parse was founded in 2011. The firm was developing at the time Parse Platform, a BaaS (surprising, isn't it? ¯\_(ツ)_/¯).
It quickly gained in popularity to the point of being acquired by Facebook in 2013 for $85 million. In 2014, Parse was reported to power 500,000 mobile apps!
Sadly, in January 2016, Facebook announced that it would close Parse down, with services effectively shutting down in January 2017. But good news, Parse did open the application source code in order to allow users to perform the migration: this was the birth of Parse Server.
What does it do?
Although Parse Server is no longer really a BaaS, it does everything that I said.
One of the big advantages of Parse compared to its competitors is its impressive choice of SDK. Whether you need a common database for your iOS and Android apps, or if you want to store all the data from your Arduinos in a same place, Parse Server's got your back.
It has a dashboard where you can administrate multiple Parse instances, support Push notifications, Cloud Code, and soon Analytics.
In addition, it's open source with almost 30k stars in total (counting SDKs, Dashboard, etc.) on GitHub. It's a living project which evolves very quickly.
There are other "real" BaaS existing on the market. Firebase, by Google, is a really good one. I chose Parse here because when I started, there wasn't much choice, and when I had this need again a few months ago, Parse Server was here, waiting for me, as a solid competitor. Since, I don't regret my choice. Being an active open-source project makes the whole thing more lively, more dynamic, and likely to evolve quickly. And if you're afraid to install Parse Server infrastructure on a server, many well-known providers has ready-to-go offers for you (like Heroku, AWS, Windows Azure, etc.).
I used it on personal projects in Python, Ionic 2 and soon on my Rasberry Pi and Arduinos. It helps me a lot, saving me a lot of time and tears. Even if my projects were small, if you are worried in terms of reliability for real projects, it was made for this in the first time.
Now, it's your turn
If you have an MVP to do by tomorrow and you still haven't started, this is your moment.
To start quickly, you have:
- The Parse Platform website
- The Parse Server GitHub repository
- The documentation
- A docker-compose ready Parse Server
You are only one-click away if you use online providers (such as Heroku, Azure, AWS)...