The Realtime Backend
for your App
Creating an app shouldn't require managing complex infrastructure.
The full stack is never really that simple
... and neither is the client side
The user doesn't care about your backend
Speed
Offline
Multi-platform
Simple Authentication
The Realtime Backend
for your App
Firebase apps can run on client-side code only
NoSQL data-store
Returns JSON from a RESTful API
Whenever data is updated in Firebase, it sends the update down to every listening client
SDKs
What happens when you go through a tunnel?
Firebase clients store a local cache of your data. When the user goes offline, the app still works as expected with the local cache.
What happens when you go on a flight?
On mobile, Firebase persists data to a local store. The app will continue to work even across app restarts.
Firebase supports several forms of authentication
Email & Password
Github
Anonymous
...and even custom backends
By default everyone can write and read
{
"rules": {
".read": true,
".write": true,
}
}
Everyone can read, but no one can write
{
"rules": {
".read": true,
".write": false,
}
}
Secure specific parts of your Firebase
{
"rules": {
".read": true,
"message": {
".write": false
}
}
}
Special variables to power authentication
{
"rules": {
".read": true,
"message": {
".write": "auth !== null",
".validate": "!data.exists()"
}
}
}
Use $wildcards as route parameters
{
"rules": {
".read": false,
".write": false,
"users": {
"$userid": {
".read": "true",
".write": "auth.uid === $userid"
}
}
}
}
When you're ready to launch
firebase init
# select your firebase
firebase deploy
# party time
Production-grade
Static Asset
Free SSL
CDN cached assets
One click rollbacks
A chat app in AngularFire
var app = app.module('app', ['firebase']);
app.controller('ChatCtrl', function($scope, $firebaseArray) {
var ref = new Firebase('https://<your-firebase>.firebaseio.com/messages');
$scope.messages = $firebaseArray(ref);
});
<html>
<body ng-app="app">
<div ng-controller="ChatCtrl">
<p ng-repeat="message in messages">message.text</p>
</div>
</body>
</html>
Store and query items based on their geographic location in realtime
170,000+ registered developers
1M concurrent users on Firebase sites
Joined Google October, 2014
The user doesn't care about the backend
What matters is that your app is fast and enjoyable