Open full view…

Riot.js — The 1kb client side MVP framework

Fri, 01 Nov 2013 11:40:30 GMT

Wed, 19 Feb 2014 11:36:40 GMT

When are you going to release riot.js 1.0? February is almost over.

Carl-Erik Kopseng
Sun, 16 Mar 2014 02:12:31 GMT

I used close to an hour before understanding every line of the (pretty dense) code, but once I did I was a bit underwhelmed (great as those few lines are). It seems like the "riot" here is more about keeping things minimal and sticking to MVP, than Riot.JS in itself, since the API is basically just adding $.route and $.render to jQuery (yeah, I know it is not a hard dependency). In that sense the most valuable contribution so far is actually the demo code for the admin interface, which I applaud for being very succinct and clear in execution. There are lots of bits and pieces missing from the documentation/docs on the site (when seen from the perspective of a MVP clueless noob) that clear up once you read the code for the demo. Especially the bits on how to actually implement multiple presenters that don't get it in the way. I think smaller bits and pieces of code that are thoroughly documented are what people need to get started. Thanks for your efforts; I have learned a lot after reading and testing your code for the last four hours :-)

Mon, 28 Apr 2014 20:54:42 GMT

Sorry, but I can't understand work of route in riot.js, can you describe it little bit more ? thank you.

Mon, 02 Jun 2014 13:14:54 GMT

Hi Please can you explain in more detail what testing framework you use. Ideally in the context of the demo app. Thanks

Tero Piirainen
Sun, 13 Jul 2014 07:36:01 GMT

@rudinandrey28: The idea on the router is to simply listen to the back button and make URL changes manually. Riot.js leaves a lot of things open in purpose. Curious: what would you expect a router to do? We have plans on [improving]( the router though. @purvezdesai: We use our own minimal [BDD]( "framework" for testing.

Fri, 19 Sep 2014 18:56:37 GMT

Tero, can you create/have a video tutorial building a simple app. Topic: Explaining the concepts of riot and mvp pattern.

Tero Piirainen
Mon, 22 Sep 2014 08:35:45 GMT

I'm working on Riot 2.0 and it will change how views are rendered making current stuff somewhat outdated. Stay tuned!

Jamie Hunter Warnock
Sat, 27 Sep 2014 14:58:24 GMT

Tero, some things come along and the AWESOME Riot.js and the MVP mindset have turned my world upside down, thank you for your clear, concise and minimial approach have totally inspired me!!! NO more bloated frameworks and lengthy APIs to learn, spent today writing some simple Model, Presenter constructors and up and running with the beautiful jQuery taking care of the DOM, keep up the fantastic work Tero and really looking forward to Riot 2.0

Sun, 28 Sep 2014 05:01:13 GMT

You are my new best friend! These paragraphs can be framed and hanged in the wall: "Current data-binding frameworks promote the use of spaghetti on the HTML layer. Suddenly the onclick attribute is back! (I’m looking at you, Angular). Programming books have told us to keep things separated and in the web this means the following (8): Keep JavaScript Out of CSS Keep CSS Out of JavaScript Keep JavaScript Out of HTML Keep HTML Out of JavaScript Riot takes a puristic approach and does not allow you to do mix any logic inside HTML views. This is also the reason why Riot templating is fast – the templating logic is so simple." I'm thinking in using this for [flow](

Jamie Hunter Warnock
Sun, 28 Sep 2014 15:38:51 GMT

@SebastianSastre +1 The philosophy behind Riot is so simple, it is brilliant, my new best friend too! I spent this last week following Riot's idiom and wow my model logic is so clear now and not entwined into Angular directives, scopes and 2-way binders! - I can just focus on my app! @Tero when can we expect Riot 2.0?, you say views will be rendered differently? - hopefully still pure and passive and no logic in there? @Tero Thank you!

Tue, 14 Oct 2014 17:26:05 GMT

Here's a TypeScript variety of Observable, and a simple example demonstrating type-safe registration of event-listeners and type-safe event dispatch.

Tero Piirainen
Fri, 17 Oct 2014 14:54:57 GMT

Cool! How widely typescript is used? Any notable open source projects?

Fri, 24 Oct 2014 14:33:50 GMT

Hi, I was reading again and I think there's a small problem with the sentence 'Note that other frameworks may call this layer a “view", but in MVP this is called the “presenter”.' Should "view" be "controller" instead?

Tero Piirainen
Thu, 22 Jan 2015 10:47:37 GMT

[Riot 2.0 is out!](/riotjs/) This is large rewrite brings custom tags for all browsers starting from IE8. Think React + Polymer, but squeezed into 2.5K. It's a full stack with virtual DOM, "reactive views", router and observable.

Sat, 24 Jan 2015 19:18:55 GMT

which library do you use for the virtual dom diffing?

Fri, 04 Sep 2015 02:11:18 GMT

"It’s frustrating when your application fails because of a bug on the framework." OH YOU CAN SAY THAT AGAIN BROTHA!

Carl-Erik Kopseng
Fri, 04 Sep 2015 06:04:01 GMT

Re : "notable open source projects", Angular 2 is entirely written in Typescript.

Sat, 30 Jul 2016 12:44:19 GMT

it seems like a lot of these statements are out of date now - " Model-View-Presenter (MVP) ... strict MVP pattern to keep things organized. " but is the MVP pattern strictly enforced? I see people describing riot as 'the M in MVP'. I agree that a model and controller can be programming with riot trivially with the observer module, but still. theoretical design != strict . Also 'separation of HTML & logic' seems totally out of place, as both are combined in the template files. I love the riot libraries. Did I miss something here?

Sun, 31 Jul 2016 03:16:39 GMT

I think in my previous comment i mistook the some elements - indeed the HTML is logic-less, and using the observer module to create MVP is a great intuitive way of interfacing with the view and model - however it does seem that we could also build MVC or anything else with the flexible riot components.

Carl-Erik Kopseng
Thu, 02 Feb 2017 12:38:39 GMT

> @Tero Piirainen > This is large rewrite ... Tero, I love linking to this article, but the pictures in the comparison are missing. Maybe you should consider uploading them to an external site to avoid breaking this post every time you move the documentation around?

last page