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.

Sector12Consulting Demo – Realtime updates on every open browser
Technologies Used
The Good
- 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.
The Bad
- 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.
-
There’s a ton of prerequisites. For the simple Azure app I created, I only had to use Visual Studio and create an Azure account – that was it! Creating my consulting demo required knowledge of all the technologies listed above. In addition, there’s a ton of options to consider when entering the world of javascript single page applications. Flexibility is great, but for a beginner, it can be a little difficult just trying to figure out where to start:
- Grunt vs Gulp
- Angular vs Backbone vs Ember
- Maybe you’d like a node.js backend rather than firebase? Take your pick (good luck deciding).
Final Thoughts
Overall, my first experience with Angular and single page applications was incredibly fun. It definitely took some time and patience to get my head around all of the new concepts, but with the help of great products like Firebase, the learning process was pretty smooth. It’s amazing how far the world of javascript has come in the four years I was away. It’s incredibly exciting, and I can’t wait to get back into it full time. Tools like Angular and Firebase are why I love this business – they really make it easy to innovate, and open up a world of possibilities.