For most iOS developers, Firebase by Google is the best choice for a backend service.
Firebase offers a simple and easy to use backend service. It will fit the needs of most developers, offering real time notifications and cloud functions.
Firebase has also been around since 2011 and is relied on by some of the largest companies in the world.
The community is large and there is ample knowledge online in case you get stuck.
Backend as a service is one of the fastest ways to add a backend to a mobile app.
BaaS were largely designed to fill the need of app developers.
They allow developers to save time on backend development, which in turn leads to faster time to market and decreased cost.
Backends as a service also allow the app to scale easily, as the databases and virtual servers are all managed by the service.
If your app reaches #1 on the App Store, a backend as a service would allow you to scale to thousands of users quite easily.
These services also handle a lot of DevOps (developer operations) tasks that most app developers are not familar with.
Overall, it’s easier, cheaper and faster to use a backend as a service instead of developing and deploying your own.
If your app needs to remember or save data, you’ll need a backend. Unless you’re just saving to the local device.
Does your app require authentication? You’ll need a backend.
Most apps that get data from another source, such as a news outlet or a blog feed, will require a backend to send that data to the mobile app.
If your app is simple and requires little to no internet connectivity, chances are you won’t need a backend.
However, if your app requires reading data from the internet, saving data or syncing data across different devices, you’ll need a backend to manage all of this.
Developers looking to launch their mobile app quickly should not build their own backend.
Backends as a service is a huge time saver. There’s a lot of overhead to making your own backend.
If your app just needs some simple authentication and simple data to be saved, it’s best to use a BaaS (backend as service) provider.
So who should build their own backend?
Apps that have special backend needs should build their own backend.
Perhaps your backend requires a very specific technology or library. Most BaaS provider’s won’t have this library available.
Then you’ll have to build your own in order to meet your needs.
There are many backend as a service providers today. I’ll go over some of the most popular ones and some of my favorites.
Firebase is one of the most popular backend as a service providers for mobile app developers and for good reason.
It’s been designed to be easy to use and has ample documentation and tutorials.
Backed by Google, Firebase is trusted by some of the biggest apps on the App Store today - such as Lyft, Duolingo, Venmo, Alibaba and The New York Times.
The Firebase ecosystem has a complete suite of tools for app development. Everything from real time data storage, authentication and cloud functions to crash reporting, messaging and experimentation.
Almost every feature you’ll ever need is in Firebase.
Firebase also has extensions that allow you to sync with other Google Cloud Platform products.
And best of all, it’s free to use for apps just getting started!
The free plan is very generous and should be more than enough for most applications.
I’d recommend firebase for most app developers.
AWS Amplify by Amazon is development platform that lets you build a backend for your mobile app easily as well.
Their feature set includes data storage, authentication and more:
The biggest benefit of using AWS Amplify is that it connects to the rest of the AWS ecosystem.
You will be able to access any of AWS services easily from Amplify.
The downside of AWS Amplify is that it is not as easy to learn as Firebase.
AWS is a very powerful suite of tools, however it is not super beginner friendly.
I recommend AWS Amplify for developers with specific needs to connect to the other AWS services.
Heroku is one of the original cloud application platforms.
Heroku allows you to run your favorite backend, supporting a wide variety of languages.
You can write your own backend on Heroku, as it’s a Platform As A Service (PaaS).
Platforms as a service differ from backends as a service.
Heroku handles the deployment and scaling of your backend, however, you still have to write it in your language of choice.
So you get greater flexibility at the cost of speed.
This is great choice for developers who need to use a specific framework or language for their backend but still want some of the DevOps handled for them.
8base is the new player on the block.
8base is described as like Firebase but with GraphQL instead.
That might be a bit of a stretch, but it is a growing backend as a service provider.
GraphQL is a query language for APIs developed by Facebook.
It offers developers a more flexible API experience on the frontend, allowing you to query for just what you need.
It minimizes changes needed to each endpoint, since there is only one endpoint.
This also results in less round-trips to the server and overall improves performance of your application.
I think 8base has a super bright future ahead of them and I’m excited to see it grow.