I really wanted this article to get into the meat of how to build an Angular app with Firebase. It gets the basics working but it would've been nice to see some details about Firebase security, good practices about what goes where with respect to what AngularFire provides, etc.<p>I've only been playing around with it but I thought I'd add some ideas that are working so far for me:<p>- Don't use your Firebase URL all over the place in your app.<p>- DRY it up by creating an AngularJS constant for your main Firebase instance (e.g. "module.constant('baseStore', new Firebase('<a href="https://whatever.firebaseio.com'));"" rel="nofollow">https://whatever.firebaseio.com'));"</a>).<p>- Every sub reference to the base now uses the "child" method off that baseStore object to get sub-objects (e.g. "var props = baseStore.child('props');").<p>- Create an auth service that your app uses instead of using the AngularFire auth libs directly. Makes it much easier to control/test your auth flow, especially if you change from "email/password" to, say, "persona".<p>I still have some questions about the interactions between Angular and Firebase/AngularFire but maybe I'll save them for a StackOverflow question. ( =
It would be good to get Firebase's Angular bindings to work decently well for top-level objects and improve their promise support. I recently worked on <a href="http://worldmap.io" rel="nofollow">http://worldmap.io</a> as a way to test a bunch of angular-related tech and the firebase bindings, while dead easy to start, were a pain as I couldn't resolve them in the routeProvider. Instead I had to do it inside the controller, which forced me to keep a bunch of boilerplate. See <a href="https://github.com/alexandrosm/worldmap/blob/master/app/scripts/controllers/main.coffee" rel="nofollow">https://github.com/alexandrosm/worldmap/blob/master/app/scri...</a><p>Still, a great project and concept, just has some more way to go before I'd use it in a real project. I do want to check out <a href="https://github.com/marknutter/firebase-resource" rel="nofollow">https://github.com/marknutter/firebase-resource</a> though, made by a fellow HNer and mentioned last time around.
I'm also working on an AngularJS + FireBase web app (<a href="http://hixup.com/#/3fKz/" rel="nofollow">http://hixup.com/#/3fKz/</a>). I posted a 'Show HN' yesterday but it didn't get much traction. My app lets you create a simple poll where the votes and comments are updated in real time. Thanks to Firebase I could concentrate on writing client-side code only.<p>I agree with the other commenters that the AngularFire bindings are not mature yet. The documentation is lacking in detail and I couldn't figure out how to make it work with lists in Firebase. So I ended up using the regular Firebase javascript API instead of AngularFire.<p>You can have a look at the code here: <a href="https://github.com/dbbert/personal/tree/gh-pages" rel="nofollow">https://github.com/dbbert/personal/tree/gh-pages</a>.
The AngularJS team had a few Firebase meetups several months ago. At the first event, someone from fbase showed how to create a todo app. When people asked about their backend implementation details, they didn't reveal a thing. I'm already turned off by giving up server-side control, withholding their implementation details is a huge red flag.
I am working on this as I learn AngularJS - <a href="https://github.com/manojlds/EventBase" rel="nofollow">https://github.com/manojlds/EventBase</a><p>Working with Firebase has been fun, but security is hard. AngularFire is not really mature yet, too.