EmberFire
EmberFire is the officially supported adapter for using Firebase with Ember
Join the Firebase Google Group
to ask technical questions, share apps you've built, and chat with other developers in the community. You can also find us in the Firebase Community Slack (look for the #ember
room) or Stack Overflow.
WARNING: Master branch is the work in progress for version 3 of Emberfire. You can find version 2 here, if you're looking for documentation or to contribute to stable. Learn more about the rewrite effort here.
Why EmberFire?
- Offically supported - Maintained by the Firebase team
- Ember Data Adapters - Cloud Firestore and Realtime Database adapters for Ember Data allow you to persist your models in Firebase
- Ember Services -
firebase
and firebase-app
services allow direct access to the underlying Firebase SDK instance - Realtime Bindings - Listen for realtime updates to your Firebase backed Ember Data models using the provided
realtime-listener
service or the RealtimeRouteMixin
- Authentication Providers - Integrate Firebase Authentication with your Ember application easily with providers for Ember Simple Auth and Torii
- Offline Enabled - Persist Ember Data models offline automatically with
FirestoreAdapter
- Fastboot Compatible - Perform initial rendering and fetching of your models server-side to increase application performance
Installation
$ ember install emberfire
Example use
import FirestoreAdapter from 'emberfire/adapters/firestore';
export default FirestoreAdapter.extend({
enablePersistence: true,
persistenceSettings: { experimentalTabSynchronization: true }
});
import DS from 'ember-data';
const { attr, belongsTo, hasMany } = DS;
export default DS.Model.extend({
title: attr('string'),
body: attr('string'),
publishedAt: attr('date'),
author: belongsTo('user'),
comments: hasMany('comments', { subcollection: true }),
});
import Route from '@ember/routing/route';
import RealtimeRouteMixin from 'emberfire/mixins/realtime-route';
export default Route.extend(RealtimeRouteMixin, {
model() {
return this.store.query('article', { orderBy: 'publishedAt' });
}
})
Documentation
Compatibility
Please consult this table when selecting your version of EmberFire and Firebase SDK:
Ember Data | EmberFire | Firebase SDK |
---|
3.0+ | 3.x | 5.x |
2.3+ | 2.x | 3.x |
2.0 - 2.2 | 1.6.x | 2.x |
1.13 | 1.5.x | 2.x |
Migration Guides
Contributing
If you'd like to contribute to EmberFire, please first read through our contribution
guidelines. Local setup instructions are available here.