Présentation de Riot.js au Human Talk de Grenoble.
Riot.js est une micro-librairie Javascript UI aux atouts prometteurs : des custom-tag au routing en passant par l'eventing.
6. Events
var myObs = riot.observable();
function Duck() {
// Make Duck instances observable
riot.observable(this);
}
7. Events
Envoyer un event :
myObs.trigger('myEvent', data);
Recevoir un event :
myObs.on('myEvent', function(data) {
// your code here
});
8. Events
super facile de communiquer entre custom-tags
ou entre services
vs AngularJS (parent / child, pub / sub, states via
routes, passing states via services)
10. Routes
// executed when the url is accessed programmatically
riot.route(function(part1, ..., partn) {
// add your logic here
});
// executed when the url is accessed directly
riot.route.exec(function(part1, ..., partn) {
// add your logic here
});
http://myapp/#users/123/profile
11. Goodies
● compilateur à la volée / precompilation du virtual dom
● ES6, Coffee, Transcript, Jade, Livescript, etc.
● CLI (avec watch)
● plug avec les outils à la « c.. », à la « mode » comme
Grunt, Gulp, Webpack, etc. ou sinon npm
● rendu server-side => architectures iso-morphiques /
universal js
● doc simple, courte et bien écrite (courbe d’
apprentissage => fingers in the nose !)