Live data from Hacker News

Angular + Firebase Is RAD

gaslight.co

1–10 of 22 posts

Re: Angular + Firebase Is RAD

#4

The concept is RAD, in practice the Firebase learning curve sucks due to lack of good documentation of API semantics, especially w.r.t. AngularJS.

Agreed, I really like AngularJS and Firebase and I am using them together for a client but AngularFire isn't perfect and you're correct, the documentation could be much better.

Re: Angular + Firebase Is RAD

#5
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.

I've only been playing around with it but I thought I'd add some ideas that are working so far for me:

- Don't use your Firebase URL all over the place in your app.

- DRY it up by creating an AngularJS constant for your main Firebase instance (e.g. "module.constant('baseStore', new Firebase('https://whatever.firebaseio.com'));").

- 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');").

- 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".

I still have some questions about the interactions between Angular and Firebase/AngularFire but maybe I'll save them for a StackOverflow question. ( =

Re: Angular + Firebase Is RAD

#6
post #2

I am working on this as I learn AngularJS - https://github.com/manojlds/EventBase Working with Firebase has been fun, but security is hard. AngularFire is not really mature yet, too.

> AngularFire is not really mature yet, too.

I am running into this issue as well, I kind of wish I had written my own firebase service instead of using theirs because (Especially in the 0.2 release) I was seeing the app re-draw a ton of times due to the way that angularFire was loading the data. That and a bunch of little inconsistencies, like when creating an angularFireCollection you can optionally pass in a callback as the second parameter that returns your data, great if you want to assign it all at once instead of each "child_added" being fired but the object it returns is the same as is returned from a ref.once() call (As can be seen in the code for angularFireCollection) and for that not only do you need to call .val() on what is passed in to get the value but it is not an angularFireCollection, it is just Firebase data and so it rather useless as the binding does not work and you can't call the angularFireCollection methods on the returned data (like .add()).

Please don't get me wrong, AngularJS is awesome and Firebase is really cool but there is learning curve and as you said angularFire isn't really mature yet. That said I am very impressed with the work being done on angularFire (and speed) so hopefully it will shape up nicely.

Re: Angular + Firebase Is RAD

#7
post #5

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. I've only been playing around with it but I thought I'd add some ideas that are working so far for me: - Don't use your Firebase URL all over…

Couldn't agree more, I have run into the same things it appears you have and come to similar conclusions. That was what was hardest for me when getting started, there are a billion examples of how to write a chat app, a todo list, etc but none of the examples I came across had, as you call it the "meat of how to build and Angular app with Firebase". I felt like most of what I was seeing was gimmicky and had no real use (on it's own).

Re: Angular + Firebase Is RAD

#8
post #5

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. I've only been playing around with it but I thought I'd add some ideas that are working so far for me: - Don't use your Firebase URL all over…

Couldn't agree more, I have run into the same things it appears you have and come to similar conclusions. That was what was hardest for me when getting started, there are a billion examples of how to write a chat app, a todo list, etc but none of the examples I came across had, as you call it the "meat of how to build and Angular app with Firebase". I felt like most of what I was seeing was gimmicky and had no real u…

Yup. I'm also trying to learn AngularJS at the same time so the hits, they keep'a'coming. ( =

It would be nice in the AngularFire documentation if they were clear what was a promise (implicit binding) and what wasn't (explicit binding).

One of the things I ran into (which I hope they add to the documentation): before using implicit binding, create the object on the $scope in your controller first. Only after the empty object is on the scope should you call "angularFire(ref, $scope, 'thing');". The error that shows up if you don't do that is rather cryptic.

Re: Angular + Firebase Is RAD

#9
I'm also working on an AngularJS + FireBase web app (http://hixup.com/#/3fKz/). 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.

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.

You can have a look at the code here: https://github.com/dbbert/personal/tree/gh-pages.

Post reply on HN