Choosing an App Development Platform: Firebase [REVIEW]

Firebase is a backend as a service mobile and web app development platform from Google. Although developers have the option of skipping server-side programming, Firebase’s powerful suite of cloud-based features can expand functionality using server side code.

BaaS

Backend as a Service platforms provide a subscription-based backend so developers don’t have to write one. App development platform: Software that allows developers to create and deploy applications.

What problem does Firebase solve?

Firebase helps developers build dynamic, scalable mobile apps quickly. It negates most (if not all) of the hassle of creating and managing infrastructure.

Benefits of Firebase

  • Hosting
  • Realtime database
  • Authentication
  • Ad management
  • Analytics
  • App Indexing
  • Remote configuration variables for apps
  • Performance monitoring/Crash reporting
  • User management system
  • Cloud storage and functions
  • Test Lab for Android

Strengths

Users like Firebase for its huge feature set (currently 16 well tested features). Developers don’t have to pay for the complete package; they can pick and choose which features they want to use independently of each other. Besides the features listed above under benefits, Firebase offers push notifications, Google Analytics, dynamic links, invites, cloud messaging, AdMob, and Adwords. Mobile apps are Firebase’s strong point. It’s cross-platform friendly and optimized for realtime apps. Firebase is also scalable; the number of users can grow very quickly without an appreciable affect on performance. Firebase excels when it come to prototyping. Freed of the need to recreate a custom stack for each mobile app, developers can focus on building their front end and begin generating revenue up to four times faster than possible through non-BaaS methods. In addition, a mobile developer without backend experience could conceivably test a new idea without involving a full-time backend expert. (To be fair, that method would be much slower than traditional app development since one person would be doing all the work. The savings there would be financial.) Speaking of financial matter, projects with slim budgets are a good fit for Firebase. The large up-front investment associated with backend development is broken into more manageable subscription payments. Shorter app development also leads to lower labor costs since the time of skilled programmers is one of the most significant costs of any development initiative.

Weaknesses

The biggest weakness of Firebase is that, while it’s great for prototyping and scales well, it only handles a certain level of complexity. Embedding third party services requires adding a server code. Users also need to to create their own API to integrate their app with Firebase. To build a truly robust application developers use cloud functions to create custom logic for different flows and to integrate with other third party services. This means that once an app grows past that certain level of complexity developers can find themselves doing much of the work Firebase was intended to avoid. As a NoSQL database, Firebase is not the best solution for large amounts of structured data. It doesn’t easily support transactions and is not HIPAA compliant. There are limits on queries imposed by the streaming data structure. With subscription services like Firebase, it’s important to remember that this leaves apps vulnerable to potential Firebase issues (company changes or closure, fluctuating prices, disruptions to uptime, etc). Closure isn’t a serious threat since Firebase is a Google project, but there have been notable periods of downtime in the recent past. Migrating to another service could be a significantly difficult experience, too.

Comparison

Kinvey: While Kinvey is easier to implement with a shorter learning curve than Firebase, it’s priced accordingly. Couchbase: Couchbase is similar to Firebase. While it is open source, it lacks the bevy of features that attract users to Firebase. Hoodie: Hoodie’s advantage is its offline support. It has a very small developer community, though, and few of Firebase’s trademark features. Parse Server: Parse Server was popular, but after struggling with some intrinsic faults Facebook (who owned it) decided to shut it down earlier this year. It is still brought up as a comparable tool to Firebase, though it’s been shuttered.

Real-life application

NPR uses the analytics feature of Firebase to improve targeting and insights. Playbuzz employed a combination of Firebase features to increase campaign efficiency. TradeFix.io, a real time stock/option trading company, uses Firebase in its mobile app.

Conclusion

Within its area of focus, Firebase is enormously successful. Most criticisms of Firebase can be attributed to using it outside that area. For rapid prototyping and deployment, there are few tools that match Firebase for features now that Parse Server is out of the picture.

If you need highly experienced backend developers who know Firebase, share with us your challenges and we’ll help come up with the right solution tailored to fit your needs. Request a Consultation