Startup tips: Why you should consider using Firebase

Any startup looking to develop a mobile app for either iOS or Android, a web app or any application that requires a backend, should seriously consider using Firebase as a backend. Why? There are so many reasons for it, but I will try to explain as succinctly as possible.

Initial Zero Cost

Firebase comes at an initial zero cost with the spark plan. This allows you to do a lot. Once you hit the limitations of the free plan, then you have the option of the Flame plan at a fixed cost of $25/month or the pay as you go plan. This type of pricing is great because it allows you to keep costs to a minimum during your development phase.

Includes a NoSQL Database

It comes with a NoSQL database included. You can opt either for the real-time database or the Firestore. There are pros/cons, so you need to decide which one fits your requirements best. There is also built-in database security so you can prevent data from being improperly accessed. You can configure the security rules using a javascript type language and via the Firebase console. This is a really strong point because most of the mobile or web apps nowadays will require a database.

Built-in federated authentication support

Firebase has built-in authentication support with passwords, phone numbers federated identity providers such as Facebook, Twitter, Google, etc. There are SDKs for iOS, Android, Web(Javascript), Node and Java. If you don’t want to create your own login screen, you can just drop in the Firebase Auth UI component into your app.

Built-in messaging support

Firebase has built-in messaging support. This is one of the most popular features and very use to use. In this day of social networks we all understand the power of connecting with your users to keep them engaged.

There is an API for sending programmatic notification messages. For instance based on new content available. Or if you are looking to send ad-hoc messages to your users, it is also possible to send custom messages using Firebase’s Compose Message function.

Remote configuration repository

You can keep all your configuration in a central location and outside your application’s source code. This is a big deal because you don’t want to have to release a new version of the application everytime you change a configuration parameter. There is also the hidden power of setting configuration parameters based on rules. You could, for instance, decide to configure a parameter differently based on geographical location, device type or based on any custom parameter that you decide to create. With this feature, one can keep a lot of logic out of the code. Who likes to create lots of if statements?

Crashlytics – Know when your apps crash and why

No serious app developer can go without this functionality

Crashlytics(previously Fabric) integration to firebase console. With this, you will know if the release of your new app crashes and you will get stack-traces.

You can host your HTML/JS, or even a node.js web app using Firebase’s hosting solution.

Go Serverless

In this day and age, the fewer servers you have to maintain, the better. With servers come maintenance cost, to keep servers patched, security risks as it could be easily hacked if you don’t patch it often enough. Also, it can become quickly a performance bottleneck.

To avoid all of the above, consider going Serverless with cloud functions. Cloud functions(CF) can do operations in the backend, allow you to create integration points with third-party systems(e.g. Paypal payment notifications).  CF can be triggered by URL or based on specific events such as a user signing up, buying a subscription, etc. If money is an issue, the only downside is that if you create a cloud function that connects to third-party services outside of Google Cloud, then you have to immediately start paying for the flame plan.

Firebase has more features that we are yet to try such as the ML kit(image recognition, text detection, image labeling, landmark recognition, etc) or the automated testing solutions, etc

The most compelling reason to use Firebase is that of all the things that it provides are for such a low adoption price. It helps you to go serverless, free of maintenance costs and it does scale….

For more detailed information please visit the firebase website(https://firebase.google.com/) where you can see more details on the features available and the pricing.

Leave a Reply

Your email address will not be published. Required fields are marked *