Firebase is a Backend-as-a-Service — BaaS — platform developed by Google for creating mobile and web applications. It was originally an independent company founded in 2011. In 2014, Google acquired the platform and it is now their flagship offering for app development.
Here it is again in bigger letters, for impact:
Firebase is Google’s mobile application development platform that helps you build, improve, and grow your app.
Firebase provides elements like analytics, authentication, realtime and firestore databases, configuration, file storage, push messaging, and many more. The services are hosted in the cloud.
Now, what’s the mean of the hosted in the cloud? “hosted in the cloud” means that the products have backend parts that are fully maintained and operated by Google. Client SDKs provided by Firebase, interact with these backend services directly, with no need to establish an interface between your app and the backend service. So, if you’re using one of the Firebase database options, you typically write code to query the database in your client app.
What is the difference between Traditional app development and Firebase app development?
Firebase is totally different from traditional app development. Firebase frees developers to focus on excellent user experiences. You don’t need to manage your servers. You don’t need to write APIs. Firebase is your server, your API, and your datastore, all written so generically that you can adjust it to suit most requirements.
Now if you’re a backend engineer, you might think of it that your job is being eliminated! Don’t worry, this isn’t really true, as there are some things that simply ought to be on the backend for a variety of reasons. Firebase realizes this and offers a way to do some backend development, where it makes sense for the app you work on. So, don’t worry, your job is safe
So what Firebase provides us?
Firebase is based on three things- Build better apps, Improve app quality and, Grow your app.
Realtime Database: Real-time data is the way of the future. Nothing compares to it.
Most databases require you to make HTTP calls to get and sync your data. Most databases provide you data only when you request it.
When you connect your app to Firebase, you’re not connecting through normal HTTP. You’re connecting through a WebSocket. WebSockets are much, much faster than HTTP. You don’t have to make unique WebSocket calls, because one socket connection is enough. All of your data syncs automatically through that single WebSocket as fast as your client’s network can carry it.
File Storage: Firebase Storage provides a simple way to save binary files — mainly images, but it could be anything — to Google Cloud Storage directly from the client.
Authentication: Firebase authentication has a built-in email/password authentication system. It also supports OAuth2 for Google, Facebook, Twitter, Apple, and GitHub. We’ll focus on email/password authentication for the most part. Firebase’s OAuth2 system is well-documented and mostly copy/paste. So you will not find any difficulties to work on it.
Firebase Auth integrates directly into Firebase Database, so you can use it to manage access to your data. You can store the details of users in the database.
Hosting: Firebase includes an easy-to-use hosting service for all of your static files. It serves them from a global (Content Delivery Network)CDN with HTTP/2.
- Remote Config
- Test Lab
- Dynamic Links
Firebase Pros and Cons:
- Email & password, Google, Facebook, and Github authentication
- Realtime database
- Ready-made APIs
- Built-in security at the data level
- File storage backed by Google Cloud Storage
- Static file hosting
- Limited query facilities due to Firebase’s data stream model
- Traditional relational data models are not applicable to NoSQL; therefore, your SQL chops will not transfer
For more details visit GBAndroidblogs