Create a Ractive.js application (0 of 6)

I'm a big fan of javascript. I like it in the front-end and I love it in the back-end (thanks Ryan Dhal).
Also I enjoy playing with new libraries and frameworks that pops up every day. It seems nowadays everybody creates a new one and, when the time comes for you to start a new project and select the right one, oh man! it's a tough time.

With the beggining of this year, I was in the position of starting a new big project and I spent some time deciding which libraries we would use in the front-end (no doubts on our back-end: NodeJS FTW).
It was then when I discovered Ractive.JS.

The more time I spent reading the docs and playing with their interactive demos, the more surprised I was I didn't hear anything about this library before.
IMHO it's a very easy to learn and powerful tool for dealing with DOM automatic bindings, event handling, pub/sub stuff and so on.

I began working in a prototype of our project using this tool and I was also surprised about the speed yur can get in terms of development.
The way this library solves some common problems is very natural for me, it fits my mindset. And every time I needed to learn how to implement something, it was pretty straightforward to find out.

We finally didn't use Ractive.JS in our project as we found some issues regarding server-side html rendering we couldn't solve (more info) and I can tell you it was a hard decision to drop it.

Anyway, I'm a big fan of this library and I'm eager to use it in my side projects (couldn't begin any new one this year so far).

On the other hand, I spend the little spare time I have these days following the great tutorials you can find in egghead.io. Specially, I enjoyed the ReactJS ones.
This library has a lot of popularity nowadays and I wanted to know why.
From my point of view, ReacjJS is also a great library and if you combine it with the Flux architecture, it's also a powerful tool for you to build complex systems.
But, the more I know about ReactJS the more I wonder why Ractive.JS is not as popular. Of course the latter (built by the bright people at The Guardian) does not have Facebook behind, but from the developer perspective, I think it's at as good as the other one.

So, when I finished the great Tyler McGinnis tutorial on how to build an app with ReactJS, I was convinced to do the same with Ractive.JS.

Tutorial introduction

The goal of this tutorial is to introuduce you to the world of Ractive.JS. Also, as I've been reading a lot about ES2015 (formerly ES6), I will be using the next version of Javascript thanks to another brilliant tool: the Babel transpiler.
The last tools I will be using is webpack to build all of our front-end assets and npm for dependency management.
I will also be using a couple of extra libraries apart from React.JS I will explain when the time comes.

You can find the final code for this tutorial at GitHub.

Summary

These are the links for the different steps of the tutorial:
1. Setting up your environmet
2. Creating the barebones
3. Routing
4. Loading user info (GitHub)
5. Managing user's notes (Firebase)
6. The final touch