Let’s start with the most obvious question – What is PropTech? The name PropTech is an amalgamation of the words “property” and “technology”, and is also commonly referred to […]
Backend-as-a-Service (BaaS) became a popular type of Cloud Services. They enable entrepreneurs and businesses to create digital products without investing in building their backend infrastructure. Among available cloud-computing solutions, there is Firebase held by Google. The platform gained a lot of attention offering useful services that accelerate product development. Today we take a closer look at the pros and cons of Firebase and answer a question whether it’s an ultimate solution for your project.
Firebase is Google’s platform for mobile and web development that helps entrepreneurs build, improve, and scale their app products. The platform offers a set of tools that make the product development process a lot easier. That’s why it’s suitable for building an MVP as it shortens the time and effort put in by developers to actually create it.
The ready-to-use services include Machine Learning Kit, Hosting, Storage functions, or Realtime Database. The infrastructure also offers some free products such as Analytics, Crash Reporting, or Cloud Messaging. The services are hosted in the cloud. That greatly facilitates the work of developers and letting them focus on the overall experience the product has to offer. The platform provides developers an API that allows app data to be synchronized across clients and stored on Firebase’s cloud.
To help you decide if the platform is worth your time and effort, we now evaluate its performance by comparing the pros and cons of Firebase.
First, the advantages that lead to why you should choose Firebase as your app backend.
Firestore and Realtime are database options one can choose to build their product. They both are cloud-hosted, NoSQL databases that are flexible and scalable in terms of size. Realtime database provides developers with offline access and realtime updates that enable them to work on responsive apps without internet connectivity.
The platform doesn’t charge for most of its services and requires choosing a pricing plan only after reaching a certain amount of database memory. It’s great for beginners who want to validate if the platform is good enough for their product and don’t want to pay for all the services upfront. For those who want to estimate the total price they need to pay for the customized plan, there is a price calculator that ease the process.
Firebase has well-prepared technical documentation that eases the work with offered services and makes them more accessible for users. You can find all the necessary information about integrations, availability and supported technologies. What’s more, there are about 1,5M apps around the world based on Firebase. It means that the community around the product and the number of resources will only benefit developers trying to find an answer to any problem.
Finally, the ease of integration and quick setup. The pre-made APIs that the platform offers enable you to add new functionalities within just a few clicks. Firebase requires little to no technical knowledge to start working on your product. The simple UI makes it possible to implement functionalities like authentication to your app without major problems. Working with Firebase there is no need for complex configurations, so nearly anyone can set up the app – web or mobile.
Like everything, also Firebase has its downsides.
Usually, you will use the Realtime Database as your main storage, which isn’t always good. The main problem is limited querying capabilities. You can’t query for more than one key at a time and the service doesn’t provide a way to filter your data. It’s because the whole DB is JSON file and it’s nothing near the storage format of SQL. The format also excludes the option to model the data.
You don’t host the data, all data is hosted on Firebase and it’s a major problem of using BaaS platforms as your app backend. Unless Firebase provides a migration tool to enable easy transfer of user’s data, it strongly limits data migration. It makes users dependent on the platform and in case of changing the concept of backend base, there is no way to transfer the app to another source.
Firebase doesn’t provide the same capabilities for Android and iOS apps. It’s still more Android centered and it’s the one system that gets most of dedicated services and facilities. For instance, Test Lab can be easily integrated with the Android studio and supports a wide range of Android devices for testing. When it comes to iOS, it was provided with closed beta support for iOS devices but includes a very basic range of testing.
Summing up the pros and cons of Firebase, it’s a good choice if you plan to build a new product from scratch or rewrite an existing one. The platform helps in storing and improving the dynamic content. Also, accelerates the development process, enabling getting faster results – so it’s a perfect one for building an MVP!
However, it shouldn’t be your final choice for a bigger project as the platform limits your actions regarding data migration and security. If you think about starting a bigger, more complex project and need a dedicated cloud solution – contact us!