All Projects → angular → Angularfire

angular / Angularfire

Licence: mit
The official Angular library for Firebase.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Angularfire

app
Source code of intencje.pl website and mobile/desktop apps based on Angular, Firebase, and Capacitor.
Stars: ✭ 12 (-99.83%)
Mutual labels:  notifications, rxjs, realtime, cloud-functions, cloud-firestore
Sapphiredb
SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core
Stars: ✭ 326 (-95.36%)
Mutual labels:  firebase, realtime-database, realtime
Game Music Player
All your music are belong to us
Stars: ✭ 76 (-98.92%)
Mutual labels:  rxjs, firebase, ngrx
Kotlin Firebase Group Chat
Group and OneonOne chat using firebase built in Kotlin similar to whatsapp.
Stars: ✭ 44 (-99.37%)
Mutual labels:  firebase, realtime-database, realtime
Rxdb
🔄 A client side, offline-first, reactive database for JavaScript Applications
Stars: ✭ 16,670 (+137.16%)
Mutual labels:  rxjs, realtime-database, realtime
Vuefire
🔥 Firebase bindings for Vue.js & Vuex
Stars: ✭ 3,234 (-53.99%)
Mutual labels:  firebase, realtime
Telepat Api
This is the Telepat API where HTTP calls are made. CRUD operations are not processed here directly. Messages are sent to the Telepat workers where CRUD operations are being taken care of along with client communication (notifications).
Stars: ✭ 335 (-95.23%)
Mutual labels:  notifications, realtime
Firebase Admin Java
Firebase Admin Java SDK
Stars: ✭ 345 (-95.09%)
Mutual labels:  firebase, realtime-database
Store
RxJS powered state management for Angular applications, inspired by Redux
Stars: ✭ 3,959 (-43.68%)
Mutual labels:  rxjs, ngrx
Keyist-Ecommerce
🔑 A simple ecommerce site powered with Spring Boot + Angular 10 + Ngrx + OAuth2
Stars: ✭ 220 (-96.87%)
Mutual labels:  rxjs, ngrx
Laravel Firebase
A Laravel package for the Firebase PHP Admin SDK
Stars: ✭ 369 (-94.75%)
Mutual labels:  firebase, realtime-database
Soundcloud Ngrx
SoundCloud API client with Angular • RxJS • ngrx/store • ngrx/effects
Stars: ✭ 438 (-93.77%)
Mutual labels:  rxjs, ngrx
Quizzine
Firebase Authentication,Realtime database,Firebase push notification,Firebase Quiz.The whole app contains dynamic data using firebase.
Stars: ✭ 37 (-99.47%)
Mutual labels:  notifications, realtime-database
ngrx-signalr-core
A library to handle realtime SignalR (.NET Core) events using @angular, rxjs and the @ngrx library
Stars: ✭ 18 (-99.74%)
Mutual labels:  rxjs, ngrx
signalr-client
SignalR client library built on top of @aspnet/signalr. This gives you more features and easier to use.
Stars: ✭ 48 (-99.32%)
Mutual labels:  rxjs, realtime
Geofirex
🌐 📍 Geolocation Queries with Firestore & RxJS
Stars: ✭ 396 (-94.37%)
Mutual labels:  rxjs, firebase
Event Reduce
An algorithm to optimize database queries that run multiple times
Stars: ✭ 589 (-91.62%)
Mutual labels:  realtime-database, realtime
Messenger
iOS - Real-time messaging app 🎨
Stars: ✭ 491 (-93.01%)
Mutual labels:  firebase, realtime-database
Applozic Android Sdk
Android Real Time Chat & Messaging SDK
Stars: ✭ 611 (-91.31%)
Mutual labels:  notifications, realtime
Emberfire
The officially supported adapter for using Firebase with Ember
Stars: ✭ 689 (-90.2%)
Mutual labels:  firebase, realtime-database

AngularFire

The official Angular library for Firebase.

ng add @angular/fire

AngularFire smooths over the rough edges an Angular developer might encounter when implementing the framework-agnostic Firebase JS SDK & aims to provide a more natural developer experience by conforming to Angular conventions.

  • Dependency injection - Provide and Inject Firebase services in your components
  • Zone.js wrappers - Stable zones allow proper functionality of service workers, forms, SSR, and pre-rendering
  • Observable based - Utilize RxJS rather than callbacks for realtime streams
  • NgRx friendly API - Integrate with NgRx using AngularFire's action based APIs.
  • Lazy-loading - AngularFire dynamically imports much of Firebase, reducing time to load your app
  • Deploy schematics - Get your Angular application deployed on Firebase Hosting with a single command
  • Google Analytics - Zero-effort Angular Router awareness in Google Analytics
  • Router Guards - Guard your Angular routes with built-in Firebase Authentication checks

Example use

import { provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
import { getFirestore, provideFirestore } from '@angular/fire/firestore';

@NgModule({
  imports: [
    provideFirebaseApp(() => initializeApp({ ... })),
    provideFirestore(() => getFirestore()),
  ],
  ...
})
export class AppModule { }
import { Firestore, collectionData, collection } from '@angular/fire/firestore';
import { Observable } from 'rxjs';

interface Item {
  name: string,
  ...
};

@Component({
  selector: 'app-root',
  template: `
  <ul>
    <li *ngFor="let item of item$ | async">
      {{ item.name }}
    </li>
  </ul>
  `
})
export class AppComponent {
  item$: Observable<Item[]>;
  constructor(firestore: Firestore) {
    const collection = collection(firestore, 'items');
    this.item$ = collectionData(collection);
  }
}

Compatibility

Angular and Firebase versions

AngularFire doesn't follow Angular's versioning as Firebase also has breaking changes throughout the year. Instead we try to maintain compatibility with both Firebase and Angular majors for as long as possible, only breaking when we need to support a new major of one or the other.

Angular Firebase AngularFire
13 9 ^7.2
12 9 ^7.0
12 7,8 ^6.1.5
11 7,8 ^6.1
10 8 ^6.0.4
10 7 ^6.0.3
9 8 ^6.0.4
9 7 ^6.0

Version combinations not documented here may work but are untested and you will see NPM peer warnings.

Polyfills

Neither AngularFire or Firebase ship with polyfills. To have compatability across as wide-range of environments we suggest the following polyfills be added to your application:

API Environments Suggested Polyfill License
Various ES5+ features IE 11
Safari < 10
core-js/stable MIT
globalThis IE 11
Chrome < 71
Safari < 12.1
iOS < 12.2
Node < 12
globalThis MIT
Proxy IE 11
Safari < 10
proxy-polyfill Apache 2.0
fetch IE 11
Safari < 10.1
iOS < 10.3
cross-fetch MIT

Resources

Quickstart - Get your first application up and running by following our quickstart guide.

Contributing

Stackblitz Template - Remember to set your Firebase configuration in app/app.module.ts.

Upgrading to v7.0? Check out our guide.

Sample apps

We have three sample apps in this repository:

  1. samples/compat a kitchen sink application that demonstrates use of the "compatability" API
  2. samples/modular a kitchen sink application that demonstrates the new tree-shakable API
  3. samples/advanced the same app as samples/modular but demonstrates more advanced concepts such as Angular Universal state-transfer, dynamically importing Firebase feature modules, and Firestore data bundling.

Having troubles?

Get help on our Q&A board, the official Firebase Mailing List, the Firebase Community Slack (#angularfire2), the Angular Community Discord (#firebase), Gitter, the Firebase subreddit, or Stack Overflow.

NOTE: AngularFire is maintained by Googlers but is not a supported Firebase product. Questions on the mailing list and issues filed here are answered on a best-effort basis by maintainers and other community members. If you are able to reproduce a problem with Firebase outside of AngularFire's implementation, please file an issue on the Firebase JS SDK or reach out to the personalized Firebase support channel.

Developer Guide

AngularFire has a new tree-shakable API, however this is still under active development and documentation is in the works, so we suggest most developers stick with the Compatiability API for the time being. See the v7 upgrade guide for more information..

This developer guide assumes you're using the Compatiability API (@angular/fire/compat/*).

Monitor usage of your application in production

AngularFireAnalytics provides a convenient method of interacting with Google Analytics in your Angular application. The provided ScreenTrackingService and UserTrackingService automatically log events when you're using the Angular Router or Firebase Authentication respectively. Learn more about Google Analytics.

Interacting with your database(s)

Firebase offers two cloud-based, client-accessible database solutions that support realtime data syncing. Learn about the differences between them in the Firebase Documentation.

Cloud Firestore

AngularFirestore allows you to work with Cloud Firestore, the new flagship database for mobile app development. It improves on the successes of Realtime Database with a new, more intuitive data model. Cloud Firestore also features richer, faster queries and scales better than Realtime Database.

Realtime Database

AngularFireDatabase allows you to work with the Realtime Database, Firebase's original database. It's an efficient, low-latency solution for mobile apps that require synced states across clients in realtime.

Authenticate users

Local Emulator Suite

Upload files

Receive push notifications

BETA: Change behavior and appearance of your application without deploying

Firebase Remote Config is a cloud service that lets you change the behavior and appearance of your app without requiring users to download an app update. Learn more about Remote Config.

Monitor your application performance in production

Firebase Performance Monitoring is a service that helps you to gain insight into the performance characteristics of your iOS, Android, and web apps. Learn more about Performance Monitoring.

Directly call Cloud Functions

Deploying your application

Firebase Hosting is production-grade web content hosting for developers. With Hosting, you can quickly and easily deploy web apps and static content to a global content delivery network (CDN) with a single command.

Server-side rendering

Angular Universal is a technology that allows you to run your Angular application on a server. This allows you to generate your HTML in a process called server-side rendering (SSR). AngularFire is compatible with server-side rendering; allowing you to take advantage of the Search Engine Optimization, link previews, the performance gains granted by the technology, and more. Learn more about Angular Universal.

Ionic

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].