🔥 A well tested feature rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for over 15 Firebase services. https://invertase.io/oss/react-native-firebase
Go to file
Ben Styles 912722d331 add version to .flowconfig
The consequence of this is that **flow will not run in this project** unless you have `flow@0.40.x` installed. One solution to this is adding `flow-bin` to this package's devDependencies.
2017-04-04 11:55:50 +01:00
android [js][ios][android][messaging] full implementation of upstream send including RemoteMessage builder 2017-03-30 16:25:27 +01:00
bin misc build script changes 2017-03-17 14:57:22 +00:00
docs Updated iOS install docs with 3 different approaches 2017-03-28 09:22:25 +01:00
ios [js][ios][messaging] fixed misc messaging .send() types 2017-04-03 10:33:18 +01:00
lib [js][ios][messaging] fixed misc messaging .send() types 2017-04-03 10:33:18 +01:00
.babelrc base project files 2017-02-14 16:02:54 +00:00
.editorconfig base project files 2017-02-14 16:02:54 +00:00
.eslintrc android/js: cleanup / remove redundant code 2017-03-10 18:12:46 +00:00
.flowconfig add version to .flowconfig 2017-04-04 11:55:50 +01:00
.gitignore base project files 2017-02-14 16:02:54 +00:00
.npmignore misc build script changes 2017-03-17 14:57:22 +00:00
.watchmanconfig js: snapshot class incorrectly defining 'exists' as a bool prop, instead of a function 2017-03-09 15:27:49 +00:00
LICENSE base project files 2017-02-14 16:02:54 +00:00
README.md added discord badge 2017-03-27 17:20:08 +01:00
RNFirebase.podspec Fix iOS Podspec issue; Update documentation to make use of pod file for iOS setup rather than react-native link 2017-03-27 12:38:33 +01:00
React-Native-Firebase.svg added logo svg 2017-03-24 02:56:28 +00:00
firebase.android.js android: fixed once and on error handling 2017-03-07 16:54:04 +00:00
firebase.ios.js base project files 2017-02-14 16:02:54 +00:00
index.js android: fixed once and on error handling 2017-03-07 16:54:04 +00:00
package.json 1.0.0-alpha12 2017-04-03 10:33:48 +01:00

README.md

React Native Firebase

Chat Gitter npm version License

RNFirebase makes using Firebase with React Native simple.


Install

npm i react-native-firebase --save

Platform specific setup guides:

ios android


Why

RNFirebase is a light-weight layer sitting on-top of the native Firebase libraries for both iOS and Android which mirrors the Firebase Web SDK as closely as possible.

Although the Firebase Web SDK library will work with React Native, it is mainly built for the web.

RNFirebase provides a JavaScript bridge to the native Firebase SDKs for both iOS and Android. Firebase will run on the native thread, allowing the rest of your app to run on the JS thread. The Firebase Web SDK also runs on the JS thread, therefore potentially affecting the frame rate causing jank with animations, touch events etc. All in all, RNFirebase provides much faster performance (~2x) over the web SDK.

The native SDKs also allow us to hook into device sdk's which are not possible with the web SDK, for example crash reporting, offline realtime database support, analyics and more!


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. Please see the react-native-firebase-tests repository for more information.


Examples app

There's currently a work in progress examples app which aims to demonstrate various real world use-case scenarios with React Native & Firebase. We welcome any new examples or updates to existing ones.


Documentation

RNFirebase aims to replicate the Firebase Web SDK as closely as possible. Because of this, the documentation focuses around the installation, differences & best practices of this library. Please see the Firebase Web SDK documentation for Firebase functionality.

If you find any discrepancies between the two libraries, please raise an issue or PR.


Contributing

We welcome any contribution to the repository. Please ensure your changes to the JavaScript code follow the styling guides controlled by ESlint. Changes to native code should be kept clean and follow the standard of existing code.

Changes to existing code should ensure all relevant tests on the test app pass. Any new features should have new tests created and ensure all existing tests pass.

Project board: https://github.com/invertase/react-native-firebase/projects


License

  • MIT