Riot, un nouveau framework js pour IHM
AprĂšs Backbone, Ember, Angular, des frameworks Ă tout faire (dits MV*), enfin presque car Backone est plus une librairie quâun framework, sont apparus des frameworks se concentrant sur une seule chose : la âvueâ (ou view) comme React, Polymer, Vue.js etc⊠Certains dâentre eux sâappuient sur le concept de Web component et se trimballent une tripotĂ©e de polyfills pour arriver Ă fonctionner sous un maximum de navigateurs (mais dĂšs fois il faudra faire votre deuil de certaines version dâIE). Les concepts sont gĂ©niaux, quelquefois lâoutillage un peu lourd et il vaut mieux avoir un navigateur de derniĂšre gĂ©nĂ©ration.
Hier soir, je suis tombĂ© complĂštement par hasard (en lisant Prismatic) sur Riot, qui est dâune simplicitĂ© dĂ©concertante et extrĂȘmement lĂ©ger: 5.7kb.
Riot est un framework développé par Muut une solution de forumet de commentaires pour sites web.
Mais laissez moi vous prĂ©senter (rapidement pour aujourdâhui) la bĂȘte (la bĂ©bĂȘte).
Les âtagsâ
Le concept de base de Riot, câest les tags. Un tag riot, cela ressemble Ă ceci:
et cela sâutilise comme ceci:
Donc, on définit un tag <hello>
, on le âraccrocheâ au DOM avec riot.mount()
. Cela ressemble beaucoup Ă React dans lâesprit.
Si vous ouvrez votre page dans un navigateur, vous obtiendrez un âjoliâ âhello from Bob Moraneâ.
Il est aussi possible de passer des données au tag au moment du mount
. Par exemple définissons un nouveau tag <hi>
:
Et nous lâutiliserons comme ceci:
Et on obtiendra une liste (avec un titre) dans notre page html.
Remarque importante: dans la définition du tag, nous passons opts
en paramĂštre, vous pouvez appeler ce paramĂštre autrement, mais nous allons voir plus loin quâil est mieux de garder opts
qui est en fait un mot clé pour Riot.
Des tags sans string
Si vous devez bosser avec des intĂ©grateurs, ou que vous avez des tags complexes, mettre votre code html dans une string, ça peut vite ĂȘtre fastidieux. Muut a pensez Ă vous. Il est possible de dĂ©finir nos tags dans des fichiers .tag
dans lesquels on Ă©crit directement notre code html.
Riot propose un utilitaire qui âtranspileâ les fichiers .tag
en fichiers .js
.
Pour lâinstaller, tapez la commande suivante:
npm install riot -g
Remarque: nâoubliez pas le sudo
pour ceux qui sont sous osx.
Ensuite tapez la commande suivante:
riot -w js/tags.src js/tags
A partir de maintenant Riot va surveiller votre répertoire js/tags.src
et Ă chaque changement va âtranspilerâ vos fichiers .tag
en fichiers .js
dans le répertoire js/tags
. (AprÚs vous appelez vos répertoires comme vous le souhaitez)
Nos tags vont devenir ceci:
Dans un fichier hello.tag
:
Dans un fichier hi.tag
:
Remarque importante: câest ici que lâon voit lâimportance dâutiliser le mot-clĂ© opts
et pas autre chose, car sinon Riot ne fera pas le lien avec vos données, car il va générer un corp de fonction comme ceci:
Conclusion
VoilĂ , câest tout pour aujourdâhui. Je vais tenter de creuser un peu plus avec des exemples plus complexes, mais je trouve lâutilisation de Riot particuliĂšrement simple. Il va bien sĂ»r plus loin quâun simple affichage de donnĂ©es, puisque vous avez entre autres choses:
- Des events handlers
- Les Observables
- Un routeur
- etc. âŠ
Next steps: les donnĂ©es, backbone, âŠ
Tweet