What exactly is Firebase?🔥🔥
Firebase is a mobile- and web application development platform, backed by Google, to help developers deliver richer app experiences. Firebase manages its own infrastructure with a nice set of tools to simplify the workflow of the developer by providing them with development kits and an online dashboard. These toolkits are interconnected, scalable and integrable with third party software to overcome complex challenges with standard building blocks.
How it all started..
Back in 2011, before Firebase was Firebase, it was a startup called Envolve. As Envolve, it provided developers with an API that enabled the integration of online chat functionality into their website. What’s interesting is that people used Envolve to pass application data that was more than just chat messages. Developers were using Envolve to sync application data such as a game state in real time across their users. This led the founders of Envolve, James Tamplin and Andrew Lee, to separate the chat system and the real-time architecture. In April 2012, Firebase was created as a separate company that provided Backend-as-a-Service with real-time functionality. After it was acquired by Google in 2014, Firebase rapidly evolved into the multifunctional behemoth of a mobile and web platform that it is today.
Highlights ✨and Challenges 💪
Highlights ✨🌟-
- JSON (Javascript Object Notation) storage means no barrier between data and objects.
- Simple serialization of app state.
- 3-way data binding via Angularfire.
- Easy access to data, files, auth, and more.
- No server infrastructure needed to power apps with data.
- Massive storage size potential.
- Real time, highly secure and serverless.
Challenges 💪❌-
- Not widely used or battle tested for Enterprises. This Technology is still new, so it might take a while to be used for Enterprises.
- Very limited querying and indexing. You might have to organize everything yourself.
- No aggregation and no Map Reduce. Map Reduce is available for other JSON data stores. It may yet be coming!
Build better Apps 👍👍
Firebase lets you build more powerful, secure and scalable apps, using world-class infrastructure using:
- Cloud Firestore ☁: is a flexible, scalable database for mobile, web, and server development from Firebase and Google Cloud Platform. It is a NoSQL document database that lets you easily store, sync, and query data for your mobile and web apps — at a global scale. It's supporting for Android, iOS and Web Platform.
- ML Kit 📦: Is a mobile SDK that brings Google’s machine learning expertise to Android and iOS apps in a powerful yet easy-to-use package. Whether you’re new or experienced in machine learning, you can implement the functionality you need in just a few lines of code.
- Cloud Functions ☁: For Firebase lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests. Your code is stored in Google’s cloud and runs in a managed environment. There’s no need to manage and scale your own servers. It’s supporting for Android, iOS, C++, Unity and Web Platform.
- Hosting 🕸: Is production-grade web content hosting for developers. With a single command, you can quickly deploy web apps and serve both static and dynamic content to a global CDN (content delivery network). You can also pair Firebase Hosting with Cloud Functions to build and host microservices on Firebase. It’s supporting only Web Platform.
- Cloud Storages ☁: Is for object storage service built for Google scale. The Firebase SDKs for Cloud Storage add Google security to file uploads and downloads for your Firebase apps, regardless of network quality. You can use our SDKs to store images, audio, video, or other user-generated content. On the server, you can use Google Cloud Storage, to access the same files. It’s supporting for Android, iOS, C++, Unity and Web Platform.
How can you improve App Quality using Firebase? 🤔
Firebase gives you insights into app performance and stability, so you can channel your resources effectively using:
- Crashlytics 😴: Is a lightweight, real-time crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality. Crashlytics saves you troubleshooting time by intelligently grouping crashes and highlighting the circumstances that lead up to them. It’s supporting for Android and iOS Platform.
- Performance Monitoring 💻: Is a service that helps you to gain insight into the performance characteristics of your iOS and Android apps. You use the Performance Monitoring SDK to collect performance data from your app, and then review and analyze that data in the Firebase console. Performance Monitoring helps you to understand where and when the performance of your app can be improved so that you can use that information to fix performance issues. It’s supporting for Android and iOS Platform.
- Test Labs🤖: Is a cloud-based app-testing infrastructure. It provides a large number of mobile test devices to help you test your apps. It’s supporting for Android and iOS Platform.
Summary🤓
Firebase is Google's mobile application development platform.
You're going to save tons of time and money using Firebase products instead of building them yourself.
You can use all of it, parts of it, or a single piece of it. All those parts work together like a well oiled engine and help you achieve your goal!