Tutoriel vidéo NodeJS : Node Webkit

A propos

Dans ce tutoriel je vous propose de découvrir Node Webkit. Node Webkit est un moteur d'éxécution basé sur Chromium et NodeJS. Il va vous permettre de créer des applications natives (Mac, PC et Linux) en HTML, Javascript et CSS tout en bénéficiant de la puissance des modules NodeJS.

C'est une technologie supportée par Intel et qui a déjà fait ses preuves avec des application tel que Prepros et Brackets.

Commment ça marche ?

La première chose à faire est de télécharger la librairie (disponible directement depuis github). A l'intérieur du dossier compressé vous trouverez un éxécutable (nw ou node-webkit) qui vous permettra d'éxécuter votre application.

Package.json

Comme avec toute application NodeJS on commence par créer un fichier package.json. Il nous permettra de garder en mémoire les modules node que l'on va utiliser mais aussi les caractéristique de notre application

{
    name : "Ma Super App",
    main : "index.html",
    window: {
        width  : 250,
        height : 250,
        toolbar: true,
        frame  : true
    }
}

On remarquera 2 choses importante :

  • l'attribut main permet d'indiquer quel fichier HTML servira de base pour notre application.
  • l'attribut window permet de gérer la configuration de notre fenêtre.

Pour l'essaie vous pouvez créer un fichier index.html générique. Une fois votre fichier prêt vous pouvez lancer nw et vous devriez voir votre fenêtre d'application.

Mais c'est tout pourri c'est une page Web...

Alors si vous avez suivi jusqu'à maintenant vous devez vous dire que c'est pas terrible comme techno et que l'on a juste une fenêtre Web tout bête. C'est là que ça devient Supercalifragilisticexpialidocious !

Comme je vous l'ai dit au début on va pouvoir utiliser les modules NodeJS (et même en installer de supplémentaires). Imagineons par exemple que notre application doit accéder au presse-papiers (comme un gestionnaire de snippet).

On commence par installer notre module depuis let node package manager

npm install node-clipboard --save

Ensuite dans notre application html

<html>
    <head> ... </head>
    <body>
        <p>Je vais copier "lol" dans le presse-papiers !</p>

        <script>
            var clipboard = require('node-clipboard'); // Comme du NodeJS
            clipboard.write('lol');
        </script>       
</html>

Et là vous comprenez la puissance de Node Webkit. Vous avez accès à l'ensemble des capacité de Node et autant dire qu'avec les 60 000 paquets disponibles, il y a de quoi faire...

Vers l'infini et au delà

Node Webkit permet vraiment d'élargir notre horizon et de sortir nos petits langages web de leur enclôt. Maintenant il ne vous reste plus qu'à trouver des bonnes idées d'application à développer.