Firebase
Perks of Firebase
- Fast Data Synchronization
- No backend server to worry about
- Built-in Authentication
- Free-hosting*
- Instant Scalability
Save Data to the cloud
Since Firebase itself is a No SQL database you easily store data as simple JSON documents
{
"users": {
"mchen": {
"friends": { "brinchen": true },
"name": "Mary Chen",
// our child node appears in the existing JSON tree
"widgets": { "one": true, "three": true }
},
"brinchen": { ... },
"hmadi": { ... }
}
}
Realtime Data
- Firebase is simply a database with RESTful API
- However, not just an API
- Updates every client with the newest information
- Huge Selling Point
User Authentication
Hosting
Instant Scalability
Basics of Data
Creating a Firebase Reference
- Before reading and writing data we need to creat a reference to it. This data is loaded with a specified URL
var ref = new Firebase('https://youKaraoke.firebaseio.com/');
- You can also reference different paths
var roomRef = new Firebase("https://youKaraoke.firebaseio.com/room");
Saving Data
Standard ways to save
- .set()
- .push()
- .update()
Best Practices
- Avoid Nesting
{
"rooms": {
"one": {
"name": "room alpha",
"type": "private",
"messages": {
"m1": { "sender": "mchen", "message": "foo" },
"m2": { ... },
}
}
}
}
Retrieving Data
Listeners
- Data is retrieved by attaching an asynchronous listener to a Firebase reference.
- The listener will be triggered once for the initial state of the data and again anytime the data changes
ref.on("value", function(dataSnapshot) {
console.log(dataSnapshot.val());
});
Read event Types
- value
- child added
- child changed
- child removed
Awesome FrameWorks
- AngularFire
- EmberFire
- ReactFire
- BackboneFire
$firebase service
- The primary purpose of $firebase is to manage synchronized data
- These are some of the methods it contains
- $asObject()
- $asArray()
- Three-way Data Binding
Hosting
Quick and Easy
- Just three steps
$ npm install -g firebase-tools
$ firebase init
$ firebase deploy
- Gets deployed to
your-firebase-name.firebaseapp.com
Go try firebase
Firebase
By es1831
Firebase
- 1,642