Skip to content

Google Firebase

Introduction

James Tamplin and Andrew Lee once created a startup called Evolve, wanting to give developers the ability to intergrate live-chat to their websites. This later evolved into Firebase, wich have become one of the larges BaaS and is currently used by almost 50.000 customers. Companies like Amazon Web Series, Nexstar, Home Depot and NCR Corporation uses Google Firebase to host their websites. Most companies that uses Firebase are small-sized companies with 0-9 employee’s, so Firebase is the perfect product for startups an smaller buisnesses.

Google Firebase is a dynamic and feature-rich backend platform, empowering developers to build robust and safe web and mobile applications. From its inception as an independed startup, Firebase has evolved into a comprehensive backend-as-a-service (BaaS) solution.

Firebase offers a varity of services, ranging from Realtime Database, Authentication, Cloud functions and Hosting. Firebase was acquired by Google in 2014, and has since then expanded its capapillities. Intregrating services as analitics, cloud storage and more. Firebase is in a position to become the “go-to” platform for modern app development.

Brief History

  • 2011 - Evolve is established as a startup by James Tamplin and Andrew Lee, an app that provided the integration of online chat on a website.
  • 2011 - Firebase is created as a separate company to provide backend-as-a-service.
  • 2012 - Firebase is launched to the public
  • 2014 - Firebase is aquired by Google
  • 2015 - Google aquired Divshot, and merges it with the Firebase-team
  • 2016 - Google announces firebase Analytics, and that the product is expandig to become a BaaS plattform.
  • 2017 - Google aquires Fabric and Crashlytics from Twitter, and add these services to Firebase

Main Features

- Realtime Database

Firebase provides a NoSQL-cloud database that allows developers to store and sync data in real-time. This is a well-suited feature for applications that require collaborations and live updates.

- Authentication

This simplifies the process of user authentication, offering various sign-in methods such as email/password, social media logins and more. It integrates seamlessly with firebase services and provides secure authentication.

- Cloud Firestore

A RealTime Database - Cloud Firestore is a scalable NoSQL document database. It offers advanced querying and structuring capabilities. This allows developers to model and query data flexibly and effective.

- Cloud functions

This enables developers to be able to run backend-code in response to events triggered by Firebase features or HTTP requests. This helps automating tasks on the server side.

- Cloud Storage for Firebase

Firebase has a scalable and secure cloud storage solution for storing user generated content, such as images, videos and other files.

- Firebase Hosting

Hosing allows developers to deploy and host web applications. Firebase provides SSL support, CDN delivery and easy integration with other Firebase services. This makes it convenient for hosting static and dynamic content.

- Cloud messaging (FCM)

Cloud messaging enables developers to send push-notifications to users devices. This works with Android, iOS and web.

- Analytics

Firebase Analytics provides insights into user behaviour and the apps performance. This can help developers understand how users interact, and how to optimize the page in the future.

- Remote Config

Remote configuration gives the developers the opportunity to do apperance-changes on their application without having to publish an update. This allows for a dynamically change on the app.

Firebase provides Dynamic Links, that are deep links that dynamically directs user to the right content. Whether its a website, app install page or specific content within an app.

Market Comparison

- AWS Amplify

Strengths:

  • Comprehensive set of backend services
  • Seamless intergration with AWS cloud services
  • Extencive scalability options

Conciderations:

  • May have a steeper learning curve for beginners
  • Requires familiarity with AWS services

- Microsoft Azure Mobile Apps

Strengths:

  • Integration with the Azure cloud ecosystem
  • Extensive backend services and databases
  • Strong support for enterprise-level applications

Considerations:

  • May have more extensive set of features, potentially leading to complexity

- Supabase

Strenghts:

  • Open-source alternative to Firebase
  • Build on top of PostgreSQL for scalable databases
  • Offers real-time functionallity similar to Firebase

Considerations:

  • Growing community, but may not have as extensive resources as Firebase

- AppWrite

Strenghts:

  • Open-source BaaS solution
  • Offers authentication, database and storage service
  • Simplifies backend development

Considerations:

  • May have smaller community compared to Firebase

- Backendless

Strenghts:

  • Provides a wide range of backend services
  • Supports both cloud and on-premises deployment
  • Strong focus on scalability and flexibility

Considerations:

  • May have more features than needed for smaller and simpler projects

Getting Started

Step one:

1. Create a user on Firebase

2. Visit the Firebase Console

Go to the Firebase console in the navigation

3. Click on “Add Project”

Click on the “Add project” button to create a new Firebase project

4. Fill in all the project details

Enter a project name, select country/region and agree to the terms. Click “continue”

5. Configure Google Analytics (Optional)

You can choose to enable Google Analytics in your project. Follow the prompts to configure analytics, or you can skip this step.

6. Create project

Click “Create project” to create your firebase project.

Step two:

1. Navigate to “Authentication” in the Firebase Console

In the Firebase Console, go to the “Authentication” section.

2. Set Up Sign-in Methods:

Configure the sign-in methods you want to support, such as email/password, Google, or other social providers.

Step three:

1. Navigate to “Hosting” in the Firebase Console

In the Firebase Console, go to the “Hosting” section

2. Install the Firebase CLI

If you havent done this already, install Firebase CLI into your project by running: npm install -g firebase-tools

3. Initialize Firebase Hosting

In your project directory, run: firebase init hosting Follow the prompts to configure Firebase Hosting

4. Deploy your app

Once configured, deploy your app to Firebase Hosting by using: firebase deploy

Step four:

1. View Deployed App

After a successfull deployment, you will recieve a hosting URL (e.g., ‘https://your-project-id.web.app’), Open this URL in your browser to see your deployed app.

Congratulations!

You have now set up your basic Firebase project, and deployed a web app using Firebase Hosting. Now it’s up to you to search trough the services that Firebase provides and customize the app! For more information about the services, you can see the Firebase-Documentation

Conclusion

In conclution, Google Firebase stands at the forefront of backend development, also making it easier for other developers with lesser knowlegde about backend to improve their apps and websites. Firebase provides a versitale toolkit, and its array of services like Realtime Database, Cloud Functions and Firebase Hosting, empowers developers to focus on crafting, rather than managing complex infrastructure. As Firebase continues to evolve, its integration with Google services and acuisition of key technologies like Fabric and Crashlytics further solidify its position in the developers ecosystem.

Google Firebase is perfect whether you are a skilled developer, or a newcomer. It offers a user-friendly interface, robust and clear documentation and a vibrant community. This combination makes it an ideal choice for projects of all scales and complexities. Take advantage of the rich ecosystem, experiment with features and leverage the power of Firebase to bring life into your ideas.

References

Additional Resources