54 lines
2.8 KiB
Markdown
54 lines
2.8 KiB
Markdown
# React Native Firebase
|
|
|
|
RNFirebase makes using the latest [Firebase](http://firebase.com) with React Native straight-forward.
|
|
|
|
```
|
|
npm i react-native-firebase --save
|
|
```
|
|
|
|
[![Gitter](https://badges.gitter.im/invertase/firebase.svg)](https://gitter.im/invertase/firebase?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
[![npm version](https://img.shields.io/npm/v/react-native-firebase.svg)](https://www.npmjs.com/package/react-native-firebase)
|
|
[![License](https://img.shields.io/npm/l/react-native-firebase.svg)](/LICENSE)
|
|
|
|
RNFirebase is a _light-weight_ layer sitting on-top of the native Firebase libraries for both iOS and Android which mirrors the React Native JS api as closely as possible.
|
|
|
|
Featuring; authentication, storage, real-time database, presence, analytics, cloud messaging, remote configuration, redux support and more!
|
|
|
|
## RNFirebase vs Firebase JS lib
|
|
|
|
Although the [Firebase](https://www.npmjs.com/package/firebase) JavaScript library will work with React Native, it is mainly designed for the web.
|
|
|
|
The native SDK's are much better for performance compared to the web SDK. The web SDK will run on the same thread as your apps ([JS thread](https://facebook.github.io/react-native/docs/performance.html#javascript-frame-rate)) therefore limiting your JS framerate, potentially affecting things touch events and transitions/animations.
|
|
|
|
The native SDK's also contains functionality that the web SDK's do not, for example [Analytics](/docs/api/analytics.md) and [Remote Config](/docs/api/remote-config.md).
|
|
|
|
## Examples app
|
|
|
|
There's currently a work in progress [examples app](https://github.com/invertase/react-native-firebase-examples) which aims to demonstrate various real world use-case scenarios with React Native & Firebase. We welcome any new examples or updates to existing ones, however please do not overcomplicate them.
|
|
|
|
## Test app
|
|
|
|
To help ensure changes and features work across both iOS & Android, we've developed an app specifically to test `react-native-firebase` against the [`firebase` web SDK](https://www.npmjs.com/package/firebase). Please see the [`react-native-firebase-tests`](https://github.com/invertase/react-native-firebase-tests) repository for more information.
|
|
|
|
## Documentation
|
|
|
|
* Installation
|
|
* [iOS](docs/installation.ios.md)
|
|
* [Android](docs/installation.android.md)
|
|
* [Firebase Setup](docs/firebase-setup.md)
|
|
* API
|
|
* [Authentication](docs/api/authentication.md)
|
|
* [Analytics](docs/api/analytics.md)
|
|
* [Storage](docs/api/storage.md)
|
|
* [Realtime Database](docs/api/database.md)
|
|
* [Presence](docs/api/presence.md)
|
|
* [ServerValue](docs/api/server-value.md)
|
|
* [Cloud Messaging](docs/api/cloud-messaging.md)
|
|
* [Remote Config](docs/api/remote-config.md)
|
|
* [Events](docs/api/events.md)
|
|
* [Redux](docs/redux.md)
|
|
|
|
## Contributing
|
|
|
|
- TODO
|