Utilisation de node-webkit pour créer une application de bureau

Dans cet article, je gratte la surface de node-webkit, en déployant et en construisant un package pour une application Web, sur Mac et Windows.

Attention: cet article est ancien et peut ne pas refléter l'état actuel de la technique

Tout d'abord, un avertissement: je ne vais pas couvrir la courseNode.jscode, mais simplement l'empaquetage d'une application Web à exécuter sur Mac et Windows. Linux fait également partie du jeu, mais je ne le couvre pas.

node-webkitest, c'est ainsi que ses créateurs l'appellent, un moteur d'exécution Web.

Il est basé sur Chromium (malgré son nom) et node.js. Il nous permet d'appeler le code et les modules node.js directement depuis le DOM, et ouvre de nouvelles possibilités pour les applications natives écrites à l'aide des technologies Web.

Dans cet article, je ne fais qu'effleurer la surface, en déployant et en construisant un package pour une application Web, sur Mac et Windows, tout comme c'est une application native.

Lancez l'appli

Tout d'abord, introduisons le fichier index.html

<html>
  <body>
    <p>test</p>
  </body>
</html>

We also need a package.json file

{
  "name": "My Web App",
  "main": "index.html"
}

That’s it from the code-side! Really.

Now to run the app, download the runtime from the site https://github.com/rogerwang/node-webkit for your specific platform, and then you can call

1)
$ alias nw="open -n -a node-webkit '/PATH_TO_APP_DIRECTORY/'
$ ./nw

cd /PATH_TO_APP_DIRECTORY/ zip -r app.nw ./

You have now created a package of the app. You can double-click it on Mac, or drag over the node-webkit application on Windows, and it will run.

There are a lot of options you can now add to the package.json file https://github.com/rogerwang/node-webkit/wiki/Manifest-format, but that’s a start. You can for example hide the top bar with address and debugger, set the menu items, and decide pretty much all you need.

Now, let’s dig into packaging and distributing an app.

Package the app on the Mac

Unzip the node-webkit.app package downloaded from the node-webkit site.

Right-click, “Show package content”, go in Contents/Resources and copy there the app.nw file built with

$ zip -r app.nw ./

or alternatively, copy the app directory there and name it “app.nw”.

That’s it! You can now change the default icon and properties in the Contents/Info.plist file.

Package the app on Windows

Download the latest Windows package.

Copy the .nw file built using Zip in the package directory, alongside nw.exe, and call it app.nw

Run the command

copy /b nw.exe+app.nw app.exe

You can now remove the nw.exe & app.nw files, zip the directory and distribute the package. Your users will need to download the zip file, uncompress and then run the app.exe file contained.


More devtools tutorials: