
The 1kb client-side MVP library
Meet the most minimal MVC approach
Riot is a standalone library that weighs 0.88kb when gzipped (1.6kb minified) and has only 3 public methods
Despite the tiny size all the building blocks are there: a template engine, router, event library and a strict MVP pattern to keep things organized. On a finished application the views are automatically updated when the underlying model changes.
You start small and add stuff as you need it – not the other way around. Minimal approach helps everyone to understand the pieces that make your application. You’ll have more control because there is no redundant code on your way.
NOTE Minified size is good for comparing the amount of code, gzipped size is good for comparing the download size.
Vanilla JavaScript
Riot applications are written with vanilla JavaScript. You use classic design patterns instead of framework specific idioms. Frameworks come and go but universal programming skills are forever.
Modular code
The purpose of Riot is to build modular applications that are easy to manage and extend by multiple developers. Your application will be “loosely coupled”. Riot.js is all about modularity and the documentation centers solely on this topic.
API centric
The frameworkless nature of Riot forces you to focus on the application API instead of building things around a certain framework. Your business logic is expressed as plain old JavaScript objects (POJO) that will run on server too.
Fast
Riot.js comes with an extremely fast JavaScript templating engine. It’s roughly 5 times faster than Resig’s “micro templating” or Underscore templating. Faster templating makes for a faster app. Compare.
This is one of the best piece of code I have seen in #js world. @notarianni
Falled in love with #riotjs. Small, fast and the code, oh, so clean. This is how every framework should be! @nongeekboy
The JavaScript manifesto I wish I could have written. @trentvb
Apropos to a my MV* complaints, riot.js actually awesome. This is almost perfect @robertmaxrees
Love the attention to design principles and simplicity. @sbellware
This is how a javascript frameworks should work - Everything else is bloat and abstraction from necessity. @devayes
An MVC library that does the same as Backbone.js etc in 1kb? Crumbs. @onion2k
This is it! You don’t really need yet another JS framework, people. All You need is knowledge how to organize your code. @pdorofiejczyk
Riot.js solves many of my challenges with the MVVM pattern. @davidcrow
If like me you think js frameworks over complicate things, then take a look at Riot.js @livingos
Riot.js is so tiny, I learned most of it while waiting for my GF trying on clothes. @kkovacs

Demo application
Our "administration panel" demo goes beyond a Todo MVC. The well documented code shows the basics of modular programming and API oriented design. Use it freely as a starting point for your own system.

Todo MVC
A Riot based Todo- application that is split into models, presenters, routers and unit tests. The tests are built with Riot's framework itself. Here is the source code. Thanks to 3den!

