Skip to content

FirebaseExtended/emberfire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmberFire Build Status Version Monthly Downloads Ember Observer Score

Status

Status: Experimental

This repository is maintained by Googlers but is not a supported Firebase product. Issues here are answered by maintainers and other community members on GitHub on a best-effort basis.


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?

  • Developed by experts - Developed and 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
  • Analytics Collection - The AnalyticsRouteMixin adds Google Analytics screen tracking to your Ember Router.
  • 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@next

Example use

// app/adapters/application.js
import FirestoreAdapter from 'emberfire/adapters/firestore';

export default FirestoreAdapter.extend({
    enablePersistence: true,
    persistenceSettings: { synchronizeTabs: true }
});
// app/models/article.js
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 }),
});
// app/routes/articles.js
import Route from '@ember/routing/route';
import RealtimeRouteMixin from 'emberfire/mixins/realtime-route';
import PerformanceRouteMixin from 'emberfire/mixins/performance-route';

export default Route.extend(RealtimeRouteMixin, PerformanceRouteMixin, {
    model() {
        return this.store.query('article', { orderBy: 'publishedAt' });
    }
});
// app/routes/application.js
import AnalyticsRouteMixin from 'emberfire/mixins/analytics-route';
import Route from '@ember/routing/route';

export default Route.extend(AnalyticsRouteMixin);

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.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy