AngularFire is the officially supported AngularJS binding for Firebase. Firebase is a full backend so you don't need servers to build your Angular app.
AngularFire is a complement to the core Firebase client. It provides you with three Angular services:
$firebaseObject
- synchronized objects$firebaseArray
- synchronized collections$firebaseAuth
- authentication, user management, routing
In order to use AngularFire in your project, you need to include the following files in your HTML:
<!-- AngularJS -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<!-- Firebase -->
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/1.0.0/angularfire.min.js"></script>
Use the URL above to download both the minified and non-minified versions of AngularFire from the Firebase CDN. You can also download them from the releases page of this GitHub repository. Firebase and Angular can be downloaded directly from their respective websites.
You can also install AngularFire via npm and Bower and its dependencies will be downloaded automatically:
$ npm install angularfire --save
$ bower install angularfire --save
Once you've included AngularFire and its dependencies into your project, you will have access to
the $firebase
service.
AngularFire requires Firebase in order to sync data. You can sign up here for a free account.
The Firebase docs have a quickstart, guide, and full API reference for AngularFire.
We also have a tutorial to help you get started with AngularFire.
Join our Firebase + Angular Google Group to ask questions, provide feedback, and share apps you've built with AngularFire.
If you'd like to contribute to AngularFire, you'll need to run the following commands to get your environment set up:
$ git clone https://github.com/firebase/angularfire.git
$ cd angularfire # go to the angularfire directory
$ npm install -g grunt-cli # globally install grunt task runner
$ npm install -g bower # globally install Bower package manager
$ npm install # install local npm build / test dependencies
$ bower install # install local JavaScript dependencies
$ grunt install # install Selenium server for end-to-end tests
$ grunt watch # watch for source file changes
grunt watch
will watch for changes in the /src/
directory and lint, concatenate, and minify the
source files when a change occurs. The output files - angularfire.js
and angularfire.min.js
-
are written to the /dist/
directory. grunt watch
will also re-run the unit tests every time you
update any source files.
You can run the entire test suite via the command line using grunt test
. To only run the unit
tests, run grunt test:unit
. To only run the end-to-end Protractor
tests, run grunt test:e2e
.