DEV Community

Cover image for 🇫🇷 Utiliser RiotJS avec BeerCSS Material Design 3
Steeve
Steeve

Posted on

🇫🇷 Utiliser RiotJS avec BeerCSS Material Design 3

Créer une application RiotJS avec un rendu Material Design est facile avec BeerCSS, avant de commencer, assurez-vous d'avoir créé la base d'un projet Riot fonctionnant avec Vite.

Ceci est une série d'articles sur RiotJS, pour créer des composants et apprendre les meilleures pratiques pour déployer une application en production.

Nous utilisons BeerCSS parce que projet suit les spécifications de Material Design 3 avec une taille de code faible (10 fois plus petite que d'autres projets similaires de Material Design), et il est prêt à l'emploi avec n'importe quel framework Javascript !

Tout d'abord, installez le framework BeerCSS via NPM :

npm install --save beercss material-dynamic-colors
Enter fullscreen mode Exit fullscreen mode

Le package material-dynamic-colors est utilisé pour changer le thème de l'application. Si vous ne le voulez pas, vous pouvez installer BeerCss uniquement.

Importez les deux packages dans le fichier ./client/index.html avec le code suivant :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>RiotJS + BeerCSS</title>
  </head>
  <body>
    <div id="root"></div>
    <script type="module">
      /** Load riot.js **/
      import * as riot from 'riot'
      import App from './index.riot'

      /** Load BeerCSS **/
      import "beercss";
      import "material-dynamic-colors";

      const mountApp = riot.component(App)
      mountApp(document.getElementById('root'))
    </script>
  </body>
</html>
Enter fullscreen mode Exit fullscreen mode

Une deuxième méthode pour récupérer le CSS consiste à utiliser un CDN (Content Delivery Network): même c'est performant, elle peut augmenter le temps de chargement et le nombre de requêtes HTTP, et l'application ne pourra pas fonctionner hors ligne. Héberger les fichiers sources localement avec NPM est la meilleure solution pour avoir peu (ou pas) de temps de chargement, et l'application fonctionnera même hors ligne.

Maintenant, un élément BeerCSS peut être chargé dans l'application Riot. Vous pouvez parcourir et copier n'importe quel élément HTML sur la page suivante : https://www.beercss.com/

Essayons d'afficher un bouton: vous pouvez trouver le code pour chaque élément en cliquant sur l'icône <> à droite de chaque titre. (Marque rouge 1 sur la capture d'écran)

Documentation de BeerCSS, capture d'écran qui montre comment copier du code HTML

Ensuite, vous pouvez copier le HTML du bouton (Marque rouge 2 sur la capture d'écran) dans le fichier ./client/index.riot, comme suit:

<index-riot>
    <div>
        <h4>Riot + BeerCSS</h4>
        <button>
            <i>home</i>
            <span>Button</span>
        </button>
    </div>
</index-riot>
Enter fullscreen mode Exit fullscreen mode

Démarrons le serveur Vite pour obtenir un aperçu de la page dans votre navigateur web, exécutez la commande :

npm run dev
Enter fullscreen mode Exit fullscreen mode

Cliquez sur le lien fournit par Vite, et voici le résultat dans le navigateur:
Preview de l'application Riot avec BeerCSS, il y a un bouton qui s'affiche sur la page

Maintenant, nous pouvons utiliser n'importe quel élément BeerCSS. Par exemple on peut insérer un élément "chip". Voici le HTML de ./client/index.riot :

<index-riot>
    <div>
        <h4>Riot + BeerCSS</h4>
        <button>
            <i>home</i>
            <span>Button</span>
        </button>
        <a class="chip">
            <i>done</i>
            <span>Filter</span>
        </a>
    </div>
</index-riot>
Enter fullscreen mode Exit fullscreen mode

Le résultat:

Preview d'un bouton et d'un Chip en utilisant RiotJS et BeerCSS

Voilà 🎉 Nous avons créé un projet d'application de base Riot en utilisant des éléments Material Design avec BeerCSS. Les prochains articles vont détailler comment faire des components: Input, Select, Table et bien plus!

N'hésitez pas à commenter si vous avez des questions ou besoin d'aide concernant RiotJS.

Excellente journée ! Santé 🍻

Top comments (1)

Collapse
 
youngfra profile image
Fraser Young

Cela semble prometteur ! Avez-vous des conseils sur la gestion des questions de performance lors de l'utilisation de BeerCSS avec Vite ?