From dc181f853d729cd41e571605feaed36653eb43c6 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 01:21:18 +0000 Subject: [PATCH 01/13] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a694c1fc..258f5d5e 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,8 @@ We welcome any contribution to the repository. Please ensure your changes to the 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 From 70e17624bc18d8c033102f5ea5b1b3d585a20659 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 13:25:38 +0000 Subject: [PATCH 02/13] Update installation.ios.md --- docs/installation.ios.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/installation.ios.md b/docs/installation.ios.md index 5386dd41..c3b9d6fe 100644 --- a/docs/installation.ios.md +++ b/docs/installation.ios.md @@ -29,12 +29,11 @@ cd ios && pod update --verbose If you prefer not to use `react-native link`, we can manually link the package together with the following steps, after `npm install`: **A.** In XCode, right click on `Libraries` and find the `Add Files to [project name]`. - -![Add library to project](http://d.pr/i/2gEH.png) +![Firebase.xcodeproj add to files](https://cloud.githubusercontent.com/assets/5347038/24249673/0fccdbec-0fcc-11e7-83eb-c058f8898525.png) **B.** Add the `node_modules/react-native-firebase/ios/Firebase.xcodeproj` -![Firebase.xcodeproj in Libraries listing](http://d.pr/i/19ktP.png) +![Firebase.xcodeproj in Libraries listing](https://cloud.githubusercontent.com/assets/21329063/24249440/9494e19c-0fd3-11e7-95c0-c2baa85092e8.png) **C.** Ensure that the `Build Settings` of the `RNFirebase.xcodeproj` project is ticked to _All_ and it's `Header Search Paths` include both of the following paths _and_ are set to _recursive_: From ef5931b939ad82f228988d5d707110717ada5ae0 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 13:29:01 +0000 Subject: [PATCH 03/13] Update installation.ios.md --- docs/installation.ios.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.ios.md b/docs/installation.ios.md index c3b9d6fe..fcf9239d 100644 --- a/docs/installation.ios.md +++ b/docs/installation.ios.md @@ -1,10 +1,10 @@ -#iOS Installation +# iOS Installation If you don't want to use cocoapods, you don't need to use it! Just make sure you link the Firebase libraries in your project manually. For more information, check out the relevant Firebase docs at [https://firebase.google.com/docs/ios/setup#frameworks](https://firebase.google.com/docs/ios/setup#frameworks). ## cocoapods -Unfortunately, due to AppStore restrictions, we currently do _not_ package Firebase libraries in with Firebase. However, the good news is we've automated the process (with many thanks to the Auth0 team for inspiration) of setting up with cocoapods. This will happen automatically upon linking the package with `react-native-cli`. +We've automated the process of setting up with cocoapods. This will happen automatically upon linking the package with `react-native-cli`. **Remember to use the `ios/[YOUR APP NAME].xcworkspace` instead of the `ios/[YOUR APP NAME].xcproj` file from now on**. From c31f20953a7d501e993d72549f28140d99751209 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 13:33:37 +0000 Subject: [PATCH 04/13] Update installation.ios.md --- docs/installation.ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.ios.md b/docs/installation.ios.md index fcf9239d..2602beac 100644 --- a/docs/installation.ios.md +++ b/docs/installation.ios.md @@ -1,6 +1,6 @@ # iOS Installation -If you don't want to use cocoapods, you don't need to use it! Just make sure you link the Firebase libraries in your project manually. For more information, check out the relevant Firebase docs at [https://firebase.google.com/docs/ios/setup#frameworks](https://firebase.google.com/docs/ios/setup#frameworks). +Setup the Firebase ios frameworks first; check out the relevant Firebase docs [here](https://firebase.google.com/docs/ios/setup#frameworks). ## cocoapods From c09ee6826943416a51ebd9162f1cc10da5b42b87 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 13:38:10 +0000 Subject: [PATCH 05/13] Update installation.ios.md --- docs/installation.ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.ios.md b/docs/installation.ios.md index 2602beac..e766a6a3 100644 --- a/docs/installation.ios.md +++ b/docs/installation.ios.md @@ -41,7 +41,7 @@ If you prefer not to use `react-native link`, we can manually link the package t 2. `$(SRCROOT)/../node_modules/react-native/React` 3. `${PROJECT_DIR}/../../../ios/Pods` -![Recursive paths](http://d.pr/i/1hAr1.png) +![Recursive paths](https://cloud.githubusercontent.com/assets/21329063/24250094/f9c4811a-0fd5-11e7-9aac-760f1ee2fd8a.png) **D.** Setting up cocoapods From 8c340838bc469fb76f6808f1063003891051a5a3 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 13:40:18 +0000 Subject: [PATCH 06/13] Update installation.ios.md --- docs/installation.ios.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/installation.ios.md b/docs/installation.ios.md index e766a6a3..a4ac8d10 100644 --- a/docs/installation.ios.md +++ b/docs/installation.ios.md @@ -1,6 +1,6 @@ # iOS Installation -Setup the Firebase ios frameworks first; check out the relevant Firebase docs [here](https://firebase.google.com/docs/ios/setup#frameworks). +Setup the Firebase ios frameworks first; check out the relevant Firebase docs [here](https://firebase.google.com/docs/ios/setup#frameworks) or see section `d` below. ## cocoapods @@ -50,17 +50,17 @@ Since we're dependent upon cocoapods (or at least the Firebase libraries being a Using cocoapods is the easiest way to get started with this linking. Add or update a `Podfile` at `ios/Podfile` in your app with the following: ```ruby -source 'https://github.com/CocoaPods/Specs.git' -[ - 'Firebase/Core', - 'Firebase/Auth', - 'Firebase/Storage', - 'Firebase/Database', - 'Firebase/RemoteConfig', - 'Firebase/Messaging' -].each do |lib| - pod lib -end +# Required by RNFirebase +pod 'Firebase/Auth' +pod 'Firebase/Analytics' +pod 'Firebase/AppIndexing' +pod 'Firebase/Core' +pod 'Firebase/Crash' +pod 'Firebase/Database' +pod 'Firebase/DynamicLinks' +pod 'Firebase/Messaging' +pod 'Firebase/RemoteConfig' +pod 'Firebase/Storage' ``` Then you can run `(cd ios && pod install)` to get the pods opened. If you do use this route, remember to use the `.xcworkspace` file. From ecde728f854f3d2ddbb31e27ae109db866e9bf54 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 13:45:33 +0000 Subject: [PATCH 07/13] Update installation.ios.md --- docs/installation.ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.ios.md b/docs/installation.ios.md index a4ac8d10..0bf6122b 100644 --- a/docs/installation.ios.md +++ b/docs/installation.ios.md @@ -41,7 +41,7 @@ If you prefer not to use `react-native link`, we can manually link the package t 2. `$(SRCROOT)/../node_modules/react-native/React` 3. `${PROJECT_DIR}/../../../ios/Pods` -![Recursive paths](https://cloud.githubusercontent.com/assets/21329063/24250094/f9c4811a-0fd5-11e7-9aac-760f1ee2fd8a.png) +![Recursive paths](https://cloud.githubusercontent.com/assets/21329063/24250349/da91284c-0fd6-11e7-8328-6008e462039e.png) **D.** Setting up cocoapods From e78c288b40910260952194e79376b50782eb8468 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 17:05:28 +0000 Subject: [PATCH 08/13] Update README.md --- README.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 258f5d5e..a39fd7bf 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,25 @@ -# React Native Firebase - -RNFirebase makes using the latest [Firebase](http://firebase.com) with React Native straight-forward. - -``` -npm i react-native-firebase --save -``` +# React Native Firebase [![Gitter](https://badges.gitter.im/invertase/react-native-firebase.svg)](https://gitter.im/invertase/react-native-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 Firebase Web SDK as closely as possible. +**RNFirebase** makes using [Firebase](http://firebase.com) with React Native simple. +
+ +### Install +``` +npm i react-native-firebase --save +``` + +#### Platform specific setup guides: + * [ios](docs/installation.ios.md) + * [android](docs/installation.android.md) ## RNFirebase vs Firebase Web SDK +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](https://www.npmjs.com/package/firebase) library will work with React Native, it is built for the web. RNFirebase provides a JavaScript bridge to the native Firebase SDKs for both iOS and Android. The Firebase processes will run on the native thread, allowing the rest of your app to run on the [JS thread](https://facebook.github.io/react-native/docs/performance.html#javascript-frame-rate). 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, RNFirebase provides much faster performance (~2x) over the web SDK. @@ -34,9 +40,6 @@ RNFirebase aims to replicate the Firebase Web SDK as closely as possible. Becaus > If you find any discrepancies between the two libraries, please raise an issue or PR. -* Installation - * [iOS](docs/installation.ios.md) - * [Android](docs/installation.android.md) * [Firebase Setup](docs/firebase-setup.md) * API * [Authentication](docs/api/authentication.md) From f7a3ba4818a4bb7029fe02f2042bf1fba0b7df5c Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 17:09:49 +0000 Subject: [PATCH 09/13] Update README.md --- README.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a39fd7bf..d9a6fb10 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,9 @@ npm i react-native-firebase --save ``` #### Platform specific setup guides: - * [ios](docs/installation.ios.md) - * [android](docs/installation.android.md) +[![ios](https://a.fsdn.com/sd/topics/ios_64.png)](docs/installation.ios.md) [![android](https://a.fsdn.com/sd/topics/android_64.png)](docs/installation.android.md) -## RNFirebase vs Firebase Web SDK +### RNFirebase vs Firebase Web SDK 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. @@ -26,15 +25,15 @@ RNFirebase provides a JavaScript bridge to the native Firebase SDKs for both iOS The native SDKs also allow us to hook into device events which are not possible with the web SDK, for example crash reporting, offline realtime database support, analyics and more! -## Test app +### 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. -## Examples app +### 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. -## Documentation +### 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](https://firebase.google.com/docs/reference/js/) documentation for Firebase functionality. @@ -49,7 +48,7 @@ RNFirebase aims to replicate the Firebase Web SDK as closely as possible. Becaus * [Messaging](docs/api/cloud-messaging.md) * [Crash](docs/api/crash.md) -## Contributing +### 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. @@ -57,6 +56,6 @@ Changes to existing code should ensure all relevant tests on the test app pass. **Project board:** https://github.com/invertase/react-native-firebase/projects -## License +### License - MIT From 4e92fcac9890a2c23b4f77526ca3c51e4791bbc8 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Thu, 23 Mar 2017 17:12:52 +0000 Subject: [PATCH 10/13] Update README.md --- README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d9a6fb10..c4297a24 100644 --- a/README.md +++ b/README.md @@ -15,24 +15,32 @@ npm i react-native-firebase --save #### Platform specific setup guides: [![ios](https://a.fsdn.com/sd/topics/ios_64.png)](docs/installation.ios.md) [![android](https://a.fsdn.com/sd/topics/android_64.png)](docs/installation.android.md) -### RNFirebase vs Firebase Web SDK +
+ +### 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](https://www.npmjs.com/package/firebase) library will work with React Native, it is built for the web. +Although the [Firebase Web SDK](https://www.npmjs.com/package/firebase) 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. The Firebase processes will run on the native thread, allowing the rest of your app to run on the [JS thread](https://facebook.github.io/react-native/docs/performance.html#javascript-frame-rate). 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, RNFirebase provides much faster performance (~2x) over the web SDK. +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](https://facebook.github.io/react-native/docs/performance.html#javascript-frame-rate). 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 events which are not possible with the web SDK, for example crash reporting, offline realtime database support, analyics and more! +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](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. +
+ ### 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. +
+ ### 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](https://firebase.google.com/docs/reference/js/) documentation for Firebase functionality. @@ -48,6 +56,8 @@ RNFirebase aims to replicate the Firebase Web SDK as closely as possible. Becaus * [Messaging](docs/api/cloud-messaging.md) * [Crash](docs/api/crash.md) +
+ ### 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. @@ -56,6 +66,8 @@ Changes to existing code should ensure all relevant tests on the test app pass. **Project board:** https://github.com/invertase/react-native-firebase/projects +
+ ### License - MIT From 4463292996304211e927bbb08bcef7a7a70497ff Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Fri, 24 Mar 2017 02:56:28 +0000 Subject: [PATCH 11/13] added logo svg thanks @greena13 for the conversion into an svg --- React-Native-Firebase.svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 React-Native-Firebase.svg diff --git a/React-Native-Firebase.svg b/React-Native-Firebase.svg new file mode 100644 index 00000000..685431f9 --- /dev/null +++ b/React-Native-Firebase.svg @@ -0,0 +1 @@ +Slice 1 \ No newline at end of file From 792902392faae9071bef5619101c589fd91c423a Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Fri, 24 Mar 2017 02:58:44 +0000 Subject: [PATCH 12/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c4297a24..50956125 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# React Native Firebase +# React Native Firebase [![Gitter](https://badges.gitter.im/invertase/react-native-firebase.svg)](https://gitter.im/invertase/react-native-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) From 4db1a4095e77f580847281fbed2371d07a3dbb72 Mon Sep 17 00:00:00 2001 From: Michael Diarmid Date: Fri, 24 Mar 2017 03:00:03 +0000 Subject: [PATCH 13/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 50956125..c4297a24 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# React Native Firebase +# React Native Firebase [![Gitter](https://badges.gitter.im/invertase/react-native-firebase.svg)](https://gitter.im/invertase/react-native-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)