In the previous blog post, we spoke about the importance of server side applications for Mobile Application Developers. In this post we will talk about the various options we have as Mobile Application Developers to easily get started with Backend development.
A typical server side application development route looks like the following :
- Setting up and configuring the Database
- Setting up and configuring the Backend
- Application Specific Database Modelling
- Creating the APIs to be used by the front-end applications
- Securing the Backend
- Managing the Infrastructure
It is important to get a good understanding of how things work and are set up. However, from the above mentioned steps, every step apart from modelling your own database schema is repetitive and shouldn’t be in the setting up check list of your application. It would thus be ideal for a Mobile Application Developer to have a tool or a service to aid them with this repetitive work and enable them to concentrate solely on the business logic.
There are various services which give us this option:
Parse was one such service which got shut down recently, breaking the hearts of a number of developers. Parse was used by a number of organisations at the production level.
Another such service is Firebase, which comes with a gazillion out of the box features. While in hindsight these services are quite fancy and helps us get our MVP out quick and effortlessly, these services present a number of problems(read this and this). But one fantastic thing about Firebase is that they are improving with every update and are very sincerely listening to all the developer concerns.
Besides the implementation and other issues mentioned in the links posted, one of the major concerns with services like Firebase and Parse is that we cannot own our data as the data is hosted on their servers. Furthermore, since it is proprietary software there is vendor lock in.
Parse Server, an open source version of the Parse backend, created after Parse shut down, can be deployed to any infrastructure that can run Node.js. Parse Server works with the Express web application framework. It can be added to existing web applications, or run by itself. While we own our data and infrastructure with Parse Server, you need to know Node.js to work with it.
As a mobile application developer, I would take delight in finding a BaaS which lets me write server side code in the language of my choosing (eg: Swift if I were an iOS developer, Java if I were an Android developer)
An ideal service would combine the benefits of each of the above: provide each developer with the freedom to develop and model the backend according to their needs, own their own data, code in the language of their choice, help with deployment and handle scalability and security, all the while remaining quick to set up. Sounds impossible right?
The Hasura platform was created keeping all of this in mind. Unlike other services, the Hasura platform does not look to do away with a backend altogether, but rather, it aims to help you become a capable back-end developer as quickly as possible.
A few of the major features that sets the platform apart from other services are :
- It is built using open source software such as Docker, Postgres, Kubernetes etc.
- It supports Heroku-like git push deployment.
- It provides out-of-the-box data APIs.
- You can write your own custom APIs in the language of your choosing.
- Automatic SSL certificates.
- Authentication service which helps you secure your app with Oauth2 (Facebook, Google, Linkedin, Github etc.)
Update: Find benchmarks for the Hasura platform vs Firebase (and vs Heroku, vs DigitalOcean) here.
Add backend APIs to your apps in minutes with the Hasura platform. Check it out here: https://hasura.io