tastejs/todomvc — pull request #798 by 3den (2014-01-26 06:35:01+00:00)
Title: Riot TodoMVC

This PR includes the TodoMVC built on top of Riot.js framework and a test suite built with Riot's BDD framework. Bellow there is the answers of some commons questions given by Tero (the creator of Riot).

Why did the authors create this framework?
Riot was born while developing the client for Moot discussion system. Since it's an embedded solution we wanted it to be as small as possible. Including a framework inside the client was out of the question.

Why should a user choose this framework over something popular like Backbone or Angular?
While developing the client it became fairly apparent that it's possible to make a maintainable application just by separating the model code from the view and let them communicate with events. This is what modular applications are all about, right? Loosely coupled units. A good event system, simple way to deal with the location.hash and Resig templating was completely enough. Riot is for people who value minimalism and complete control.

How does it differentiate itself from the rest?
There is virtually zero framework specific "boilerplate" code. Plain old JavaScript and jQuery is all you need.

What problems does it solve?
Small learning curve (only 3 API methods), small(er) file sizes and less framework specific idioms.

Does it bring any new ways of doing things?
Not really. It emphasizes the importance of events when software components talk to each other. Modules are prime citizens and things that violate modularity (such as two-way data-binding) are concidered harmful.

Any innovation into the JS MVC framework space?
I personally think this can change how client side applications are made. According to initial feedback people are really happy to "go back" to jQuery and pure javaScript. The documentation is still lacking but that's going to change.

Is there any production apps that is currently using it?
Moot

Could you let us know what your intended level of maintenance for this project is?
There are a lot of commits since day one. We intend to keep it that way. I'm taking Riot very seriously.

Riot approach is quite different and the introduction was a bit spiky. It's easy to think Riot just a thin wrapper upon jQuery because there is so little code involved. Riot is a different way to build applications. Not in historical sense but in client-side framework sense. Riot 1.0 will focus mostly on documentation and code samples.