I actually wrote my first AngularJS app a few months ago, back in February. However, despite the long delay, I wanted to do a proper writeup describing my experience – mostly because it was a lot of fun!
Below is a screenshot and link to the demo site I created. It was a proof of concept for a simple consulting site, complete with real-time charts and graphs. If you open up the website in two windows, and change some data, both windows will automatically update – the graphs and charts will animate the change. Awesome! The code can be found on my bitbucket account.
- Firebase is awesome. There’s no other way to say it. Their documentation is fantastic, they’ve got plugins for all sorts of languages, and their interactive data interface (Firebase Forge) is a huge help. On top of that, their pricing plans are straightforward, and you get quite a bit for free. Screw you Azure.
- Firebase has recently been acquired by Google, which means even more good things in the future.
- AngularJS was incredibly fun and easy to get into. There are tons of good tutorials, even for complete newbies like me. W3Schools even has an Angular tutorial, and is a good go-to for complete beginners.
- Being able to hook up tools like Angular Chart to Firebase is really exciting and definitely shows you the power and what you can accomplish.
- AngularJS, and Single Page Applications in general, take a little while to really wrap your head around. While it was easy to get started and complete simple tasks, getting an idea of what the overall architecture should look like was a little frustrating, and took some time and patience. However, once everything clicked, it was incredibly fun.
- NoSQL databases are cool, but can also be very dangerous. You really have to understand what they are good at, and what they shouldn’t be used for. Trying to get relational data out of Firebase was a huge pain, and required an understanding of denormalization. I’m not the only one who has NoSQL horror stories to share.