Skip to content

Commit 6298314

Browse files
authored
docs(core): Adding compatibility table and cleaning up "why"
1 parent 803d195 commit 6298314

File tree

1 file changed

+34
-23
lines changed

1 file changed

+34
-23
lines changed

README.md

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,20 @@
11
# AngularFire
22
The official [Angular](https://angular.io/) library for [Firebase](https://firebase.google.com/).
33

4-
```bash
5-
ng add @angular/fire
6-
```
7-
8-
## What is AngularFire?
9-
10-
- **Observable based** - Use the power of RxJS, Angular, and Firebase.
11-
- **Realtime bindings** - Synchronize data in realtime.
12-
- **Authentication** - Log users in with a variety of providers and monitor authentication state.
13-
- **Offline Data** - Store data offline automatically with AngularFirestore.
14-
- **Server-side Render** - Generate static HTML to boost perceived performance or create static sites.
15-
- **ngrx friendly** - Integrate with ngrx using AngularFire's action based APIs.
16-
- **Manage binary data** - Upload, download, and delete binary files like images, videos, and other blobs.
17-
- **Call server code** - Directly call serverless Cloud Functions with user context automatically passed.
18-
- **Push notifications** - Register and listen for push notifications
19-
- **Modular** - Include only what's needed. No AngularFire package is above 4kb with most under 2kb (gzipped).
4+
<strong><pre>ng add @angular/fire</pre></strong>
205

21-
## Quickstart
6+
AngularFire smooths over the rough edges a developer might encounter when implementing the framework-agnostic [Firebase JS SDK](https://github.com/firebase/firebase-js-sdk) in an Angular application and aims to provide a more natural developer expirience by conforming to Angular conventions.
227

23-
Get your first application up and running by following [our quickstart guide](docs/install-and-setup.md).
8+
- **Dependency injection** - Provide and Inject Firebase services in your components
9+
- **Zone.js wrappers** - Stable zones mean proper functionality of service workers, forms, SSR, and pre-rendering
10+
- **Observable based** - Utilize RxJS rather than callbacks for realtime streams
11+
- **NgRx friendly API** - Integrate with NgRx using AngularFire's action based APIs.
12+
- **Lazy-loading** - AngularFire dynamically imports much of Firebase, reducing time it takes to first load your application
13+
- **Deploy schematics** - Get your Angular application deployed on Firebase Hosting & Cloud Functions with a single command
14+
- **Google Analytics** - Zero-effort Angular Router awareness in Google Analytics with our `ScreenTrackingService`
15+
- **Router Guards** - Guard your Angular routes with built-in Firebase Authentication checks
2416

25-
## Example use:
17+
## Example use
2618

2719
```ts
2820
import { Component } from '@angular/core';
@@ -33,29 +25,48 @@ import { Observable } from 'rxjs';
3325
selector: 'app-root',
3426
template: `
3527
<ul>
36-
<li *ngFor="let item of items | async">
28+
<li *ngFor="let item of item$ | async">
3729
{{ item.name }}
3830
</li>
3931
</ul>
4032
`
4133
})
4234
export class MyApp {
43-
items: Observable<any[]>;
35+
item$: Observable<any[]>;
4436
constructor(firestore: AngularFirestore) {
45-
this.items = firestore.collection('items').valueChanges();
37+
this.item$ = firestore.collection('items').valueChanges();
4638
}
4739
}
4840
```
4941

42+
## Compatibility
43+
44+
| Angular | Firebase | AngularFire |
45+
| --------|----------|--------------|
46+
| 10 | 8 | ^6.0.4 |
47+
| 10 | 7 | ^6.0.3 |
48+
| 9 | 8 | ^6.0.4 |
49+
| 9 | 7 | ^6.0 |
50+
| 8 | 7 | ^5.2.3 |
51+
| 8 | 6 | ^5.2.0 |
52+
53+
<sub>Version combinations not documented here __may__ work but are untested and you will see NPM peer warnings.</sub>
54+
5055
## Resources
5156

57+
[Quickstart](docs/install-and-setup.md) - Get your first application up and running by following our quickstart guide.
58+
5259
[Contributing](CONTRIBUTING.md)
5360

5461
[Stackblitz Template](https://stackblitz.com/edit/angular-fire-start) - Remember to set your Firebase configuration in `app/app.module.ts`.
5562

5663
[Upgrading to v6.0? Check out our guide.](docs/version-6-upgrade.md)
5764

58-
**Having troubles?** Get help on the [Firebase Mailing List](https://groups.google.com/forum/#!forum/firebase-talk) (officially supported), the [Firebase Community Slack](https://firebase.community/) (look for the `#angularfire2` room), [Gitter](https://gitter.im/angular/angularfire2), or [Stack Overflow](https://stackoverflow.com/questions/tagged/angularfire2).
65+
**Having troubles?** Get help on the official [Firebase Mailing List](https://groups.google.com/forum/#!forum/firebase-talk), the [Firebase Community Slack](https://firebase.community/) (`#angularfire2`), the [Angular Community Discord](http://discord.gg/angular) (`#firebase`), [Gitter](https://gitter.im/angular/angularfire2), or [Stack Overflow](https://stackoverflow.com/questions/tagged/angularfire2).
66+
67+
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 <strong>best-effort basis</strong> by maintainers and other community members.
68+
69+
If you can reproduce a problem with Firebase outside of AngularFire's implementation, please [file an issue on the Firebase JS SDK's GitHub repo](https://github.com/firebase/firebase-js-sdk/issues) or reach out to the personalized [Firebase support channel](https://firebase.google.com/support/).
5970

6071
## Developer Guide
6172

0 commit comments

Comments
 (0)