In the era of rapid prototyping, we can get bright ideas, but sometimes they are not applicable if they take too much work. Often, the back-end is the limiting factor - many considerations never apply to server-side coding due to lack of knowledge or time.
Firebase is a Backend-as-a-Service(BaaS) which started as a YC11 startup. It grew up into a next-generation app-development platform on Google Cloud Platform. Firebase (a NoSQLjSON database) is a real-time database that allows storing a list of objects in the form of a tree. We can synchronize data between different devices.
Google Firebase is Google-backed application development software which allows developers to develop Android, IOS, and Web apps. For reporting and fixing app crashes, tracking analytics, creating marketing and product experiments, firebase provides several tools.
Firebase has three main services, i.e., a real-time database, user authentication, and hosting. We can use these services with the help of the Firebase iOS SDK to create apps without writing any server code.
History of Firebase
Firebase evolved from Envolve. Envolve is a prior startup founded by James Tamplin and Andrew Lee in 2011. Envolve provided developers an API which allowed the integration of online chat functionality into their websites. After releasing the chat service, it found that the envlove was being used to pass application data, which were not chat messages. Developers used Envolve to sync application to separate the real-time architecture and the chat system which powered it. In September 2011, Tamplin and Lee founded firebase as a separate company. It was lastly launched to the public in April 2012.
Firebase Real-time Database was the first product of firebase. It is an API which syncs application data across Android, iOS, and Web devices. It gets stored on Firebase's cloud. Then the firebase real-time database helps the developers to build real-time, collaborative applications.
- In May 2012, after launching the beta, Firebase raised $1.1M in seed funding from Greylock Partners, venture capitalists Flybridge Capital Partners, New Enterprise Associates, and Founder Collective.
- In June 2013, the company again raised $5.6M in Series A funding from Flybridge Capital Partnersandventure capitalists Union Square Ventures.
- Firebase launched two products in 2014, i.e., Firebase Hosting and Firebase Authentication. It positioned the company as a mobile backend as a service.
- Firebase was acquired by Google in October 2014.
- Google promoted Divshot to merge it with the Firebase team in October 2015.
- In May 2016, Firebase expanded its services to become a unified platform for mobile developers. Now it has integrated with various other Google services, including AdMob, Google Cloud Platform, and Google Ads, to offer broader products and scale it for developers.
- Google acquired Fabric and Crashlytics from Twitter in January 2017 to add Fabric and Crashlytics services to Firebase.
- Firebase launched Cloud Firestore in October 2017. It is a realtime document database as the successor product for the original Firebase Realtime Database.
Why use Firebase?
- Firebase manages real-time data in the database. So, it easily and quickly exchanges the data to and from the database. Hence, for developing mobile apps such as live streaming, chat messaging, etc., we can use Firebase.
- Firebase allows syncing real-time data across all devices - iOS, Android, and Web - without refreshing the screen.
- Firebase provides integration to Google Advertising, AdMob, Data Studio, BigQuery DoubleClick, Play Store, and Slack to develop our apps with efficient and accurate management and maintenance.
- Everything from databases, analytics to crash reports are included in Firebase. So, the app development team can stay focused on improving the user experience.
- Firebase applications can be deployed over a secured connection to the firebase server.
- Firebase offers a simple control dashboard.
- It offers a number of useful services to choose from.
Pros and Cons of Firebase
Firebase has a lot of pros or advantages. Apart from the advantages, it has disadvantages too. Let's take a look at these advantages and disadvantages:
- Firebase is a real-time database.
- It has massive storage size potential.
- Firebase is serverless.
- It is highly secure.
- It is the most advanced hosted BaaS solution.
- It has minimal setup.
- It provides three-way data binding via angular fire.
- It provides simple serialization of app state.
- We can easily access data, files, auth, and more.
- There is no server infrastructure required to power apps with data.
- It has JSON storage, which means no barrier between data and objects.
- Firebase is not widely used, or battle-tested for enterprises.
- It has very limited querying and indexing.
- It provides no aggregation.
- It has no map-reduce functionality.
- It cannot query or list users or stored files.